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

Exchange基于CSV批量清理移动设备允许列表并重添加指定设备的PowerShell方案咨询

Exchange环境基于CSV的PowerShell批量操作方案

前置准备:CSV映射表规范

所有批量操作均基于统一格式的CSV文件执行,需满足以下列要求:

  • MailboxIdentity列:填写可唯一定位CAS邮箱的标识(支持用户UPN、SamAccountName、主邮箱地址)
  • DeviceID列:填写对应用户需要添加到允许列表的目标移动设备ID;单用户绑定多设备时,可在同一单元格用英文分号分隔多个ID

示例CSV内容:
MailboxIdentity,DeviceID
zhangsan@contoso.com,DeviceABC123
lisi@contoso.com,DeviceDEF456;DeviceGHI789

第一步:批量清空目标用户现有允许列表

操作提示:正式执行清空前,建议先导出所有目标用户当前的ActiveSyncAllowedDeviceIDs做离线备份,避免误操作丢失原有配置

执行以下脚本,对CSV中列出的所有用户批量清空原有允许列表,逻辑与单用户操作命令完全一致:

# 导入CSV映射表,替换为实际文件路径
$userDeviceMapping = Import-Csv -Path "C:\ExchangeOps\UserDeviceConfig.csv"

foreach ($user in $userDeviceMapping) {
    # 跳过空行无效对象
    if ([string]::IsNullOrWhiteSpace($user.MailboxIdentity)) { continue }
    # 执行清空操作
    Set-CASMailbox -Identity $user.MailboxIdentity -ActiveSyncAllowedDeviceIDs $null -ErrorAction Continue
}

第二步:批量重配对应设备到用户允许列表

脚本兼容单用户单设备、多设备的添加场景,与单用户添加命令语法完全匹配:

foreach ($user in $userDeviceMapping) {
    if ([string]::IsNullOrWhiteSpace($user.MailboxIdentity) -or [string]::IsNullOrWhiteSpace($user.DeviceID)) { continue }
    # 拆分分号分隔的多设备ID为标准数组,自动过滤空值
    $targetDevices = $user.DeviceID -split ';' | ForEach-Object { $_.Trim() } | Where-Object { $_ -ne '' }
    # 批量添加设备ID到允许列表
    Set-CASMailbox -Identity $user.MailboxIdentity -ActiveSyncAllowedDeviceIDs @{add=$targetDevices} -ErrorAction Continue
}

第三步:批量验证配置生效情况

脚本自动拉取CSV中所有用户的当前配置,与预期值做比对并导出结果,无需逐用户手动执行查询命令:

$verifyReport = @()

foreach ($user in $userDeviceMapping) {
    if ([string]::IsNullOrWhiteSpace($user.MailboxIdentity)) { continue }
    # 获取用户当前的CAS邮箱配置
    $currentCasConfig = Get-CASMailbox -Identity $user.MailboxIdentity -ErrorAction SilentlyContinue
    $currentAllowedIds = $currentCasConfig.ActiveSyncAllowedDeviceIDs -join ';'
    
    # 比对当前配置与预期值
    $isConfigCorrect = $currentAllowedIds -eq $user.DeviceID

    $verifyReport += [PSCustomObject]@{
        对应用户标识 = $user.MailboxIdentity
        预期允许设备ID = $user.DeviceID
        实际当前允许设备ID = $currentAllowedIds
        配置是否校验通过 = $isConfigCorrect
    }
}

# 导出校验结果为CSV,方便后续异常排查
$verifyReport | Export-Csv -Path "C:\ExchangeOps\ActiveSyncConfigVerify.csv" -NoTypeInformation -Encoding UTF8

补充说明:如需查看单用户全量ActiveSync相关配置,可直接执行参考命令Get-CASMailbox -Identity 目标用户标识 | fl activesync*获取详细配置项。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.24 23:57:04