DCOM远程激活拒绝访问的解决方式

DCOM远程激活的正确打开方式

一般步骤

cmd打开一个远程的会话:

runas /netonly /user:username /node:ip powershell
  • username是远程计算机的一个用户
  • ip是远程计算机ip地址

在新打开的powershell中执行远程激活DCOM:

$obj = [System.Activator]::CreateInstance([Type]::GetTypeFromCLSID(AppID,ip))
  • AppID:要激活的COM对象组件的ID
  • ip:远程计算机IP地址

在win7系统上一般是没有什么问题,而在win10及其以后的系统上,不出意外你就会得到这样的错误

PS C:\Windows\system32> $obj = [System.Activator]::CreateInstance([Type]::GetTypeFromCLSID('9BA05972-F6A8-11CF-A442-00A0C90A8F39',"192.168.154.151"))
使用“1”个参数调用“CreateInstance”时发生异常:“从计算机 192.168.154.151 中在 COM 类工厂内检索 CLSID 为 {9BA05972-F6A
8-11CF-A442-00A0C90A8F39} 的远程组件失败,原因是出现以下错误: 80070005 192.168.154.151。”
所在位置 行:1 字符: 1
+ $obj = [System.Activator]::CreateInstance([Type]::GetTypeFromCLSID('9 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : UnauthorizedAccessException

这是权限问题导致的拒绝访问,默认只允许Administrator用户远程激活。所以可以分为两种情况解决,一种是以Administrator用户进行远程激活,第二种是通过修改配置允许指定用户远程激活。

在此之前需保证本地策略组编辑器=》计算机配置=》Windows设置=》安全设置=》安全选项=》用户控制:以管理员批准模式运行所有管理员已启用的。

以Administrator用户远程激活

管理员身份运行cmd,输入以下命令启用系统默认管理员账户

net user Administrator /active:yes

给Administrator用户设置一个登录密码

net user Administrator 123456

注意:此时远程计算机不能登录 A d m i n i s t r a t o r 用户,必须登录其他用户。如果远程计算机只有 A d m i n i s t r a t o r 用户,则需要新建一个用户,例如: t e s t 。 \textcolor{BrickRed}{注意:此时远程计算机不能登录Administrator用户,必须登录其他用户。如果远程计算机只有Administrator用户,则需要新建一个用户,例如:test。} 注意:此时远程计算机不能登录Administrator用户,必须登录其他用户。如果远程计算机只有Administrator用户,则需要新建一个用户,例如:test

net user test /add

在远程计算机登录test用户的情况下,再重复一般步骤就不会报错了。

以指定用户远程激活

以test用户为例

  1. 需要将test用户加入到管理员组

    net localgroup Administrators test /add
    
  2. 给test用户创建密码

    net user test 123456
    
  3. 修改DCMO配置,运行dcomcnfg打开DCOM配置。选择组件服务=》计算机=》我的电脑,右键属性。选择COM安全访问权限=》编辑限制,添加test用户,

并更改权限如下:

在这里插入图片描述

同理编辑默认值,添加test用户。然后是启动和激活权限=》编辑限制,添加test用户,并更改权限如下:

在这里插入图片描述

同理编辑默认值,添加test用户。

注意:和 A d m i n i s t r a t o r 用户不同的是,远程计算机必须登录到 t e s t 用户,才能远程激活成功。 \textcolor{BrickRed}{注意:和Administrator用户不同的是,远程计算机必须登录到test用户,才能远程激活成功。} 注意:和Administrator用户不同的是,远程计算机必须登录到test用户,才能远程激活成功。

在远程计算机登录test用户的情况下,再重复一般步骤就不会报错了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值