アプリケーション プールのステータスを取得したいと考えています。vbscript をhereから取得しました。
strArgAppPool = Wscript.Arguments.Unnamed.Item(0)
Const noError = False
' Establish the connection to the WMI provider
Set oWebAdmin = GetObject("winmgmts:root\WebAdministration")
' Search the AppPool passed as argument in the list of application pools
Set oAppPool = oWebAdmin.Get("ApplicationPool.Name='" & strArgAppPool & "'")
' Create nice messages for pool states
Select Case oAppPool.GetState
Case 0
StateDescription = "STARTING"
outputStatus = "WARNING! "
outputCode = 1
Case 1
StateDescription = "STARTED"
outputStatus = "OK! "
outputCode = 0
Case 2
StateDescription = "STOPPING"
outputStatus = "WARNING! "
outputCode = 1
Case 3
StateDescription = "STOPPED"
outputStatus = "CRITICAL!! "
outputCode = 2
Case 4
StateDescription = "UNKNOWN"
outputStatus = "UNKNOWN? "
outputCode = 3
Case Else
StateDescription = "UNDEFINED VALUE"
outputStatus = "UNKNOWN? "
outputCode = 3
End Select
' Output
Wscript.Echo outputStatus & oAppPool.Name & ": " & StateDescription
' Error handling
If noError = true Then
' Error message
Wscript.echo "UNKNOWN: Error during the WMI query for app pool " & strArgAppPool & " !"
' Exit & return code
WScript.Quit(3)
Else
' Clean exit
WScript.Quit(outputCode)
End If
バッチファイルを介して実行しようとしています
status1.vbs "DefaultAppPool"
しかし、私はこれで終わった
何かのサービスが開始されていませんか?vbスクリプトを直接実行してみました。引用符や同様のものなしで引数を渡そうとしました。私はスクリプトを書きませんが、今回はやらなければなりませんでした。
エラー ダイアログは 5 行目を示しますSet oWebAdmin = GetObject("winmgmts:root\WebAdministration")
。私は過去5時間でできることはすべて試しました。既製のスクリプトがありますが、実行できません。恥ずかしくて、ずっとこの質問を投稿するつもりはありませんでした。でも結局負け。助けてくれてありがとう。
また、IIS 6 用の作業スクリプトもありPsExec
ます。リモート サーバーでこのスクリプトを呼び出しています。しかし、それは IIS 7 では機能しません。投稿してほしい人がいたら教えてください。また、現在 IIS 7 と Server 2008 R2 を使用してPsExec
おり、リモート サーバーを使用してこのスクリプトを実行します。