. У меня проблема, когда у пользователей [1..10] есть полный Доступ почтового ящика к почтовому ящику пользователя A.
Пользователь A, теперь хочет ограничить доступ, чтобы все пользователи [1..10] имели доступ, кроме «Отправленных» и «Удаленных». В этом User2 и User3 должны продолжить имея доступ, как было запрошено ранее.
Есть ли для меня простой способ ограничить доступ к папке без необходимости удалять полное право доступа к почтовому ящику и применять права каждого отдельного пользователя к каждой конкретной папке?
Извините, если этот вопрос уже был задан ранее и был дан ответ. Я посмотрел, но думаю, что Google не смог понять мой запрос.
Я делаю это через PowerShell, так как это придется повторять много раз в нескольких почтовых ящиках.
Спасибо @Sembee.
Для тех из вас, кому приходится это делать. Вот быстрый и грязный сценарий для этого. Пожалуйста, протестируйте его перед использованием в реальном почтовом ящике и при необходимости адаптируйте.
# The mailbox to apply the permissions changes on
$mailbox = "target@domain.com"
# The users to add to the mailbox folder list
$users = "user1@domain.com"
# 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
}
Убедитесь, что вы очень осторожны с этим. Следует отметить, что если вы хотите использовать группу для управления доступом, убедитесь, что вы установили группу в качестве группы безопасности в активном каталоге, а затем использовали ее как группу рассылки. В противном случае использование группы для контроля доступа не сработает.
Нет.
Полный доступ важнее всего остального, так как наивысшие разрешения побеждают в Exchange, поэтому полный почтовый ящик выше, чем разрешение на уровне папки.
Поэтому единственный вариант - удалить полный доступ к почтовому ящику. и предоставить разрешения на уровне папки.
Вы должны иметь возможность использовать PowerShell что-то, что предоставляет разрешения для всех папок в почтовом ящике, а затем удаляет разрешения для необходимых папок. Однако это также будет означать, что новым папкам верхнего уровня потребуется изменение разрешений (новые подпапки наследуются).