【发布时间】:2010-10-14 03:29:18
【问题描述】:
我有一个 HTA 中的 VBScript 从本地 WMI 调用获取 ping 状态。我还有一个函数来获取远程 pc 的最后重新启动时间。
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 调用,这样它就可以像任何人一样使用管理员详细信息?
【问题讨论】:
标签: vbscript wmi credentials hta