所以要彻底,如果你要这样做,有多个地方可以清除移动设备。合作伙伴关系在 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
与此对话有关的一些设置是DefaultAccessLevel
和DeviceFiltering
。
现在,如果您要清除 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}}
最后一点建议,首先用一小部分试点用户进行测试。