You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

将AD组加入服务器本地管理员组后远程PowerShell执行报错:拒绝访问

解决AD组加入本地管理员后远程PowerShell脚本拒绝访问的问题

兄弟,这个坑我之前踩过!把AD组加到本地管理员组后远程跑脚本被拒,但直接加用户就好使,大概率是组权限同步延迟、WinRM授权配置或者UAC远程过滤搞的鬼,给你几个实用的解决方案:

  • 先刷新组权限并重启相关服务
    AD组的权限有时候不会立刻同步到本地,尤其是远程会话里。先在目标服务器上执行强制刷新组策略:

    gpupdate /force
    

    然后重启WinRM服务(远程管理的核心服务):

    Restart-Service WinRM -Force
    

    如果还是不行,干脆重启一下服务器,确保组权限完全加载到位。

  • 检查并配置WinRM的远程授权规则
    有时候WinRM默认的配置里,没有把你的AD组加入到允许远程执行的列表里。先查看当前的授权规则:

    Get-PSSessionConfiguration -Name Microsoft.PowerShell | Select-Object -ExpandProperty Permission
    

    要是看不到你的AD组,就用这个命令打开权限设置窗口,手动添加组并授予权限:

    Set-PSSessionConfiguration -Name Microsoft.PowerShell -ShowSecurityDescriptorUI
    

    在弹出的窗口里找到你的AD组,给它分配「完全控制」或者「执行」权限就行。

  • 验证远程会话中的组身份
    有时候远程会话没正确识别AD组的SID,导致权限没生效。你可以在远程脚本里先加一行命令,看看当前用户的组列表:

    whoami /groups
    

    如果你的AD组不在列表里,说明AD复制还没完成,或者本地缓存没更新,等一会儿再试,或者手动在目标服务器上用该AD组的用户登录一次本地会话,触发组缓存更新。

  • 关闭UAC远程权限过滤
    默认情况下,Windows的UAC会对远程访问的本地管理员组成员做权限过滤,导致实际拿到的是普通权限。可以通过修改注册表关闭这个限制:

    1. 打开注册表编辑器(regedit
    2. 定位到HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
    3. 新建一个DWORD值,命名为LocalAccountTokenFilterPolicy,设置值为1
    4. 重启WinRM服务或者服务器,让设置生效

按这个顺序试下来,基本能解决问题!

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

火山引擎 最新活动