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



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

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

$mboxes = Get-MsolUser -All -UnlicensedUsersOnly

将获取所有未经授权的用户,并将他们放在一个名为$mboxes的变量中,但这里似乎没有Identity。

当我尝试运行以下内容时:

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

我得到以下错误。

Cannot process argument transformation on parameter 'Identity'.

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

您的解决方案非常接近。来自Set-Mail文档:

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

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

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

最新更新