Tech-Ezo (Hokkaido PC and Network Users Group)
 Top Page  |  What's Tech-Ezo  |  Next Seminar  |  Seminar Log  |  Seminar Plan  |  Tips  |  life  |  Link  |
Scr.002 逆引きWSH(VBScript)サンプル集 −WMIを使用してスクリプトの幅を広げる(044〜050)
[WSHサンプル集へ戻る]

WMIを使用してスクリプトの幅を広げる(044〜050)


WSH.044 Windowsの終了 戻る

シャットダウンする

Set ws = GetObject("winmgmts:{(Shutdown)}//./root/cimv2").ExecQuery("select * from Win32_OperatingSystem where Primary=true")
for each wmi in ws
	wmi.Shutdown()
next
※ WMI SDK のサンプルスクリプトを若干修正したもの

リブートする

Set ws = GetObject("winmgmts:{(Shutdown)}//./root/cimv2").ExecQuery("select * from Win32_OperatingSystem where Primary=true")
for each wmi in ws
	wmi.Reboot()
next
※ WMI SDK のサンプルスクリプトを若干修正したもの


WSH.045 フォルダの共有化 戻る

「D:\data」フォルダを"data"という名前で共有化する

Set ws=GetObject("winmgmts:{impersonationLevel=impersonate}!Win32_Share")
sts=ws.Create ("d:\data","data",0)


WSH.046 イベントログの取得 戻る

イベントログの内容を表示する

Set events= GetObject("winmgmts:{impersonationLevel=impersonate,(Backup, Security)}" _
& "!\\マシン名\root\CIMV2") _
.ExecQuery _
("select * from Win32_NTLogEvent")
For Each ev In events
  Wscript.Echo ev.EventCode & ev.message
Next


WSH.047 レジストリへの追加 戻る

Dドライブを消す(見えなくなるだけ)

Set ws = WScript.CreateObject("WScript.Shell")
ws.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policie\s\Explorer\NoDrives","8", "REG_DWORD"


WSH.048 プリンタ追加 戻る

プリンタを追加する

Set Locator = CreateObject("WbemScripting.SWbemLocator")
Set Service = Locator.ConnectServer

Set Prt = Service.Get("Win32_Printer").SpawnInstance_

Prt.Caption = "WMI で登録テスト。"
Prt.DeviceID = "EPSON MJ-700V2C By WMI"
Prt.DriverName = "EPSON MJ-700V2C ESC/P R"
Prt.PortName = "LPT1:"
Prt.Location = "メインマシンの隣。"
Prt.Shared = True
Prt.ShareName = "EPSON MJ-700V2C"

MesStr = Prt.Put_

Set Prt = Nothing
Set Locator = Nothing
Set Service = Nothing


WSH.049 サービスの開始・停止 戻る

「Messenger」サービスを停止する

Set ServiceSet = GetObject("winmgmts:").ExecQuery("select * from Win32_Service where Name='Messenger'")

for each Service in ServiceSet
	RetVal = Service.StopService()
	if RetVal = 0 then
		WScript.Echo "Service stopped"
	elseif RetVal = 5 then
		WScript.Echo "Service already stopped"
	end if
next

「Messenger」サービスを開始する

Set ServiceSet = GetObject("winmgmts:").ExecQuery("select * from Win32_Service where Name='Messenger'")

for each Service in ServiceSet
	RetVal = Service.StartService()
	if RetVal = 0 then WScript.Echo "Service started"
	if RetVal = 10 then WScript.Echo "Service already running"
next


WSH.050 システム情報の表示 戻る

システムの情報を表示する

Set SystemSet = GetObject("winmgmts:").InstancesOf ("Win32_OperatingSystem")

for each System in SystemSet
	WScript.Echo System.Caption
	WScript.Echo System.Manufacturer
	WScript.Echo System.BuildType
	WScript.Echo " Version: " + System.Version
	WScript.Echo " Locale: " + System.Locale
	WScript.Echo " Windows Directory: " + System.WindowsDirectory
	WScript.Echo " Total memory: " + System.TotalVisibleMemorySize + " bytes"
	WScript.Echo " Serial Number: " + System.SerialNumber
	Wscript.Echo ""
next
※WMI SDK のサンプルスクリプトを若干修正したもの

[WSHサンプル集へ戻る]

-
※全ては自己責任でお願いします。 最終更新日 2004.3.11