patagonの日記: [コンピュータ]WMI Code Creator v1.0, Scriptomatic 2.0
WMIに興味を持ったので、その後色々調べている。それぞれダウンロードして試してみた。
WMI Code Creator v1.0(Date Published: 8/5/2005) 使える
Scriptomatic 2.0(公開日: 2005年6月16日) 使えない
WMI Code Creatorについて
ツールバーから出力したい言語(Code Language)を選ぶ…C#, Visual Basic .NET, Visual Basic Script
ツールバーから対象のコンピュータ(Target Computer)を選ぶ…Local Computer, Remote Comuter, Group of Remote Comuters
コンボボックス?からNmaespaceやClasses,Methodsを指定する
出来たソースをメモ帳に出力するか、そのまま実行するかを選択する…Open code in Notepad, Execute Code
WindowイメージはWMIを使うスクリプトを簡単に作成する - @ITが分かりやすいか。
以前手で作ったRemoteShutdown.vbsと同様のようなものをWMIを使い、生成した。
実行する場合はコマンドプロンプトからC:\cscript Remoteshutdown.vbs とタイプイン。
ただしインスタンス(オブジェクト)の関係から .NET Framework 2.0以上が必要のようである。
strComputer = "FullComputerName"
strDomain = "DOMAIN"
Wscript.StdOut.Write "Please enter your user name:"
strUser = Wscript.StdIn.ReadLine
Set objPassword = CreateObject("ScriptPW.Password")
Wscript.StdOut.Write "Please enter your password:"
strPassword = objPassword.GetPassword()
Wscript.Echo
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
objSWbemLocator.Security_.ImpersonationLevel = 3 ' wbemImpersonationLevelImpersonate
objSWbemLocator.Security_.Privileges.AddAsString "SeSecurityPrivilege", True
Set objWMIService = objSWbemLocator.ConnectServer(strComputer, _
"root\CIMV2", _
strUser, _
strPassword, _
"MS_409", _
"ntlmdomain:" + strDomain)
Set objEvents = objWMIService.ExecNotificationQuery _
("SELECT * FROM Win32_ComputerShutdownEvent")
Wscript.Echo "Waiting for events ..."
Do While(True)
Set objReceivedEvent = objEvents.NextEvent
'report an event
Wscript.Echo "Win32_ComputerShutdownEvent event has occurred."
Loop
[コンピュータ]WMI Code Creator v1.0, Scriptomatic 2.0 More ログイン