我在 HTA 中有 VBScript 从本地 WMI 调用中获取 ping 状态。我还有一个函数可以获取远程电脑的最后一次重启时间。
Function GetReboot(strComputer)
Set objWMIService = GetObject _
("winmgmts:\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
For Each objOS in colOperatingSystems
dtmBootup = objOS.LastBootUpTime
dtmLastBootupTime = WMIDateStringToDate(dtmBootup)
dtmSystemUptime = DateDiff("h", dtmLastBootUpTime, Now)
Wscript.Echo dtmSystemUptime
Next
GetReboot = dtmLastbootupTime
End Function
大致就是这样,显然我声明了变量并有另一个日期函数等。
如果我因为我是本地管理员而 WMI 调用“localhost”,则此方法有效。但是,当我对远程服务器进行 WMI 调用时,这仅在我使用 AD 管理员帐户登录到本地计算机时才有效。
有没有一种方法可以提示用户输入用户名和密码,然后将其传递给 WMI 调用,这样它就可以像任何人一样使用管理员详细信息?