Как перезапустить пул приложений на удаленном компьютере с помощью командной строки - PullRequest
3 голосов
/ 23 марта 2011

У меня есть следующее в файле VBS, который я пытаюсь запустить из командной строки:

strServerName = "ServerName"
strAppPoolName = "DefaultAppPool"
set objAppPools = GetObject("IIS://" & strServerName 
                                  & "/w3svc/AppPools/" & strAppPoolName & "")
objAppPools.Recycle()

И все же, когда я запускаю VBS из строки CMD, я получаю следующую ошибку:

Ошибка времени выполнения Microsoft VBScript: компонент ActiveX не может создать объект: 'Get Object' _

Я использую XP на своей локальной машине, а на удаленной машине установлен IIS 7.

Как мне заставить это работать?

Ответы [ 7 ]

4 голосов
/ 23 марта 2011

Я не уверен относительно конкретного сценария vb, но я бы порекомендовал использовать "appcmd" (http://learn.iis.net/page.aspx/114/getting-started-with-appcmdexe)

  1. Добавьте %windir%\system32\inetsrv на свой путь, если он еще не
  2. в командной строке введите: appcmd recycle apppool "apppool_name"
2 голосов
/ 14 сентября 2015

Используйте powershell для удаленного выполнения команды на сервере:

Invoke-Command -ComputerName <YOUR_IIS_SERVER_NAME> -ScriptBlock { Restart-WebAppPool -Name <YOUR_APP_POOL_NAME> }
2 голосов
/ 02 декабря 2014

Используйте команду powershell для его запуска.Пример:

Invoke-WMIMethod Recycle -Path "IIsApplicationPool.Name='W3SVC/APPPOOLS/apppoolname'" -Computer "WIN-Computername" -Namespace root\MicrosoftIISv2 -Authentication PacketPrivacy

Где apppoolname - имя пула приложений.

Где WIN-Computername - имя вашего удаленного / локального сервера

2 голосов
/ 23 марта 2011

Хотя это не команда vbs file, вы можете получить vbs для выполнения этой командной строки;

appcmd recycle apppool /apppool.name:string

Строка переменной - это имя пула приложений, который вы хотите перезапустить.Например, чтобы перезапустить пул приложений с именем Marketing, введите в командной строке следующую команду и нажмите клавишу ВВОД:

appcmd recycle apppool /apppool.name:Marketing

Взято из technet

Если этослишком далеко от того, что вы хотите, тогда мои извинения.

1 голос
/ 25 марта 2011

Я только что попробовал его с компьютера с Windows XP на компьютер с Windows 2008R2. Это сработало. Так что вы определенно на правильном пути.

Если вы ищете альтернативный способ, попробуйте это из командной строки. По крайней мере, сообщение об ошибке будет немного более конкретным, когда оно не работает.

wmic /namespace:"\\root\MicrosoftIISv2" /node:"**serverName**" path IISApplicationPool where (name like '%**DefaultAppPool**%') call recycle
1 голос
/ 23 марта 2011

На удаленном компьютере установлен и включен поставщик WMI IIS7?

Я думаю этот документ покрывает большую часть того, что вам нужно.

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

0 голосов
/ 26 октября 2012

Я только что наткнулся на эту проблему, и вот исправление: Существует небольшой инструмент Windows под названием PsExec, который в основном дает вам удаленный доступ к командной строке, и оттуда вы можете использовать apppool. Вы можете просто запустить эту команду из C #

psexec \\192.168.xx.xx %windir%\system32\inetsrv\appcmd recycle apppool /apppool.name:yourapppool

вот инструмент: http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

...