Войти

Показать полную графическую версию : Новичку для выполнения скриптов PowerShell


Masutin
27-11-2015, 15:43
По сравнению с CMD/BAT, запуск скриптов PowerShell требует знаний. Тексты скриптов есть, а выполнить не удалось. Источника с краткими указаниями именно по запуску не нашёл. Пожалуйста, поясните:
1) Важна ли версия PowerShell для успешного выполнения любого скрипта?
2) Для запуска в виде файлов, текст достаточно сохранить в файле PS1 без изменений?
3) Запускать лучше PS1 или CMD/BAT со ссылкой на PS1?
4) Как задать политику выполнения? Одноразово - Set-ExecutionPolicy -executionPolicy Unrestricted? Как разрешить выполнение скриптов постоянно?

greg zakharov
27-11-2015, 16:12
1) Get-Help about_requires
2) Смотря что подразумевается под изменениями. И потом, Get-Help about_scripts
3) Смотря для чего
4) Прежде Get-Help Set-ExecutionPolicy, наиболее оптимальный вариант Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserЕсли запускать CMD\BAT как сценарий PS, можно оставить политики без изменений.

Foreigner
27-11-2015, 16:12
Masutin,
2. Скрипты запускаются только из консоли, так как ассоциированы с блокнотом, но можно сделать ассоциацию с powershell (ftype и assoc в помощь).

Masutin
29-11-2015, 07:47
Спасибо за ответы! Похоже, скрипты не выполняются из-за отсутствия в PowerShell 1.0 для XP команд Get-Ciminstance, Get-WinUserLanguageList. Нет файлов помощи about_requires, about_scripts. На microsoft.com для XP только PowerShell 1.0.

greg zakharov
29-11-2015, 10:04
На microsoft.com для XP только PowerShell 1.0.Откровенная ложь, ибо ссылку на загрузку PowerShell 2 (https://download.microsoft.com/download/7/5/1/751964CF-7E8C-4E67-982B-D009E84207C0/WindowsXP-KB968930-x86-RUS.exe) никто не удалял. Правда перед установкой лучше натянуть все доступные для ХР дотнеты. На счет перечисленных Вами командлетов, если не изменяет память, они появились начиная с PowerShell > v2

Kazun
29-11-2015, 11:39
На Windows Xp можно поставить PowerShell V2:

Get-Ciminstance - доступен с версии PowerShell v3 и выше
Get-WinUserLanguageList - доступен начиная с ОС Windows 8 и выше

Masutin
25-06-2016, 22:12
Установлена v2! Папка v1.0 ввела в заблуждение.
A как сделать, чтобы после запуска файла PS1 (или BAT?) окно не закрывалось?

greg zakharov
26-06-2016, 10:10
В конце кода ps1, например, поместить [Console]::ReadKey()




© OSzone.net 2001-2012