powershell - 尝试使用 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 并创建一个“身份”标头,但是在将数据重新导入 PowerShell 后,我遇到了同样的问题。
解决方案
您的解决方案非常接近。从Set-Mail
文档:
该
-Identity
参数指定要修改的邮箱。您可以使用任何唯一标识邮箱的值。
用于$mbox.UserPrincipalName
传递用户主体名称。
$mboxes = Get-MsolUser -All -UnlicensedUsersOnly
foreach ($mbox in $mboxes) { Set-Mailbox -HiddenFromAddressListsEnabled $true -Identity $mbox.UserPrincipalName }
推荐阅读
- javascript - 如何在 HTML 中使用来自外部文件的 Jquery 对象?
- file - 需要帮助理解一个简短的批处理脚本(可能是骗局)
- javascript - 将 onClick 目标 URL 传递到 cookie
- matlab - 用 MATLAB 对两个不同的函数进行数值积分
- go - 确定 delete 是否确实删除了地图中的现有键
- firebase - VueJS 项目中的 Firebase 初始化错误
- cordova - 为什么 Ionic/Cordova 为 Windows UWP 构建将 Content URI 添加到 appxmanifest?
- reactjs - 不能让 Regex 在 React 计算器中工作
- python - 使用 SQLAlchemy 持久化大型形式的烧瓶(新手)
- amazon-emr - 意外错误 Errno::EACCES 错误=权限被拒绝 EMR