2013-05-12 4 views
0

В частности, мне нужно знать, как работает cmdlet Restart-Service.
Для например, когда я пишуКак работает командлет Powershell?

Restart-Service myservice1, myservice2 

Я хочу знать, как она течет.
Остановляет ли он обе службы перед перезапуском или перезапускает их один за другим?

Вообще-то, так или иначе, чтобы увидеть кодировку внутри командлета?

ответ

4

Вы можете попробовать изучить библиотеку модулей, используя что-то вроде dotPeek. Для этого cmdlet источник доступен для просмотра (по крайней мере, версия dotPeek. Я не программист, поэтому я не знаю, является ли это 100% правильным кодом). По крайней мере, это показывает, что он останавливает службу, а затем запускает ее в цикле foreach. Я не буду публиковать код, поскольку я не знаю, как это законно. :)

Вы также можете ознакомиться в документации, предоставленной в Microsoft Technet.

Командлет Restart-Service предназначена для остановки, а затем перезапустить указанной службы. (Если услуга уже перестал, ну, это OK: в этом случае Restart-Service будет просто начать Услугу.) Это является особенно полезным командлетом для служб, которые имеют утечки памяти и периодически должен быть остановлен, а затем перезапущен; Restart-Service может позаботиться обо всех этих функциях с помощью одной команды .

Source: Technet

+0

Да! dotPeek ногти это! Спасибо за предложение @Graimer. – Gh0sT

0

Всегда хорошо читать документацию, но, как обычно, YMMV. Неточный язык становится скользким реальным быстрым, а плохие предположения - не забава. Пока я проповедую, дьявол в деталях.

Так что тест никогда не болит. Вы можете попробовать запустить get-wmiObject win32_service, в то время как служба перезапуска выполняет свою работу в другом окне. Gwmi только потому, что get-service может быть слишком медленным. Вероятно, излишнее, но тест кажется застенчивым в одном скрипте, возможно, с началом работы и датой.

Смежные вопросы