PowerShell'i kullanarak Klasör İzinlerini Yönetme | Ofis 365


Bu yazımızda PowerShell klasör izinleri komutunun Office 365 ve Exchange Online ortamında kullanımını inceliyoruz.

Klasör izinleri

Teknik olarak, belirli bir klasörü paylaşma özelliği, kullanıcı klasörlerinin her biri için uygulanabilir. Ancak çoğu zaman bir klasörü paylaşma ihtiyacı takvim ve kişiler klasörüyle ilgilidir.

Klasör Paylaşımı'nı kullanarak diğer kullanıcıların Takvim, Kişiler ve Görevler gibi belirli Outlook klasörlerine erişmesini sağlayabiliriz.

“Klasör Paylaşımı” işlemi iki unsura dayanır: klasörü paylaşmak istediğimiz kullanıcı (veya grup) ve etkinleştirmek istediğimiz izin düzeyi.

Örneğin, varsayılan olarak kullanıcılar diğer alıcıların yalnızca serbest/meşgul zamanlarını görebilir.

Diğer kullanıcıların toplantı hakkında daha fazla bilgi almasına izin vermek istersek, varsayılan izinleri değiştirebilir ve diğer kullanıcıların toplantı konusu, yeri gibi toplantıyla ilgili ek bilgileri görmesini sağlayabiliriz.

Klasör izinleri kullanıcının kendisi tarafından (Outlook veya OWA arayüzü kullanılarak) veya PowerShell kullanılarak atanabilir.

Klasör izinlerini yönetmek için PowerShell kullanmanın avantajı, yöneticinin kullanıcı için gerekli ayarı uzaktan oluşturabilmesi (kullanıcılara yardımcı olması ve yapılandırmaların kaçırılmasını önlemesi) ve Toplu Modda komutları yürütmek için PowerShell'in gücünü kullanmasıdır (birden fazla kişinin yapılandırma ayarlarını yürütmek) posta kutusu).

Roller ve izinler

AccessRights parametresi ayrıca, daha önce listelenen hakların birleşimi olan aşağıdaki rollere sahip kullanıcının izinlerini de belirtir:

None

KlasörGörünür

Owner

CreateItems, ReadItems, CreateSubfolders, FolderOwner, FolderContact, FolderVisible, EditOwnedItems, EditAllItems, deleteOwnedItems, deleteAllItems

PublishingEditor

CreateItems, ReadItems, CreateSubfolders, FolderVisible, EditOwnedItems, EditAllItems, deleteOwnedItems, deleteAllItems

Editor

CreateItems, ReadItems, FolderVisible, EditOwnedItems, EditAllItems, deleteOwnedItems, deleteAllItems

PublishingAuthor

CreateItems, ReadItems, CreateSubfolders, FolderVisible, EditOwnedItems, deleteOwnedItems

Author

CreateItems, ReadItems, FolderVisible, EditOwnedItems, deleteOwnedItems

NonEditingAuthor

CreateItems, ReadItems, FolderVisible

Reviewer

ReadItems, FolderVisible

Contributor

CreateItems, FolderVisible

Klasör izinleri PowerShell komutlarının temel yapısı

PowerShell Klasör izinleri komutunun temel yapısı aşağıdaki sözdizimi kullanılarak yazılmıştır:

Örneğimizde, Alice'in yönetici takviminde (John) Yayınlama Düzenleyicisi iznine sahip olmasını sağlamak istiyoruz.

-Identity parametresi, takvimini "paylaşmak" isteyen kullanıcıyla ilgilidir (diğer kullanıcılara takviminin içeriğine erişme seçeneği sunar) ve -User parametresi takvime erişebilecek kullanıcıyı temsil eder.

1. Takvim klasörüne Klasör İzni atayın (Takvim paylaşımı)

1.1 - Takvim Klasörüne Yayınlama Düzenleyicisi İzni Atayın

PowerShell komut sözdizimi:

Add-MailboxFolderPermission <Identity>:\calendar -User <Identity> -AccessRight <Access Right>

PowerShell komut örneği:

Add-MailboxFolderPermission "John:\calendar" -AccessRight PublishingEditor -User "Suzan" -AccessRight PublishingEditor

1.2 - Mevcut tüm Takvimlere belirli bir kullanıcıya Yayınlama Düzenleyicisi izinleri atayın (Toplu Mod)

PowerShell komut sözdizimi:

Get-Mailbox | ForEach-Object {Add-MailboxFolderPermission $_":\Calendar" -User <Identity> -AccessRights <Access Right>}

PowerShell komut örneği:

Get-Mailbox | ForEach-Object {Add-MailboxFolderPermission $_":\Calendar" -User "John" -AccessRights PublishingEditor}

1.3 - Takvimin varsayılan Klasör iznini şu şekilde ayarlayın: Yayınlama Düzenleyicisi

PowerShell komut sözdizimi:

Set-MailboxFolderPermission <Identity>:\calendar -User default -AccessRights PublishingEditor

PowerShell komut örneği:

Set-MailboxFolderPermission "John:\calendar" -User default -AccessRights PublishingEditor

1.4 - Kuruluşunuzdaki herkes için varsayılan paylaşım iznini şu şekilde ayarlayın: Gözden Geçirici (Toplu Mod)

PowerShell komut sözdizimi:

$AllMailboxes = Get-Mailbox -Resultsize Unlimited

Foreach ($user in $AllMailboxes) {
    Set-mailboxfolderpermission -identity ($user.alias + ':\calendar') -user Default -Accessrights Reviewer
}

1.5 - Takvim klasörüne Yayınlama Düzenleyicisi İzni Atayın - Farklı dil

PowerShell komut sözdizimi:

$id = <Identity>; $id += ":\" + (Get-MailboxFolderStatistics -Identity $id | Where-Object {$_.FolderType -eq "Calendar"}).Name; Add-MailboxFolderPermission $id -User <Identity> -AccessRights PublishingEditor

PowerShell komut örneği:

$id = "John"; $id += ":\" + (Get-MailboxFolderStatistics -Identity $id | Where-Object {$_.FolderType -eq "Calendar"}).Name; Add-MailboxFolderPermission $id -User "Suzan" -AccessRights PublishingEditor

2. Kişiler klasörüne Klasör izni atayın

2.1 - Kişiler Klasörüne Yayınlama Düzenleyicisi İzni Atayın

PowerShell komut sözdizimi:

Add-MailboxFolderPermission <Identity>:\contacts -AccessRight PublishingEditor -User <Identity>

PowerShell komut örneği:

Add-MailboxFolderPermission "John:\contacts" -AccessRight PublishingEditor -User "Suzan"

2.2 - Kişiler klasörünün varsayılan iznini Yayınlama Düzenleyicisi olarak ayarlayın

PowerShell komut sözdizimi:

Set-MailboxFolderPermission <Identity>:\contacts -User default -AccessRights Editor

PowerShell komut örneği:

Set-MailboxFolderPermission "John:\contacts"" -User default -AccessRights Editor

3. Klasör iznini görüntüle (Takvim ve Kişiler)

3.1 - Takvimi görüntüleme Klasör izni

PowerShell komut sözdizimi:

Get-MailboxFolderPermission <Identity>:\calendar

PowerShell komut örneği:

Get-MailboxFolderPermission "John:\calendar"

Ayarlamalar ve Özelleştirmeler: Ekran çıktısı ayrıntılarını filtreleyin.

PowerShell komut örneği:

Get-MailboxFolderPermission "John:\calendar" | Select FolderName, User, AccessRights

3.2 - Kişileri görüntüleme Klasör izni

PowerShell komut sözdizimi:

Get-MailboxFolderPermission <Identity>:\contacts

PowerShell komut örneği:

Get-MailboxFolderPermission "John:\contacts"

Ayarlamalar ve Özelleştirmeler: Ekran çıktısı ayrıntılarını filtreleyin.

PowerShell komut örneği:

Get-MailboxFolderPermission "John:\contacts" | Select FolderName, User, AccessRights

3.3 - Tüm alıcılar için klasörü dışa aktarma izni (Toplu mod) | CSV Formatı

PowerShell komut sözdizimi:

Get-Mailbox | Get-MailboxFolderPermission | Export-CSV <Path> -Encoding UTF8 -NoTypeInformation

PowerShell komut örneği:

Get-Mailbox | Get-MailboxFolderPermission | Export-CSV "c:\temp\users.csv" -Encoding UTF8 -NoTypeInformation

4. Klasör izinlerini kaldırın

4.1 - Belirli bir kullanıcı için Takvim klasöründen İzni Kaldırma

PowerShell komut sözdizimi:

Remove-MailboxFolderPermission <Identity>:\calendar -User <Identity>

PowerShell komut örneği:

Remove-MailboxFolderPermission "John:\calendar" -User "Suzan"

Ayarlamalar ve Özelleştirmeler: Onay istemini kaldırın.

Remove-MailboxFolderPermission "John:\calendar" -User "Suzan" -Confirm:$false

4.2 - Belirli bir kullanıcı için kişiler klasöründen İzni Kaldırma

PowerShell komut sözdizimi:

Remove-MailboxFolderPermission <Identity>:\contacts -User <Identity>

PowerShell komut örneği:

Remove-MailboxFolderPermission "John:\contacts" -User "Suzan"

Ayarlamalar ve Özelleştirmeler: Onay istemini kaldırın.

Remove-MailboxFolderPermission "John:\contacts" -User "Suzan" -Confirm:$False

4.3 - Belirli bir kullanıcının iznini tüm Takvimlerden kaldırın (Toplu Mod)

PowerShell komut sözdizimi:

Get-Mailbox | ForEach-Object {Remove-MailboxFolderPermission $_":\Calendar" -User <Identity>} -Confirm:$False

PowerShell komut örneği:

Get-Mailbox | ForEach-Object {Remove-MailboxFolderPermission $_":\Calendar" -User "John"} -Confirm:$False

5. Klasör izinlerini atayın | Gelişmiş

5.1 - Belirli bir posta kutusu klasörüne Klasör İzinleri Atayın

PowerShell komut sözdizimi:

Add-MailboxFolderPermission -Identity <Identity>:\inbox\<folder> -user <Identity> -AccessRights

PowerShell komut örneği:

Add-MailboxFolderPermission -Identity "John:\inbox\Folder A" -user "Suzan" -AccessRights Reviewer

5.2 - Özyinelemeli Paylaşılan Klasör İzinlerini Atayın

PowerShell komut sözdizimi:

ForEach ($f in (Get-MailboxFolderStatistics <source mailbox> | Where { $_.FolderPath.Contains("/") -eq $True } ) ) {
    $fname = "<source mailbox>:" + $f.FolderPath.Replace("/", "\"); Add-MailboxFolderPermission $fname -User <user> -AccessRights Reviewer
    Write-Host $fname
    Start-Sleep -Milliseconds 1000
}

PowerShell komut örneği:

ForEach ($f in (Get-MailboxFolderStatistics "Suzan" | Where { $_.FolderPath.Contains("/") -eq $True } ) ) {
    $fname = "Suzan:" + $f.FolderPath.Replace("/", "\"); Add-MailboxFolderPermission $fname -User "John" -AccessRights Reviewer
    Write-Host $fname
    Start-Sleep -Milliseconds 1000
}

İlgili makaleler