无法使用vb.net访问远程计算机上的WMI

时间:2013-04-24 13:06:51

标签: wmi admin vb.net-2010

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

我正在尝试在远程计算机上查询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

如果这很简单,我道歉...我仍然相当新,但如果有人能给我一些真正值得赞赏的指导。

非常感谢。

1 个答案:

答案 0 :(得分:0)

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

scope = New ManagementScope("\\" & computeritem & "\root\cimv2", options)