Конечно. Используйте wmic
.
wmic /node:servername /user:domain\admin /password:adminpass service where 'name="W3SVC" or name="iisadmin"' call stopservice
:: copy files
wmic /node:servername /user:domain\admin /password:adminpass service where 'name="W3SVC" or name="iisadmin"' call startservice
Я думаю, что это правильно, во всяком случае. У меня нет IIS, поэтому я не уверен в имени службы.
Или, если контекст, из которого этот скрипт выполняется на сервере сборки уже имеет права администратора на удаленном сервере, вы могли бы просто использовать
sc \\servername stop W3SVC
sc \\servername stop IISadmin
и т.д. У sc /?
и wmic service /?
для получения дополнительной информации. Разумеется, рассмотрите риски жесткого кодирования имени пользователя домена и перейдите в текстовый пакетный файл.
Edit:Some people suggest, что лучший способ остановить/запустить IIS это с iisreset.exe
. Поэтому попробуйте
iisreset servername /stop
:: copy stuff
iisreset servername /start
Возможно, это был лучший вопрос для ServerFault. Это не вопрос кодирования.
Также, этот вопрос appears to be a duplicate.