使用DCOM协议与Kerberos认证创建CimSession时RPC服务器不可用问题
DCOM+CimSession Kerberos认证RPC不可用问题排查
以下是针对你遇到的Kerberos认证失败问题的具体排查和解决步骤:
1. 必须使用目标主机的FQDN而非IP
Kerberos认证依赖SPN(服务主体名称)绑定,而SPN是与主机的完全限定域名(FQDN)关联的,不能用IP地址进行Kerberos认证。确保-ComputerName参数使用目标主机的完整DNS名称(如pc01.domain.com)。
2. 检查目标主机的SPN注册
在域控制器或有权限的机器上执行以下命令,检查目标主机的SPN配置:
setspn -L 目标主机名
需要确认存在以下SPN项(替换为实际主机名和FQDN):
HOST/目标主机名HOST/目标主机FQDNWMI/目标主机名WMI/目标主机FQDN
如果缺失,执行以下命令添加(以WMI的SPN为例):
setspn -A WMI/目标主机FQDN 目标主机名
3. 清除本地Kerberos票据缓存
旧的或无效的Kerberos票据可能导致认证失败,执行以下命令清除缓存:
klist purge
之后重新运行CimSession创建命令。
4. 检查DCOM的Kerberos权限配置
在目标主机上操作:
- 打开
组件服务(运行dcomcnfg) - 展开
计算机→右键我的电脑→选择属性 - 切换到
COM安全标签页:- 在访问权限区域点击
编辑限制,确保你的域用户拥有本地访问和远程访问权限 - 在启动和激活权限区域点击
编辑限制,同样给你的域用户分配本地启动、远程启动、本地激活、远程激活权限
- 在访问权限区域点击
5. 验证Kerberos票据获取
在发起连接的机器上,执行以下命令测试能否获取目标主机的Kerberos票据:
klist get HOST/目标主机FQDN
如果能成功获取票据,说明Kerberos基础配置正常;如果失败,检查DNS解析、域信任关系和用户权限。
修正后的测试命令
确保使用FQDN并指定Kerberos认证:
$Cim_SessionOption = New-CimSessionOption -Protocol Dcom $CimSession = New-CimSession -ComputerName "pc01.domain.com" -Credential $cred -Authentication Kerberos -SessionOption $Cim_SessionOption
内容的提问来源于stack exchange,提问作者Headbanging_coder
相关产品推荐
相关产品推荐

