You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

服务账号svc-a执行Get-ADGroupMember失败问题求助

服务账号Kerberos认证失败(仅RC4可用)的排查与解决方案

在同一域同一OU下的两个服务账号svc-a和svc-b,用于Windows Web服务器的IIS网站。服务器安装安全补丁后,svc-a执行get-adgroupmember时出现如下Kerberos认证错误:

get-adgroupmember : Either the target name is incorrect or the server has rejected the client credentials. At line:1 char:1

  • get-adgroupmember acifeesadmin -server au.amp.local
    • CategoryInfo : SecurityError: (acifeesadmin:ADGroup) [Get-ADGroupMember], AuthenticationException
    • FullyQualifiedErrorId : ActiveDirectoryCmdlet:System.Security.Authentication.AuthenticationException,Microsoft.ActiveDirectory.Management.Commands.GetADGroupMember

启用Web服务器的RC4_HMAC_MD5加密可临时解决,但受组策略限制且存在安全风险;已为svc-a启用AES 128/256加密类型、重置密码,均无效。

排查方向

  • 检查服务账号SPN配置
    Kerberos认证依赖正确的服务主体名称(SPN)。对比svc-a和svc-b的SPN列表:

    setspn -L svc-a
    setspn -L svc-b
    

    确认svc-a是否包含对应Web服务器的HTTP类SPN(如HTTP/webserver.au.amp.local、HTTP/webserver),缺失或不匹配会导致Kerberos票据请求失败。

  • 分析Kerberos事件日志
    在域控制器和Web服务器上查看事件日志:

    • 事件ID 4768(Kerberos身份验证票证请求):检查请求中使用的加密类型是否包含AES,以及是否存在"预身份验证失败"等提示。
    • 事件ID 4769(Kerberos服务票证请求):查看失败原因,是否为"加密类型不支持"。
  • 验证AD账号加密属性
    确认svc-a的msDS-SupportedEncryptionTypes属性是否正确设置了AES标识:

    Get-ADUser svc-a -Properties msDS-SupportedEncryptionTypes | Select-Object Name, msDS-SupportedEncryptionTypes
    

    有效值:0x8(AES128)、0x10(AES256),同时启用则为0x18。若值不正确,说明AES加密未真正生效。

  • 检查IIS应用池配置
    对比svc-a和svc-b对应的IIS应用池设置:

    • 确认应用池身份是否正确配置为svc-a。
    • 检查是否勾选Load User Profile选项:未勾选会导致账号无法生成Kerberos票据所需的本地配置文件。
  • 确认域Kerberos策略
    查看组策略中计算机配置>Windows设置>安全设置>本地策略>安全选项>Network security: Configure encryption types allowed for Kerberos,确保AES128_HMAC_SHA1、AES256_HMAC_SHA1已被启用,且未被RC4优先级覆盖。

解决方案

  • 补全/修正SPN并重置密码
    若svc-a缺失对应SPN,添加后重置密码(确保密钥同步):

    setspn -A HTTP/webserver.au.amp.local svc-a
    setspn -A HTTP/webserver svc-a
    # 重置svc-a密码
    Set-ADAccountPassword svc-a -Reset -NewPassword (ConvertTo-SecureString "NewPassword" -AsPlainText -Force)
    
  • 强制AD账号使用AES加密
    手动设置svc-a的加密类型属性,重置密码后生效:

    Set-ADUser svc-a -Replace @{msDS-SupportedEncryptionTypes=0x18}
    Set-ADAccountPassword svc-a -Reset -NewPassword (ConvertTo-SecureString "NewPassword" -AsPlainText -Force)
    
  • 调整IIS应用池设置
    启用应用池的Load User Profile选项,重启应用池和IIS服务:

    # 启用Load User Profile
    Set-ItemProperty "IIS:\AppPools\YourAppPoolName" -Name processModel.loadUserProfile -Value $true
    # 重启应用池
    Restart-WebAppPool -Name "YourAppPoolName"
    
  • 优化Kerberos加密策略
    在组策略中调整Network security: Configure encryption types allowed for Kerberos,将AES128、AES256移至优先级最高位,同时禁用RC4(需确保所有域内服务均支持AES)。


内容的提问来源于stack exchange,提问作者Sachin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 14:20:27