[Windows] APS (GO-Global Application Publishing Service) の開始・停止・状況確認を外部のコンピュータから行いたい.
技術ノート
2015/06/11
[番号]
技術ノート KGTN 2015031101
[現象]
[Windows] APS (GO-Global Application Publishing Service) の開始・停止・状況確認を外部のコンピュータから行いたい.
[説明]
Windows Sysinternals の PsService と WSH (VBScript) を使用したサンプルを以下に示します.なお,この内容についての助言は歓迎しますが,質問等はご遠慮下さい.
'- '- PsGGAPS.vbs : APS の開始/停止/状況確認 を行う. '- Sample: cscript PsGGAPS.vbs 10.1.8.93 query '- Option Explicit Dim objShell,objFso Dim objParm,argServer,argCommand Dim strResult,aryStrings,aryStrings2,ii '--- Set objShell = CreateObject("Wscript.Shell") Set objFso = CreateObject("Scripting.FileSystemObject") Set objParm = Wscript.Arguments '--- If objParm.Count <> 2 Then WScript.Echo "Usage: PsGGAPS <server> <command>" WScript.Echo " - command: query|start|stop" WScript.Quit 101 End If '--- argServer = objParm(0) argCommand = objParm(1) strResult = RemoteShell("PsService \\" & argServer & " " & argCommand & " GGAPS") aryStrings = Split(strResult,vbCrLf) For ii = 0 to UBound(aryStrings) If InStr(aryStrings(ii), "STATE") <> 0 Then '--- ' Wscript.Echo aryStrings(ii) ' " STATE : 4 RUNNING" '--- aryStrings2 = Split(aryStrings(ii)," ") Wscript.Echo aryStrings2(5) End If Next
Function RemoteShell(strCmd) Dim strTempFile strTempFile = objShell.ExpandEnvironmentStrings("%temp%") & "\" & objFso.GetTempName objShell.Run "%comspec% /c " & strCmd & " > " & strTempFile, 0, True '---- RemoteShell = objFso.OpenTextFile(strTempFile,1).ReadAll If objFso.FileExists(strTempFile) Then objFso.DeleteFile strTempFile,True End If End Function