0

我有一个侦察员,似乎无法在任何地方找到答案,所以需要问。

我正在尝试在远程计算机上查询 WMI,但我需要以管理员帐户的身份执行此操作,但这样做时遇到问题。

我正在使用的代码是:

Public Sub OperatingSystem(ByVal computeritem As String)
    'set Username and Password which system will access the network with.
    Dim options As ConnectionOptions
    options = New ConnectionOptions()
    options.Authority = "ntdlmdomain:" & ipaddress
    options.Username = "Username"
    options.Password = "Password"

    scope = New ManagementScope("\\" & ipaddress & "\root\cimv2", options)
    scope.Connect()

    Dim query As ObjectQuery
    query = New ObjectQuery("SELECT * FROM Win32_OperatingSystem")
    Dim searcher As ManagementObjectSearcher
    searcher = New ManagementObjectSearcher(scope, query)

查询继续进行并将各种信息拉到一个spradsheet ..如果它有效,它会的!

正在倒下的代码行是:

scope = New ManagementScope("\\" & ipaddress & "\root\cimv2", options)
    scope.Connect()

它给了我一条错误消息,上面写着“无效参数”。当我查看详细信息时,内部异常中没有任何内容,我唯一能看到的任何值是 ErrorCode:ManagementStatus.InvalidParameter

如果这真的很简单,我深表歉意。我对此还是很陌生,但如果有人能给我一些指导,我将不胜感激。

非常感谢。

4

1 回答 1

0

看起来对 ipaddress 的引用没有初始化。由于 computeritem 作为参数传递给 sub,因此您的代码可能会更好地使用:

scope = New ManagementScope("\\" & computeritem & "\root\cimv2", options)
于 2013-06-04T21:31:17.690 回答