尝试使用 Powershell 从全局地址列表中删除所有未经许可的用户

Trying to remove all unlicensed users from the Global address list using Powershell

提问人:level42 提问时间:3/4/2020 最后编辑:Morpheuslevel42 更新时间:3/4/2020 访问量:2329

问:

我正在尝试从全局地址列表中删除所有未经许可的用户。

到目前为止,我发现......

$mboxes = Get-MsolUser -All -UnlicensedUsersOnly

...将让我获得所有未经许可的用户,并将他们放在一个名为 的变量中,但是这里似乎没有 Identity。$mboxes

当我尝试运行类似的东西时:

foreach ($mbox in $mboxes) { Set-Mailbox -HiddenFromAddressListsEnabled $true -Identity $mbox }

我得到以下错误。

Cannot process argument transformation on parameter 'Identity'.

我尝试将该数据导出到 CSV 并创建“Identity”标头,但是在将数据重新导入 PowerShell 后遇到了同样的问题。

PowerShell 的Office365

评论


答:

3赞 Morpheus 3/4/2020 #1

你的解决方案非常接近。 从文档中:Set-Mail

该参数指定要的邮箱 修改。可以使用唯一标识邮箱的任何值。-Identity

用于传递用户主体名称。$mbox.UserPrincipalName

$mboxes = Get-MsolUser -All -UnlicensedUsersOnly
foreach ($mbox in $mboxes) { Set-Mailbox -HiddenFromAddressListsEnabled $true -Identity $mbox.UserPrincipalName }

评论

0赞 level42 3/4/2020
哇,这么近,真的很感谢反馈。这当然成功了!