Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...
OSzone.net Microsoft PowerShell Windows PowerShell: PowerShell.exe RSS

Windows PowerShell: PowerShell.exe

Текущий рейтинг: 0 (проголосовало 0)
 Посетителей: 2636 | Просмотров: 3179 (сегодня 0)  Шрифт: - +

В большинстве случаев вы используете для открытия Windows PowerShell соответствующий значок в меню «Пуск». Однако иногда оболочку нужно открывать из программы. Обычно это требуется при запуске сценария по расписанию или при выполнении сценария в составе внешнего командного файла.

В этих и многих других ситуациях ключом к выполнению задачи является исполняемый файл PowerShell.exe. Он находится в установочной папке Windows PowerShell.

PowerShell.exe запускает новый сеанс оболочки, но этим его возможности не ограничиваются. У команды есть масса параметров командной строки, которые указывают ей, как себя вести. Чтобы получить полный список параметров, а также узнать их назначение, в командной строке выполните команду PowerShell -?.

Выполнение команды

Параметр –command принимает одну команду Windows PowerShell вместе с ее параметрами. Если в строке команды есть пробелы или параметры, ее надо заключить в кавычки. При необходимости можно даже включить целый конвейер командлетов.

Можно также задействовать параметр –file. Он передает путь и имя файла .PS1. После этого Windows PowerShell выполнит содержимое файла. Так намного проще выполнить сложную последовательность команд, чем пытаться втиснуть их в параметр –command. Имейте в виду, что политика выполнения оболочки влияет на выполнение сценариев, что подводит нас к следующей теме.

Политика выполнения

Параметр –executionpolicyparameters принимает один из вариантов политики выполнения Windows PowerShell: Unrestricted, AllSigned, RemoteSigned и Restricted. Заданная политика будет действовать только в текущем сеансе и возьмет верх над любыми политиками, ранее заданными локально средствами Set-ExecutionPolicy или объектов групповых политик (GPO).

Секундочку, а разве это не пробел в безопасности? Разве GPO не запрещено переопределять? Нет и еще раз нет. Политика выполнения — это вам не брандмауэр, и она не заменяет собой ПО защиты от вирусов. Она предназначена для того, чтобы неопытные пользователи неосторожно не выполнили недоверенный сценарий. Если вы задаете параметр –executionpolicy, то по определению считается, что вы делаете это сознательно и осознаете возможные последствия. На вас лежит ответственность за последствия такого действия.

Получение выходных данных

Обычно все, что выполняется в сеансе Windows PowerShell выводится программой PowerShell.exe как текст. Если вам нужна просто текстовая информация, тогда вас это вполне устроит.

Но есть другой вариант: задать параметр –outputformat XML, чтобы PowerShell.exe выводила объекты, возвращаемые сценарием или командой. Полученные объекты можно сериализовать в файла CliXML. По сути это то же самое, как если бы вы заставили оболочку передать объекты по конвейеру в Export-CliXML. Это позволяет получить выходной формат данных, которые потом проще повторно импортировать в другой сеанс оболочки.

Другие приемы

Есть еще три других параметра командной строки, о которых надо знать.

  • -noProfile предотвращает загрузку оболочкой Windows PowerShell сценариев профилирования в процессе выполнения. Если вы знаете, что такие сценарии вам не нужны, отменив их загрузку вы можете сэкономить немного времени. Этот параметр также полезен, если какой-то из профилей вызывает неполадки. Можно открыть оболочку без него и постепенно устранять неполадки.
  • -noExit заставляет оболочку выполнить все, что указано в параметрах –command или –file, и оставить оболочку открытой. Обычно при использовании этих параметров по завершении работы оболочка закрывается, что обычно и требуется . Обычно при использовании этих параметров по завершении работы оболочка закрывается, что обычно и требуется . Это полезно при отладке и проверке только что полученных в процессе выполнения результатов.
  • -nonInteractive разрешает выполнение оболочки, но не выводит для пользователя интерактивных запросов. Этот параметр часто используется в связке с –command или –file.

Освоение PowerShell.exe

Использование PowerShell.exe предоставляет много возможностей выполнения сценариев, управления выходной информацией и т. п. Очень удобно иметь в резерве этот вариант при настройке запуска сценариев по расписанию, выполнении сценариев входа, выполнении команд в составе более крупного пакета и для многих других задач.

Автор: Дон Джонс  •  Иcточник: TechNetMagazine  •  Опубликована: 18.10.2012
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER
Теги:   Powershell.


Оценить статью:
Вверх
Комментарии посетителей
21.10.2012/10:04  TraFF1c

Спасибо, довольно интересная статья
Комментарии отключены. С вопросами по статьям обращайтесь в форум.