WMI指令碼 計算機管理指令碼範例

2021-10-03 18:28:33 字數 3906 閱讀 9116

更改計算機帳號屬性,演示如何通過指令碼來更改 active directory 中的計算機帳號的位置屬性。

指令碼**:

set objcomputer = getobject("ldap://cn=.,cn=computers,dc=fabrikam,dc=com")

objcomputer.put "location", "building 37, floor 2, room 2133"

objcomputer.set info

使用離線方法來啟用 windows。需要 xp 或 windows 2003、以及乙個有效的啟用編號。

指令碼**:

strcomputer = "."

set objwmiservice = getobject("winmgmts:" & "!//" & strcomputer & "/root/cimv2")

set colwindowsproducts = objwmiservice.execquery ("select * from win32_windowsproductactivation")

for each objwindowsproduct in colwindowsproducts

objwindowsproduct.activateoffline("1234-1234")

next

指令碼**:

strcomputer = "."

set objwmiservice = getobject("winmgmts:" & "!//" & strcomputer & "/root/cimv2")

set colwindowsproducts = objwmiservice.execquery ("select * from win32_windowsproductactivation")

for each objwindowsproduct in colwindowsproducts

objwindowsproduct.activateonline()

next

將計算機配置為在啟動時自動載入預設作業系統之前等待 10 秒鐘(而不是預設的 30 秒鐘)。

指令碼**:

strcomputer = "."

set objwmiservice = getobject("winmgmts:" & "!//" & strcomputer & "/root/cimv2")

set colstartupcommands = objwmiservice.execquery ("select * from win32_computersystem")

for each objstartupcommand in colstartupcommands

objstartupcommand.systemstartupdelay = 10

objstartupcommand.put_

next

資訊獲取有關計算機上所安裝的作業系統資訊,其中包括語言種類、加密級別和內建編號等。

指令碼**:

set dtmconverteddate = createobject("wbemscripting.swbemdatetime")

strcomputer = "."

set objwmiservice=getobject("winmgmts:"& "!//" & strcomputer&"/root/cimv2")

set coloperatingsystems = objwmiservice.execquery ("select * from win32_operatingsystem")

for each objoperatingsystem in coloperatingsystems

wscript.echo "boot device: " & objoperatingsystem.bootdevice

wscript.echo "build number:" & objoperatingsystem.buildnumber

wscript.echo "build type: " & objoperatingsystem.buildtype

wscript.echo "caption: " & objoperatingsystem.caption

wscript.echo "code set : " & objoperatingsystem.codeset

wscript.echo "country code: " & objoperatingsystem.countrycode

wscript.echo "debug: " & objoperatingsystem.debug

wscript.echo "encryption level:" & objoperatingsystem.encryptionlevel

dtmconverteddate.value = objoperatingsystem.installdate

dtminstalldate = dtmconverteddate.getvardate

wscript.echo "install date: " & dtminstalldate

wscript.echo "licensed users: " & objoperatingsystem.numberoflicensedusers

wscript.echo "organization: " & objoperatingsystem.organization

wscript.echo "os language: " & objoperatingsystem.oslanguage

wscript.echo "os product suite:" & objoperatingsystem.osproductsuite

wscript.echo "os type: " & objoperatingsystem.ostype

wscript.echo "primary: " & objoperatingsystem.primary

wscript.echo "registered user: " & objoperatingsystem.registereduser

wscript.echo "serial number: " & objoperatingsystem.serialnumber

wscript.echo "version: " & objoperatingsystem.version

next

資訊獲取現有計算機物件屬性,並將這些屬性複製到通過指令碼建立的新增計算機物件中。

指令碼**:

set objcompt = getobject("ldap://cn=computers,dc=na,dc=fabrikam,dc=com")

set objcomptcopy = objcompt.create("computer", "cn=sea-sql-01")

objcomptcopy.put "samaccountname", "sea-sql-01"

objcomptcopy.set infoset

objcompttemplate = getobject("ldap://cn=sea-pm-01,cn=computers,dc=na,dc=fabrikam,dc=com")

arrattributes = array("description", "location")

for each strattrib in arrattributes

strvalue = objcompttemplate.get(strattrib)

objcomptcopy.put strattrib, strvalue

next

objcomptcopy.set info

指令碼實現主機編號命名計算機

近期換了一家公司,負責it所有的伺服器 網路 資產管理。為了便於桌面使用者的資產管理,我決定使用計算機的主機編號來命名,然後從域中就可以很清晰的看到每乙個資產的狀態。我的命名規則是sz 主機編號。指令碼 如下 get current pcname strcomputer set objwmiserv...

Visual C 中用WMI控制遠端計算機

其實做遠端控制軟體,wmi是乙個很好的選擇,尤其是在目前,windows 2000已經成為了主流的 作業系統 利用wmi編寫遠端控制軟體可以省略了已往遠端控制軟體最頭痛的乙個環節 分發客戶端程式。天極開發c 專欄 本節中介紹的遠端控制程式,能夠讓使用者重啟和關閉遠端計算機。其所使用的就是wmi,下面...

Visual C 中用WMI控制遠端計算機

其實做遠端控制軟體,wmi是乙個很好的選擇,尤其是在目前,windows 2000已經成為了主流的 作業系統 利用wmi編寫遠端控制軟體可以省略了已往遠端控制軟體最頭痛的乙個環節 分發客戶端程式。天極開發c 專欄 本節中介紹的遠端控制程式,能夠讓使用者重啟和關閉遠端計算機。其所使用的就是wmi,下面...