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

如何在无Exchange环境下用PowerShell移除AD已终止用户的通讯组成员身份?

解决AD已终止用户通讯组成员移除问题

你的环境使用Google Workspace没有Exchange,没法用Exchange专属的Remove-DistributionGroupMember,但AD原生的PowerShell模块完全可以处理通讯组——通讯组本质上也是AD中的组对象,只是类型为通讯组,Remove-ADGroupMember同样适用。原脚本的问题大概率是Get-ADPrincipalGroupMembership没有完整返回所有组,改用Get-ADUser的MemberOf属性获取所有组的DN会更可靠。

修改后的脚本

# 定义已终止用户OU路径
$terminatedOU = "OU=Terminated Users,DC=corp,DC=company,DC=com"
# 日志目录,不存在则自动创建
$logDir = "C:\temp"
if (-not (Test-Path $logDir)) {
    New-Item -ItemType Directory -Path $logDir | Out-Null
}

# 获取所有已终止用户并遍历处理
Get-ADUser -SearchBase $terminatedOU -Filter * -Properties MemberOf | ForEach-Object {
    $user = $_
    $logFile = Join-Path $logDir "$($user.SamAccountName).txt"
    
    # 遍历用户所属的所有组(包含安全组和通讯组)
    foreach ($groupDN in $user.MemberOf) {
        $group = Get-ADGroup -Identity $groupDN
        
        # 排除Domain Users组
        if ($group.Name -ne "Domain Users") {
            try {
                # 移除用户组,捕获错误避免脚本中断
                Remove-ADGroupMember -Identity $group -Members $user -Confirm:$false -ErrorAction Stop
                Write-Host "已移除 $($user.Name) 从组: $($group.Name)"
                # 写入操作日志
                $group.Name | Out-File -FilePath $logFile -Append -Encoding utf8
            }
            catch {
                Write-Warning "移除 $($user.Name) 从组 $($group.Name) 失败: $_"
            }
        }
    }
}

关键改进点

  • 改用MemberOf属性获取所有组:Get-ADPrincipalGroupMembership可能遗漏部分跨域或特殊类型的组,而MemberOf是AD用户对象的原生属性,能返回所有直接所属组的DN,覆盖安全组和通讯组。
  • 增加错误处理:通过try/catch块捕获移除失败的异常,输出警告同时保证脚本继续执行。
  • 日志编码优化:指定UTF8编码写入日志,避免组名含中文时出现乱码。
  • 目录预检查:提前创建日志目录,避免因目录不存在导致日志写入失败。

验证通讯组是否被正确处理

可以先运行以下命令,确认用户所属的通讯组列表:

Get-ADUser -Identity 目标用户名 -Properties MemberOf | Select-Object -ExpandProperty MemberOf | ForEach-Object {
    Get-ADGroup -Identity $_ | Where-Object { $_.groupType -band 0x80000000 } | Select-Object Name
}

0x80000000是AD中通讯组的类型标识,上述命令会列出用户所有的通讯组成员身份,方便验证脚本是否正确处理这些组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 16:55:24