2011-03-23 86 views
1

在我試圖在命令行中運行VBS文件,我有以下如何回收一臺遠程機器上的應用程序池:使用命令行

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

可是當我運行VBS從CMD行我得到以下錯誤:

Microsoft VBScript runtime error: ActiveX component can't create object: 'Get Object'_

我我的本地機器上運行XP和遠程計算機有IIS 7

我怎樣才能得到這個工作?

回答

3

雖然不是vbs文件命令,但您可以使用vbs來執行此命令行;

appcmd recycle apppool /apppool.name:string 

變量字符串是要回收的應用程序池的名稱。例如,若要回收名爲Marketing的應用程序池,請在命令提示符下鍵入以下,然後按ENTER鍵:

appcmd recycle apppool /apppool.name:Marketing 

technet

兩者如果它太遠離你想要什麼,然後我的道歉。

+0

的iget:APPCMD不被識別爲一個內部或exteranal批次或命令.. – 2011-03-23 13:20:25

+2

Appcmd不適用於遠程計算機 – Adrian 2011-03-23 13:29:30

+0

沒有權利 – 2011-03-23 13:30:50

1

您是否已經在遠程機器上安裝並啓用了IIS7 WMI Provider?

我認爲this doc涵蓋了你需要的大部分。

這包括預REQ和如何瀏覽可用的管理選項...相信你就可以用了一些調整重置應用程序池...

1

我只是試圖從Windows XP機器到Windows 2008R2機器。有效。所以你絕對是在正確的軌道上。

如果您正在尋找替代方法,請嘗試從命令提示符下執行此操作。至少錯誤信息會更具體一些,當它不起作用時。

wmic /namespace:"\\root\MicrosoftIISv2" /node:"**serverName**" path IISApplicationPool where (name like '%**DefaultAppPool**%') call recycle 
0

我只是偶然發現了這個問題,並且這裏的修復: 有一個小窗口的工具,叫做PSEXEC,基本上給你命令行遠程訪問,並從那裏你可以使用應用程序池。您可以從剛剛C#運行此命令

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

這裏的工具:http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

+0

PsExec可能被某些公司系統管理員視爲安全漏洞。在公司設備上運行之前獲得許可。 – ErikE 2014-10-10 08:55:38

0

使用PowerShell命令來運行它。例如:

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

apppoolname是你的應用程序池名稱。

WIN-計算機名是您的遠程/本地服務器名稱

0

使用PowerShell在服務器上遠程執行命令:

Invoke-Command -ComputerName <YOUR_IIS_SERVER_NAME> -ScriptBlock { Restart-WebAppPool -Name <YOUR_APP_POOL_NAME> }