Синхронная остановка удаленной службы с помощью Powershell
У меня есть пользовательский сценарий развертывания, написанный в Powershell. Этому сценарию необходимо обновить службу на удаленной машине, и поэтому сначала необходимо остановить ее, чтобы иметь возможность изменять исполняемые файлы.
Похоже, это проблема.
Чтобы синхронно остановить службу, я могу использовать net stop servicename
или stop-service servicename
. Проблема в том, что эти две команды ограничены локальной машиной.
Чтобы остановить службу на удаленной машине, я знаю, что могу использовать sc.exe
программа:
sc.exe \computername stop servicename
Но это асинхронно, поэтому я не могу его использовать (ну, sleep 5
, кажется, делает это, но это довольно грязно).
Как я могу синхронно остановить удаленную службу с помощью Powershell?