我有命令删除数据库中用户的管理员权限。然后我运行另一个脚本,然后添加管理员权限。
删除管理员权限的脚本是:
Get-Mailbox -ResultSize Unlimited -Database "MailboxDatabase4" | Remove-MailboxPermission -user "admin" -AccessRights FullAccess -InheritanceType All
添加管理员权限的脚本是:
Get-Mailbox -ResultSize Unlimited -Database "MailboxDatabase4" | Add-MailboxPermission -user "admin" -AccessRights FullAccess -InheritanceType All
我有6个数据库,因此我每天必须运行12次脚本。有没有办法在一个脚本中调用所有数据库,这样我只需要为所有数据库运行一个脚本来删除管理员权限,然后再添加另一个脚本来添加管理员权限。因此,不必为每个单独的数据库执行此操作。
答案 0 :(得分:0)
只需删除通话中的-Database
参数?
Get-Mailbox -ResultSize Unlimited | ...
Get-Mailbox
将立即返回所有邮箱。根据组织的规模,这可能是一项代价高昂的冒险。
您还可以收集所有数据库,然后在循环中调用Get-Mailbox
,但这与上面发生的情况没有什么不同。
$dbs = get-mailboxdatabase | Select -ExpandProperty Name
$dbs | ForEach-Object{
Get-Mailbox -ResultSize Unlimited -Database $_ | ...
}