|
|||||||
Как писать и как запускать скрипты PowerShell
Время создания: 18.06.2015 01:18
Автор: Xintrea
Раздел: Компьютер - Windows - Windows Power Shell
Запись: xintrea/mytetra_syncro/master/base/1434579537cu864bs6p8/text.html на raw.github.com
|
|||||||
|
|||||||
1. Написание скрипта Скрипт PowerShell (не важно какой версии) - это текстовый файл с расширением *.ps1. Вот пример простого Power Shell срипта (файл systemInfo.ps1): # Retrieve WMI object for the operating system Get-WmiObject Win32_OperatingSystem Этот файл можно создавать и редактировать, например, в FAR Manager. Обратите внимание, что FAR Manager хоть и может работать в консоли Power Shell, но выполняет из-под себя скрипты в окружении обычной Windows-консоли cmd. То есть, FAR Manager можно использовать только для создания и редактирования PowerShell скриптов, но не для запуска. Но прежде чем разочаровываться, прочитайте пункт 3. 2. Запуск срипта Скрипт Power Shell нужно выполнять из консоли Power Shell, а не из обычной консоли Windows. В консоли Power Shell необходимо перейти в каталог, где лежит скрипт (командами cd), и затем запустить сам скрипт, обязательно прописав перед ним символы ".\". Например, имеем путь к файлу скрипта d:\work\systemInfo.ps1. Тогда команды запуска будут выглядеть так: d: cd \ cd work .\systemInfo.ps1 или так (просто указывается полный путь к скрипту): d:\work\systemInfo.ps1 Скорее всего, при запуске скрипта появится следующая ошибка: Не удается загрузить файл D:\work\systemInfo.ps1, так как выполнение скриптов запрещено для данной системы. Введите "get-help about_signing" для получения дополнительных сведений. строка:1 знак: 18 + CategoryInfo : NotSpecified: (:) [], PSSecurityException + FullyQualifiedErrorId : RuntimeException Ошибка появляется из-за того, что по-умолчанию в Power Shell включена максимальная политика безопасности, которая позволяет выполнять команды PowerShell в командной строке, но не позволяет в той же командной строке выполнить скрипт с командами PowerShell. Чтобы резрешить выполнение PowerShell скриптов, нужно создать *.bat файл, например enableScript.bat со следующим содержимым: powershell -Command Set-ExecutionPolicy RemoteSigned Этот *.bat файл можно выполнить в любой консоли: хоть в PowerShell, хоть в обычной cmd. После выполнения этого файла, PowerShell-скрипты станут запускаться в консоли PowerShell. 3. Запуск PowerShell-скрипта из обычной Windows-консоли cmd Скрипт PowerShell можно выполнить и из обычной консоли Windows. Для этого можно воспользоваться командой: Powershell -File ./systemInfo.ps1 Таким образом можно выполнять скрипты прямо из FAR Manager, и они будут работать. Но тут есть небольшая тонкость. Параметр -File срабатывает только на локальных путях, даже если путь указан относительный "./". То есть, если *.ps1 - файл лежит на локальном диске C: или D:, то такой вызов будет работать. Но если попробовать выполнить скрипт, расположенный на доменном ресурсе, то скрипт не будет найден. Возможно, это исправят в следующих версиях PowerShell. |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|