Главная > Powershell > Проверка “правильности” команд и скриптов в Powershell

Проверка “правильности” команд и скриптов в Powershell

На днях узнал об одной интересной фишке, которой спешу поделиться.

Наверное каждый, кто знаком с Powershell знает, что у командлетов, которые что-то создают/изменяют/удаляют есть параметр –WhatIf, демонстрирующий, что будет делать тот или иной командлет без выполнения его на самом деле:

Demonstration '-WhatIf'

Это позволяет отслеживать как поведёт себя командлет без угрозы что-либо сломать. Но если нужно отслеживать выполнение многих командлетов, то дописывать в конце каждого этот параметр может стать утомительным, да и забыть его дописать тоже легко.

Выходом из такой ситуации может послужить установка переменной $WhatIfPreference в значение $true:

$WhatIfPreference = $true

После чего можно выполнять любые конвейеры командлетов не дописывая –WhatIf и без риска испортить систему.

Если же понадобится что-то выполнить “по-настоящему” можно это сделать не отключая этого так называемого “тестового” режима. Достаточно принудительно его выключить для конкретной команды, установив $WhatIfPreference в значение $false:

Stop-Service dhcp -WhatIf:$false

Кстати, таким образом можно проверять не только отдельные команды, но и скрипты. Полноценную отладку это, конечно, не заменит, но хотя бы покажет все команды, пытающиеся что-то изменить в системе.

Реклама
Рубрики:Powershell Метки:
  1. Комментариев нет.
  1. No trackbacks yet.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: