Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将凭据传递到VBScript中的WMI调用_Vbscript_Wmi_Credentials_Hta - Fatal编程技术网

将凭据传递到VBScript中的WMI调用

将凭据传递到VBScript中的WMI调用,vbscript,wmi,credentials,hta,Vbscript,Wmi,Credentials,Hta,我在HTA中有VBScript,从本地WMI调用获取ping状态。。我还有一个功能可以获取远程pc的上次重新启动时间 Function GetReboot(strComputer) Set objWMIService = GetObject _ ("winmgmts:\\" & strComputer & "\root\cimv2") Set colOperatingSystems = objWMIService.ExecQuery _

我在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 admin帐户登录到本地计算机时,此功能才起作用

是否有一种方法可以提示用户输入用户名和密码,然后将其传递给WMI调用,使其与任何具有管理员详细信息的人一样工作?

该方法似乎允许您在连接到远程计算机时指定用户名和密码。看起来您需要使用的语法类似,您只需要以不同的方式创建
objWMIService
对象:

Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator") 
Set objWMIService = objSWbemLocator.ConnectServer("MachineName", "root\cimv2", "Username", "Password")

如果您以域管理员的身份在Google上搜索“WbemScripting.SWbemLocator”,您将能够向您的帐户添加额外的权限,这将允许您以任何其他用户的身份启动流程,则可以获得更多文档。AD中的此权限称为“允许信任用户进行授权”。它非常强大。这是以其他用户身份运行任务的唯一合法方式。请参阅此链接以设置右侧:


你好,Kragen,谢谢你的回复,你能告诉我是否可以调试这个吗?我已经在我的代码中实现了这一点,并且没有出现任何错误。。但是我仍然没有得到回复,因此访问被拒绝。如果我在以管理员帐户登录时运行它,它工作正常…@medoix-如果您在启用脚本调试的情况下运行,那么您应该能够在函数前面放置一个
Stop
语句以强制设置断点。