Это мой первый пост;Я довольно новичок в powershell.
По запросу клиента я изменяю права доступа к Календарю для всех пользователей в их Exchange 365. Я установил значение по умолчанию «Рецензент» для всех почтовых ящиков, используя найденный кодна Spiceworks :
$users = get-mailbox
foreach ($user in $users) {set-mailboxfolderpermission -identity $($user.alias):\calendar" -User Default -AccessRights Reviewer -confirm:$false}
И я могу удалить все разрешения других пользователей из указанного почтового ящика, используя сценарий, который я придумал из приведенного выше:
$users = get-mailbox
foreach ($user in $users) {Write-host -foregroundcolor green "Removing permission for $($user.alias)..."
remove-mailboxfolderpermission -identity username:\calendar -user $user.alias -confirm:$false}
Я надеялся найти способ удалить все явные разрешения из всех почтовых ящиков в одной команде для любого будущего использования;Я думаю, что это будет включать вложенные операторы foreach, но я изо всех сил пытаюсь получить правильный двойной цикл.
Необходимо запустить что-то вроде этого:
$ users = get-mailbox
foreach $ user {remove-mailboxfolderpermission -identity user1 .alias: \ calendar -user $ user1 .alias}
foreach $ user {remove-mailboxfolderpermission -identity user1 .alias: \ calendar -user $ user2 .alias}
foreach $ user {remove-mailboxfolderpermission -identity user1 .alias: \ calendar -user $ user3 .alias}
foreach $ user {remove-mailboxfolderpermission -identity user1 .alias: \ calendar -user $ user4 .alias}
foreach $ user {remove-mailboxfolderpermission -identity user2 .alias: \ calendar -user $ user1 .alias}
foreach $ user {remove-mailboxfolderpermission -identity user2 .alias: \ calendar -user $ user2 .alias}
foreach $ user {remove-mailboxfolderpermission -identity user2 .alias: \ calendar -user $ user3 .alias}
foreach $ user {remove-mailboxfolderpermission -identity user2 .alias: \ calendar -user $ user4 .alias}
foreach $ user {remove-mailboxfolderpermission -identity user3 .alias: \ calendar -user $ user1 .alias}
И т. Д.
Но он вытягивает user.alias из того же массива, поэтому в моих экспериментах он либо запускается один раз (та же запись для -identity и -user), либо завершается с ошибкой или выполняется вечно.
Будет полезна любая помощь, советы или общие рекомендации относительно вложенного извлечения ForEach из того же источника.