Obrigado @Sembee.
Para aqueles de vocês que têm que fazer isso. Aqui está um script rápido e sujo para fazer isso. Por favor, teste-o antes de usar em uma caixa de correio ativa e adapte-o conforme necessário.
# The mailbox to apply the permissions changes on
$mailbox = "[email protected]"
# The users to add to the mailbox folder list
$users = "[email protected]"
# Get a list of folders in the mailbox defined above. We want only the folder path
$folderlist = Get-MailboxFolderStatistics -Identity $mailbox | select FolderPath
# Create a List item consisting of string objects
[Collections.Generic.List[String]]$sList = New-Object -TypeName Collections.Generic.List[String]
# Loop through the entire list of folders and do something
foreach ($folder in $folderlist)
{
# Get the folderpath object from the folderlist and output it as a string value
$sfoldername = $folder.FolderPath | Out-String
# Look for the tree node called "Top of Information Store" and replace it with a /
$sfname = $sfoldername -replace "/Top of Information Store","/"
# replace all back slashes with forward slashes
$sfname = $sfname -replace "/","\"
# remove any hidden characters that might be lurking around in the string
$sfname = $sfname.Trim()
#Perform a bunch of IF statements in a simple way.
switch($sfname)
{
# System Folder in Mailbox. Do nothing if these are encountered
"\Recoverable Items" {break;}
"\Deletions" {break;}
"\Purges" {break}
"\Versions"{break;}
"\Quick Step Settings"{break}
"\Conversation Action Settings"{break;}
"\News Feed"{break;}
# Add the folder name into the list of strings defined earlier
default{$sList.Add($sfname);break}
}
}
# For each item in the list of strings apply permissions
foreach ($item in $sList)
{
# concatenate the foldername to contain the mailbox name and the folder path in a format the Set and Add permission command can understand.
$foldername = $mailbox + ":" + $item | Out-String
# remove any hidden characters that might be lurking around in the string
$fname = $foldername.Trim()
# Add the permissions on the folder assuming permissions haven't already been set
Add-MailboxFolderPermission -Identity $fname -AccessRights Owner -User $users
# If the user permissions already exists then set / update the permissions
Set-MailboxFolderPermission -Identity $fname -AccessRights Owner -User $users
}
Certifique-se de que você é muito cuidadoso com isso. Uma coisa a observar, se você quiser usar um grupo para controlar o acesso, certifique-se de definir o grupo como um grupo de segurança no diretório ativo e, em seguida, usar como um grupo de distribuição. Caso contrário, usar um grupo para controle de acesso não funcionará.