WMI查询 - 访问被拒绝
问题描述:
我正在运行下面的代码备用凭据时(“访问被拒绝(异常来自HRESULT访问被拒绝:0X80070005(E_ACCESSDENIED))WMI查询 - 访问被拒绝
如果我运行的整体。程序在标准的凭据下,然后传递一个管理员用户名&密码到WMI连接选项,然后我得到访问被拒绝。如果然后我右键点击该程序并选择“RunAs”并输入一个管理员用户名&密码到WMI选项),那么它的工作原理!我从中得知该帐户具有所需的权限,并且所有必需的端口都是开放的,所以我不相信这是DCOM问题。
我也尝试过wbemtest程序,只需输入用户名和密码即可连接到远程PC。我总是可以连接,无论我选择哪个模拟&身份验证级别。在程序中,我通过为这些选项设置各种参数进行了实验(请参阅注释行),并尝试了.EnablePrivileges选项,但这些选项的组合不会使程序正常工作。我在这里错过了什么?
Sub Main()
Dim myConnectionOptions As New System.Management.ConnectionOptions
With myConnectionOptions
'.EnablePrivileges = True
'.Impersonation = System.Management.ImpersonationLevel.Impersonate
'.Authentication = System.Management.AuthenticationLevel.PacketPrivacy
If TextBoxUserName.Text <> "" Then
.Username = TextBoxUserName.Text
.Password = TextBoxPassword.Text
End If
End With
'Establish connection
Try
Dim myManagementScope As System.Management.ManagementScope
myManagementScope = New System.Management.ManagementScope(_
"\\" & TextBoxComputerName.Text & "\root\cimv2", myConnectionOptions)
'Connect to WMI namespace
myManagementScope.Connect()
Dim myObjectSearcher As New ManagementObjectSearcher(_
myManagementScope.Path.ToString, "Select * From Win32_ComputerSystem")
Dim myCollection As ManagementObjectCollection
Dim myObject As ManagementObject
'Execute query
myCollection = myObjectSearcher.Get()
For Each myObject In myCollection
If myObject.GetPropertyValue("UserName") Is Nothing Then
MsgBox("Ctrl-Alt-Del")
Else
MsgBox(myObject.GetPropertyValue("UserName").ToString)
End If
Next
Catch e As Exception
MsgBox("_Connection Error" & e.Message)
End Try
End Sub
答
我将承担WMI配置是在你的代码远程PC
正确的,你需要通过“myManagementScope”为对象,并创建查询对象,并把它传递既反对搜索。
下面的代码在你的代码没有凭据传递到OjectSearcher,下面的代码
Dim myObjectSearcher As New ManagementObjectSearcher(_
myManagementScope.Path.ToString, "Select * From Win32_ComputerSystem")
改变
Dim x ObjectQuery
x = New ObjectQuery("Select * From Win32_ComputerSystem")
Dim myObjectSearcher As New ManagementObjectSearcher(_
myManagementScope, x)
嗨!删除你的评论ConnectOptions,这真的是必需的;此外,为连接指定“.Authority =”NTLMDOMAIN:“+ computerName”。 [你是否尝试过“dom \ user”格式??]。 – mabra 2013-05-05 21:20:34