Хотя эта серия не структурирована вокруг экзамена, изучение PowerShell является одной из самых важных вещей, которые вы можете выполнять в качестве сетевого администратора, поэтому, если есть одна вещь, которую вы хотите научиться, чтобы помочь вашей ИТ-карьере, вот и все. Кроме того, это очень весело.
Вступление
PowerShell - это самый мощный инструмент автоматизации, который может предложить Microsoft, и его оболочка и язык сценариев.
Обратите внимание, что эта серия основана на PowerShell 3, которая поставляется с Windows 8 и Server 2012. Если вы используете Windows 7, загрузите обновление PowerShell 3 перед продолжением.
Знакомьтесь с консолью и ISE
Существует два способа взаимодействия с PowerShell из коробки, Консоль и Интегрированная среда сценариев - также известная как ISE. ISE значительно улучшилась от отвратительной версии, поставляемой с PowerShell 2, и ее можно открыть, нажав комбинацию клавиш Win + R, чтобы открыть окно запуска, затем набрав powershell_ise и нажав enter.
Использование справочной системы
В прошлых версиях PowerShell файлы справки были включены при установке Windows. Это было хорошим решением по большей части, но оставило нам значительную проблему. Когда команде помощи PowerShell пришлось перестать работать с файлами справки, разработчики PowerShell все еще были заняты кодированием и вносили изменения. Это означало, что при отправке PowerShell файлы справки были неверными, поскольку они не содержали новых изменений, внесенных в код. Чтобы решить эту проблему, PowerShell 3 не содержит файлов справки и включает обновляемую справочную систему. Это означает, что прежде чем делать что-либо, вы захотите загрузить последние файлы справки. Вы можете это сделать, открыв консоль PowerShell и запустив ее:
Update-Help
Get-Help –Name Update-Help
Чтобы ответить на второй вопрос, существует определенный синтаксис, помогающий файлам, и вот он:
- Квадратные скобки вокруг имени параметра и его типа означают, что это необязательный параметр, и команда будет работать без штрафа.
- Квадратные скобки вокруг имени параметров означают, что параметры являются позиционными параметрами.
- Вещь справа от параметра в квадратных скобках указывает вам тип данных, ожидаемый параметром.
Хотя вы должны научиться читать синтаксис файла справки, если вы когда-либо не уверены в том, что какой-то конкретный параметр просто добавьте -Full до конца вашей справки get help и прокрутите вниз до раздела параметров, где он расскажет вам немного больше о каждом параметр.
Get-Help –Name Update-Help –Full
Get-Help –Name *service*
Безопасность
Это не было бы правильным введением без упоминания безопасности. Самое большое беспокойство для команды PowerShell заключается в том, что PowerShell становится последней и самой большой точкой атаки для сценаристов. Они поставили несколько мер безопасности, чтобы убедиться, что этого не происходит, поэтому давайте посмотрим на них.
Самая основная форма защиты исходит из того факта, что расширение файла PS1 (расширение, используемое для обозначения скрипта PowerShell) не зарегистрировано на хосте PowerShell, его фактически зарегистрировали в Блокноте. Это означает, что если вы дважды щелкните файл, он будет открыт с помощью блокнота вместо запуска.
Во-вторых, вы не можете запускать скрипты из оболочки, просто набрав имя скрипта, вы должны указать полный путь к скрипту. Поэтому, если вы хотите запустить скрипт на своем диске C, вам нужно будет ввести:
C:
unme.ps1
Или, если вы уже находитесь в корневом каталоге диска C, вы можете использовать следующее:
unme.ps1
Наконец, PowerShell имеет что-то, называемое Политики выполнения, которое останавливает вас от запуска какого-либо старого сценария. Фактически, по умолчанию вы не можете запускать какие-либо скрипты и вам нужно изменить свою политику выполнения, если вы хотите, чтобы их запускали. Есть 4 примечательных политики выполнения:
- ограниченный: Это настройка по умолчанию в PowerShell. Этот параметр означает, что ни один скрипт не может работать независимо от его подписи. Единственное, что можно запустить в PowerShell с этим параметром, это отдельная команда.
- AllSigned: Этот параметр позволяет сценариям запускаться в PowerShell. Сценарий должен иметь связанную цифровую подпись от доверенного издателя. Перед запуском скриптов из доверенных издателей появится запрос.
- RemoteSigned: Этот параметр позволяет запускать скрипты, но требует, чтобы файлы сценария и конфигурации, загружаемые из Интернета, имели ассоциированную цифровую подпись от доверенного издателя. Скрипты, запускаемые с локального компьютера, не нужно подписывать. Перед запуском скрипта нет приглашений.
- неограниченный: Это позволяет запускать скрипты без знака, включая все сценарии и файлы конфигурации, загруженные из Интернета. Сюда будут входить файлы из Outlook и Messenger. Риск здесь заключается в выполнении скриптов без какой-либо подписи или безопасности. Мы возобновили, чтобы вы никогда не находили эту настройку.
Чтобы узнать, для чего установлена текущая политика выполнения, откройте консоль PowerShell и введите:
Get-ExecutionPolicy
Примечание. Это нужно сделать с помощью повышенной консоли PowerShell.
Set-ExecutionPolicy RemoteSigned
Отказ от ответственности. Правильный термин для команды PowerShell - это командлет, и с этого момента мы будем использовать эту правильную терминологию. Было просто более удобно называть их командами для этого введения.
Если у вас есть какие-либо вопросы, вы можете написать мне @taybgibb или просто оставить комментарий.