首页 > 解决方案 > Exchange 从 .csv 文件批量导入以从允许列表中删除,然后从允许列表中删除

问题描述

想也许我可以在这里寻求帮助!有谁知道我可以在我们的 Exchange 服务器上运行的 Powershell 脚本来执行以下操作:

  1. 我们最初希望从所有用户中清除所有或当前的移动设备
  2. 然后将我们从他们那里收到的特定移动设备 ID 重新添加到允许列表中

我可以创建某种 .csv 和脚本来加快这个过程吗?我们发现以下脚本可以从 ALLOW 中删除所有内容并添加到 ALLOW

清除所有 Allow Set-CASMailbox -Identity username -ActiveSyncAllowedDeviceIDs $null

添加到允许 Set-CASMailbox -Identity 用户名 -ActiveSyncAllowedDeviceIDs @{add='DeviceId'}

也许在运行这个脚本之后,如果还有一个批量的 .csv 快速方法来显示对帐户的结果?使用这个命令?Get-CASMailbox -Identity 用户名 | fl 主动同步*

标签: office365exchange-server-2016

解决方案


所以要彻底,如果你要这样做,有多个地方可以清除移动设备。合作伙伴关系在 Active Directory 中建立。

Get-MobileDevice -Mailbox UserID | ft FriendlyName,DeviceAccessState,DeviceAccessStateReason,DeviceId

您可以将其通过管道传输到 FL 以获取更多详细信息,但这是一个好的开始。注意设备状态和设备状态原因:

  • Blocked - Individual= 设备 ID 已放置在用户的 ActiveSyncBlockedDeviceID 上(通过 PowerShell 或使用 PowerShell 的 MDM)
  • Allowed - Individual= 设备 ID 已放置在用户的 ActiveSyncAllowedDeviceIDs 上

还有其他组合,但这两种很常见。

您还应该检查您的全局配置。

Get-ActiveSyncOrganizationSettings

与此对话有关的一些设置是DefaultAccessLevelDeviceFiltering

现在,如果您要清除 ActiveSyncAllowedDeviceIDs,清除 ActiveSyncBlockedDeviceIDs 也可能很有用。如果您在执行导入后在两个属性中都有设备 ID,则会导致冲突并可能生成调用。

要清除环境中的所有设备 ID(这意味着全部),您无需指定邮箱:

get-casmailbox | set-casmailbox -ActiveSyncAllowedDeviceIDs $null -ActiveSyncBlockedDeviceIDs $null

但是,您可能需要在个人阻止列表中保留一些 ID,例如被盗电话或类似的东西。你的来电。

您问题的下一部分需要一个源文件。

获取您的用户列表并将其PrimarySMTPAddress和设备 ID 放入文件中。我没有对此进行测试,但我假设,如果用户有多个设备,则此逻辑中的每个配对都需要单独的一行。可能还有其他方法可以做到这一点。

  • 文件名 = 用户.CSV
  • 标题行 = 电子邮件、设备
  • 数据格式 = user@domain.com,deviceID

将其保存到已知位置(例如 C:\temp\Users.CSV)并将其导入脚本中的变量中。

$users = Import-Csv -Path .\Users.csv

验证变量中的日期(我这样做是为了一直避免语法错误);您想要进行 3 次快速检查:一项针对所有对象,一项仅针对电子邮件地址,一项仅针对设备。

$users
$users.email
$users.Device

接下来,我们循环浏览列表以将设备 ID 添加到AllowedDeviceIDs属性中。

Foreach ($User in $Users) {Set-CASMailbox -Identity $User.Email -activeSyncAllowedDeviceIDs @{add=$user.Device}}

最后一点建议,首先用一小部分试点用户进行测试。


推荐阅读