注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

dingchaoqun12 的博客

上海股票期货开户

 
 
 

日志

 
 
 
 

wmi 拒绝访问,没有权限 找不到对象等问题的解决办法_讲语轩_百度空间  

2012-03-15 15:06:44|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
wmi 拒绝访问,没有权限 找不到对象等问题的解决办法
2008-07-13 13:00

最近发现了wmi的强大,特别是脚本在局域网络中远程管理的方便性促使我想要一试,不料technet网站的示例脚本无一例外的都出现了错误:

如果用wmic在cmd下连接则出现错误代码:0x80070005 拒绝访问

如果用脚本连接则出现错误代码:800A01ce 远程主机不存在或不可用,或则有的代码提示是找不到对象.

在technet网站找到如下文章:

WMI 不管用了!

排除 WMI 脚本和 WMI 服务故障

可是根本不管用,按照他的方法反复多次都无法成功,后来发现出现该问题的是xpsp2的机器,因为网中有一台机器可以连接于是我用wmi+xpsp2关键字查找,终于还是在technet找到解决方法.主要是因为远程管理权限的问题

因为保证wmi连接成功的因素包含在technet的几篇文中所以我总结了一下:

解决方法是:1检查HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa下的forceguest的值.

该值必须为0(dword:00000000)

                  2单击“开始”,单击“运行”,键入 DCOMCNFG,然后单击“确定”。在“组件服务”对话框中,依次展开“组件服务”、“计算机”,然后展开“我的电脑”。在工具栏上,单击“配置‘我的电脑’”按钮。随即显示“我的电脑”对话框。在“我的电脑”对话框中,单击“COM 安全”选项卡.在“启动和激活权限”下,单击“编辑限制”。在“启动权限”对话框中,如果您的名称或您的组未显示在“组或用户名称”列表中,请按照下列步骤操作:

a. 在“启动权限”对话框中,单击“添加”。
b. 在“选择用户、计算机或组”对话框中,将您的名称和组添加到“输入对象名称来选择”框中,然后单击“确定”。

在“启动权限”对话框中,在“组或用户名称”框内选择您的用户和组。在“用户权限”下的“允许”栏中,选择“远程启动”,然后单击“确定”。

                  3.防火墙,具体的在http://support.microsoft.com/kb/875605/zh-cn有解决方案

现在在wmic 在cmd中已经可以成功连接了

/node:192.168.0.2/user:administrator process

但如果要在脚本中实现还需要修改连接方式,示例脚本(作者Chenhui530):

'连接WMI服务函数(此函数也可以连接远程计算机,当要连接远程计算机时把参数“strComputerName”指示为IP地址即可但是注意的是还要提供用户名和密码)
Private Function ConnectWmiServer(objSWbemServices As SWbemServices, ByVal strComputerName As String, Optional ByVal strNameSpace As String = "root/cimv2", Optional ByVal strUserName As String = "", Optional ByVal strPassWord As String = "") As Boolean
    Dim objSWbemLocator As SWbemLocator
    On Error GoTo errLine
    Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
    '提升权限为DEBUG权限
    objSWbemLocator.Security_.Privileges.Add wbemPrivilegeDebug
    If strComputerName <> "." Then
        Set objSWbemServices = objSWbemLocator.ConnectServer(strComputerName, strNameSpace, strUserName, strPassWord)
    Else
        Set objSWbemServices = objSWbemLocator.ConnectServer()
    End If
    ConnectWmiServer = True
    'Set objSWbemLocator = Nothing
    Exit Function
errLine:
    ConnectWmiServer = False
    Set objSWbemLocator = Nothing
End Function

2008-11-28




引文来源  wmi 拒绝访问,没有权限 找不到对象等问题的解决办法_讲语轩_百度空间
  评论这张
 
阅读(3804)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018