UncleFather » 07 мар 2014 13:02, Пт
В целях безопасности PowerShell скрипты могут выполняться только интерактивно, то есть сначала надо запустить оболочку PowerShell и уже в ней указать путь к скрипту.
Кроме того, можно указывать следующие ключи запуска:
-
-Command - выполняет указанные команды и любые другие параметры. Этот параметр тоже можно использовать для запуска скрипта, например:
Код: Выделить всё
C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe -Command ″& {C:\Scripts\start.ps1}″
Так же с помощью этого ключа можно передавать в скрипт параметры:
Код: Выделить всё
C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe -Command ″& {C:\Scripts\start.ps1 -a 1 -b 3}″;
-
-ExecutionPolicy - задает политику выполнения скриптов для текущего сеанса, может принимать значения Unrestricted, RemoteSigned, AllSigned и Restricted. Дополнительно об этом читаем здесь. Заданная политика будет действовать только в текущем сеансе и имеет приоритет над любыми ранее созданными политиками
-
-NonInteractive - отключить вывод интерактивных запросов к пользователю
-
-WindowStyle Hidden - запуск окна PowerShell в скрытом режиме, незаметно для пользователя
-
-NoProfile - предотвращает загрузку профиля, что может несколько ускорить выполнение скрипта
-
-NoExit - оставить оболочку открытой после отработки скрипта. Это может понадобиться при проверке и отладке скрипта
Например, запустим незаметно для пользователя скрипт C:\Scripts\start.ps1:
Код: Выделить всё
C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe -WindowStyle Hidden C:\Scripts\start.ps1
В целях безопасности PowerShell скрипты могут выполняться только интерактивно, то есть сначала надо запустить оболочку PowerShell и уже в ней указать путь к скрипту.
Кроме того, можно указывать следующие ключи запуска:
[list][*] [b][i]-Command[/i][/b] - выполняет указанные команды и любые другие параметры. Этот параметр тоже можно использовать для запуска скрипта, например: [code]C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe -Command ″& {C:\Scripts\start.ps1}″[/code]
Так же с помощью этого ключа можно передавать в скрипт параметры: [code]C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe -Command ″& {C:\Scripts\start.ps1 -a 1 -b 3}″;[/code]
[*] [b][i]-ExecutionPolicy[/i][/b] - задает политику выполнения скриптов для текущего сеанса, может принимать значения [b][i]Unrestricted[/i][/b], [b][i]RemoteSigned[/i][/b], [b][i]AllSigned[/i][/b] и [b][i]Restricted[/i][/b]. Дополнительно об этом читаем [url=http://manaeff.ru/forum/viewtopic.php?p=1435#p1435]здесь[/url]. Заданная политика будет действовать только в текущем сеансе и имеет приоритет над любыми ранее созданными политиками
[*] [b][i]-NonInteractive[/i][/b] - отключить вывод интерактивных запросов к пользователю
[*] [b][i]-WindowStyle Hidden[/i][/b] - запуск окна PowerShell в скрытом режиме, незаметно для пользователя
[*] [b][i]-NoProfile[/i][/b] - предотвращает загрузку профиля, что может несколько ускорить выполнение скрипта
[*] [b][i]-NoExit[/i][/b] - оставить оболочку открытой после отработки скрипта. Это может понадобиться при проверке и отладке скрипта[/list]
Например, запустим незаметно для пользователя скрипт [b][i]C:\Scripts\start.ps1[/i][/b]:
[code]C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe -WindowStyle Hidden C:\Scripts\start.ps1[/code]