Tam Erişim izni | Tam Erişim Posta Kutusu izni – Her Zaman Bilmek İstediğiniz Ama Sormaya Korktuğunuz Her Şey bölüm 3/3 .com


Bu, Office 365 ortamında Tam Erişim Posta Kutusu izninin uygulanması ve kullanılmasıyla ilgilenen üç makalelik serinin son makalesidir.

Makale iki bölümden oluşuyor:

  1. Posta Kutusu izinlerini görüntüleme
    Bu bölümde, posta kutusu izinlerini görüntülemek için temel PowerShell komutunu inceleyeceğiz ve gereksiz bilgileri "temizlememize" yardımcı olacak birkaç geliştirmeyi göstereceğiz.
  1. Posta Kutusu izinlerini kaldırma
    "Posta kutusu izinlerini kaldırma" için mantıksal PowerShell komut sözdizimi, posta kutusu iznini eklemek için kullandığımız PowerShell sözdizimiyle aynıdır. Bu gerçeğe rağmen, Tam Erişim posta kutusu izinlerinin kaldırılması işlemiyle ilgili bazı tipik senaryoları gözden geçirmek benim için önemliydi.

Tam Erişim Posta Kutusu izni | Makale Serisi

Tam Erişim Posta Kutusu izni makale serisi aşağıdaki üç makaleyi içerir:

  1. Tam Erişim Posta Kutusu izni - Bölüm 1/3
  2. Tam Erişim Posta Kutusu izni - Bölüm 2/3
  3. Tam Erişim Posta Kutusu izni - Bölüm 3/3 (bu makale)

Bölüm 1. Posta Kutusu izinlerini görüntüleme

Office 365 (Exchange Online) ortamında posta kutusu izinlerini görüntülemek için temel PowerShell komutunu kullandığımızda aşağıdaki sorunlarla ilgileniriz:

  1. İlgili olmayan bilgiler
    Görüntülenecek sonuç, belirli bir kullanıcının posta kutusunda sahip olduğu izne ilişkin ek ayrıntıları ve kullanıcı posta kutularının her birinde izni olan yerleşik sistem grubu hakkında ek bilgileri içerecektir.
  2. Kullanıcı adı biçimi
    Bir posta kutusu izniyle ilgili bilgileri görüntülediğimizde, AD kullanıcı adı kullanılarak görüntülenen kullanıcı adı hakkındaki bilgiler. Office 365 (Exchange Online) ortamında kullanıcı görünen adı, standart kullanıcı görünen adından veya posta kutusu takma adından farklıdır. Sonucun okunması veya anlaşılması bazen zordur çünkü "tuhaf AD kullanıcı adlarını", bir kullanıcıya görünen adı veya takma adlarıyla atıfta bulunmak gibi bildiğimiz kuralları anlamak o kadar kolay değildir.

Posta kutusu izinlerini görüntülemek için varsayılan ekranı kullanma

Posta kutusu izinlerini görüntülemek için kullandığımız PowerShell cmdlet'i Get-MailboxPermission'dır.

Örneğin: Kullanıcıların (veya bir grubun) John'un posta kutusunda sahip olduğu Tam Erişim posta kutusu iznini görüntülemek için PowerShell komutunu kullanabiliriz:

Get-MailboxPermission "John"

Çıktı aşağıdaki ekran görüntüsünde görüntülenir.

Teknik olarak gerekli sonuçları aldık ancak PowerShell konsolunda gösterilen sonuca daha derinlemesine bakarsak bazı "sorunları" fark edebiliriz:

Kullanıcı sütunu

Kullanıcı adlı başlığın altında, John'un posta kutusuna ve diğer kullanıcılara Tam Erişim iznine sahip yerleşik bir sistem grubu gibi birçok "nesne" hakkında bilgi görebiliriz. Posta kutusu izinlerine sahip “nesneler” hakkındaki bilgiler dört nedenden dolayı pek net değildir:

  1. Kullanıcı sütunu yeterince geniş değil ve bu nedenle kullanıcı adının önemli bir kısmı “siliniyor”.
  2. Posta kutusu iznine sahip nesneye ilişkin bilgiler, yerleşik sistem grubu hakkında pek çok ilgisiz bilgi, kullanıcının posta kutusunda sahip olduğu emeklilik bilgileri vb. içerir.
  3. Active Directory kullanıcı adı kullanılarak posta kutusu iznine sahip kullanıcının adı görüntülenir. Office 365 ortamında Active Directory kullanıcı adı, standart kullanıcı takma adından veya görünen adından farklıdır.
  4. Kullanıcı adının öneki sunucu adıdır (yararlı olmayan bilgi).

Ek olarak, varsayılan ekranda IsInherited ve Deny (sayı 2) gibi bir sütun bulunur. Çoğu zaman bu bilgiler de konuyla alakalı değildir.

Görüntülenen Posta Kutusu izinlerinin sonuçlarını optimize edin

Adım 1 - Gereksiz sütunu temizleyin

İlk adımda FL (file list) parametresini kullanarak alakasız sütunu kaldıracağız. FL seçeneği, tam sütunu belirtmemize olanak tanır (sütun başlığı adını belirterek). Örneğimizde yalnızca Kimlik, Kullanıcı, Erişim Hakları sütunlarını görüntülemek istiyoruz.

PowerShell komut sözdizimi:

Get-MailboxPermission "John" | FT Identity,User,AccessRights

Ekran görüntüsünde "kullanıcı" sütununun daha net görüntülendiğini görebiliyoruz ancak hâlâ bazı sorunlarımız var: Tam Erişime sahip yerleşik sistem grupları hakkındaki bilgiler gibi pek çok alakasız bilgi var John'un posta kutusundaki izin ve ayrıca, kullanıcı adı ve numaraların bir kombinasyonunu içeren Active Directory kullanıcı adı kullanılarak görüntülenen yönetici hesabı gibi Tam Erişim iznine sahip kullanıcı hakkındaki bilgiler.

Adım 2 - Yerleşik gruplar ve SELF hakkındaki gereksiz bilgileri temizleyin

Bir posta kutusuna yalnızca "açıkça atanan izinleri" görüntüleyebilmek için, alakasız verileri filtrelememiz veya kaldırmamız gerekir.

Kaldırmak istediğimiz ilk detay, her kullanıcının posta kutusunda sahip olduğu “SELF” iznidir. Görüntülenen sonuçtan kaldırmak istediğimiz ikinci tür izinler ise şu şekilde anlatılıyor: “IsInherited” izinler.

Gereksiz bilgileri temizlemek için, NT AUTHORITY\SELFolarak sınıflandırılan Tam Erişim posta kutusu iznini hariç tutmak için bir mantıksal koşul kullanacağız (PowerShell komutunu kullanarak - Nerede) > ve Devralındı.

PowerShell komut sözdizimi:

Get-MailboxPermission "John" | Where { ($_.IsInherited -eq $False) -and -not ($_.User -like "NT AUTHORITY\SELF") } | FL Identity,User,AccessRights

Aşağıdaki ekran görüntüsünde, alakasız bilgilerin çoğunu hariç tutmayı veya temizlemeyi başarıyla başardığımızı görebiliriz. Artık iki kullanıcının John'un posta kutusuna Tam Erişim posta kutusu iznine sahip olduğunu görebiliyoruz.

Adım 3 - Hesaplanan özellikleri kullanma

Bir sonraki adımda gerekli görevi tamamlayacağız. Şimdiki görevimiz, Kullanıcı sütununda daha okunabilir kullanıcı adını etkinleştirmektir.

Active Directory kullanıcı adı kuralını Ad özelliğini kullanarak değiştireceğiz. Ayrıca, sütun başlığı adını mevcut Kullanıcı adından daha kullanışlı bir sütun başlığına değiştireceğiz.

Bu amaçla “Tam Erişime Sahip Kullanıcılar” adında yeni bir sütun başlığı oluşturacağız. Yeni sütunun içeriği, John'un posta kutusuna Tam Erişim posta kutusu izinlerine sahip olan kullanıcı adını içerecektir. Ancak standart kullanıcı adı kuralları yerine, izinleri olan her kullanıcı için "isim" özelliğini (veya tanımlayıcısını) "çıkarıyoruz".

PowerShell komut sözdizimi:

Get-MailboxPermission "John" | Where { ($_.IsInherited -eq $False) -and -not ($_.User -like "NT AUTHORITY\SELF") } | FT Identity, @{name="Users that have Full Access ";expression={(Get-User $_.User).Name}},AccessRights

Aşağıdaki ekran görüntüsünde sonuçları görebiliriz.

PowerShell konsolunda görüntülenen çıktı daha anlaşılır. Çıktının Tam Erişime Sahip Kullanıcılar adında "yeni bir sütun başlığı" içerdiğini ve John'un posta kutusu için posta kutusu iznine sahip kullanıcı adını görebiliriz.

Ancak hâlâ kullanabileceğimiz ek iyileştirmeler var. Ekran görüntüsünde sütunlar arasında “önemli bir boşluk” olduğunu görebiliyoruz. PowerShell ekranı yeterince geniş değilse bazı bilgileri “kaybedebiliriz”.

Peki sütunlar arasındaki boşluğu azaltma seçeneği var mı? Yanıt da Evet. Bir sonraki adımda buna bakalım.

Adım 4 - Otomatik Boyutlandırma seçeneğini kullanma

Bu adımda sonuç sütunları arasındaki boşluğu azaltmak için AutoSize parametresini kullanacağız.

PowerShell komut sözdizimi:

Get-MailboxPermission "John" | Where { ($_.IsInherited -eq $False) -and -not ($_.User -like "NT AUTHORITY\SELF") } | FT Identity, @{name="Users that have Full Access ";expression={(Get-User $_.User).Name}},AccessRights -AutoSize

Aşağıdaki ekran görüntüsünde sonuçları görebiliriz.

Adım 5 - Yalnızca Tam Erişim posta kutusu izinlerini filtreleyin

Daha önce de belirtildiği gibi, "Posta kutusu izinleri" terimi çeşitli farklı izin türlerini içerir. En yaygın kişi Tam Erişim'dir, ancak bazen farklı türde posta kutusu izinlerinin uygulanması da vardır.

PowerShell cmdlet'lerini Get-MailboxPermission kullandığımızda, sonuçlar kullanıcıların posta kutusu için sahip olduğu tüm mevcut posta kutusu izinlerini içerecektir.

Yalnızca Tam Erişim posta kutusu iznini görüntülemek istiyorsak, Nerede parametresini kullanarak sonuçları filtreleyebiliriz:

($_.AccessRights -like "*FullAccess*")

PowerShell komut sözdizimi:

Get-MailboxPermission "John" | Where { ($_.AccessRights -like "*FullAccess*") -and ($_.IsInherited -eq $False) -and -not ($_.User -like "NT AUTHORITY\SELF") } | Select Identity, @{name="User";expression={(Get-User $_.User).Name}},AccessRights

Kullanıcının Tam Erişim izinlerine sahip olduğu posta kutularının listesini görüntüleyin

Önceki bölümde, diğer kullanıcıların belirli bir kullanıcı üzerinde sahip olduğu posta kutusu izinleri hakkında bilgi almak istediğimiz bir senaryoyu inceliyoruz.

Aşağıdaki senaryoda, belirli bir kullanıcının diğer veya ek posta kutularında sahip olduğu izinler hakkında bilgi almak istiyoruz.

Örneğin, Yönetici kullanıcısının hangi posta kutularına Tam Erişim posta kutusu iznine sahip olduğu hakkında bilgi almak istiyoruz.

Bu görevi gerçekleştirmek için PowerShell'in ilk bölümünde mevcut tüm posta kutularının bir listesini almak üzere Get-Mailbox cmdlet'ini kullanıyoruz. İkinci kısımda Get-MailboxPermission cmdlet’ini kullanıp kullanıcı adını ekliyoruz. PowerShell komutu tüm posta kutusu dizilerini inceleyecek, yönetici kullanıcının hangi posta kutularına posta kutusu iznine sahip olduğunu kontrol edecek ve sonuçları görüntüleyecektir. PowerShell komutunun geri kalanı Get-MailboxPermission cmdlet'i tarafından görüntülenen sonuçları iyileştirmek için kullanılır.

PowerShell komut sözdizimi:

Get-Mailbox | Get-MailboxPermission -User "Admin" | Select Identity,@{name="User";expression={(Get-User $_.User).Name}},AccessRights

Diğer alıcılarda Tam Erişim iznine sahip alıcıların listesini görüntüleyin

Aşağıdaki senaryoda, başka bir kullanıcının kendi posta kutusu için posta kutusu iznine sahip olduğu tüm kullanıcıların bir listesini almak istiyoruz.

PowerShell komut sözdizimi:

$a = Get-Mailbox 
$a | Get-MailboxPermission | Where { ($_.IsInherited -eq $False) -and -not ($_.User -like "NT AUTHORITY\SELF") -and -not ($_.User -like '*Discovery Management*') } | Select Identity,@{name="User";expression={(Get-User $_.User).Name}},AccessRights

Birden fazla posta kutusu için görüntüleme izni

Birden fazla kullanıcıya posta kutusu izinleri olan bir kullanıcı hakkında bilgi almak istiyoruz. Örneğimizde, John + Alice'in posta kutusu için kimin posta kutusu iznine sahip olduğunu bilmek istiyoruz. Kullanıcı adlarının her birini virgülle ayırarak ekleyebiliriz.

PowerShell komut sözdizimi:

"John","Alice" | ForEach {Get-MailboxPermission -Identity $_}

Görüntülenen sonucun görünümünü iyileştirmek amacıyla, alakasız bilgilerin kaldırılmasına yönelik temel PowerShell komutunu geliştireceğiz.

PowerShell komut sözdizimi:

"John", "Alice" | ForEach { Get-MailboxPermission -Identity $_ | Where { ($_.IsInherited -eq $False) -and -not ($_.User -like "NT AUTHORITY\SELF") -and -not ($_.User -like '*Discovery Management*') } } | Select Identity,@{name="User";expression={(Get-User $_.User).Name}},AccessRights

Bölüm 2. Posta Kutusu izinlerini kaldırın

Son bölümde posta kutusu izinlerini kaldırmak için sahip olduğumuz yöntemi inceleyeceğiz. Posta kutusu izinlerini kaldırmak veya iptal etmek için kullandığımız PowerShell cdmlet'i Remove-MailboxPermission'dır.

Senaryo 1 - Kullanıcı posta kutusundan posta kutusu iznini kaldırın

Temel bir örnekle başlayalım: Alice'in John posta kutusunda sahip olduğu Tam Erişim posta kutusu izinlerini kaldırmak istiyoruz.

PowerShell komut sözdizimi:

Remove-MailboxPermission "John" -User "Suzan" -AccessRights FullAccess

Varsayılan olarak, posta kutusu iznini kaldırmaya yönelik PowerShell cmdlet'leri bir uyarı mesajı görüntüler: “Bu eylemi gerçekleştirmek istediğinizden emin misiniz? ”

Birçok kullanıcının belirli bir posta kutusunda sahip olduğu posta kutusu iznini kaldırmak gibi toplu bir görev oluşturan bir komut dosyası çalıştırmamız durumunda, "onay süreci" yeterince yorucu olabilir.

Onay sürecinden kaçınmak için Confirm:$False parametresini ekleyebiliriz.

PowerShell komut sözdizimi:

Remove-MailboxPermission "John" -User "Suzan" -AccessRights FullAccess -Confirm:$False

Senaryo 2 - Bir posta kutusu koleksiyonundan posta kutusu iznini kaldırın

Bu senaryo, yardım masası ekibi üyesi veya yöneticisi gibi belirli bir kullanıcının birçok posta kutusu için Tam Erişim posta kutusu iznine sahip olduğu durumlarda kullanılabilir.

Kullanıcının sahip olduğu posta kutusu iznini kaldırmak istememiz durumunda, öncelikle mevcut tüm posta kutularının bir listesini almamız gerekecektir. Daha sonra, belirli bir kullanıcının posta kutusunda Tam Erişim posta kutusu iznine sahip olup olmadığını kontrol etmemiz gerekecek ve son adım bu izinleri kaldırmak olacaktır.

PowerShell komut sözdizimi:

$Mailboxes = Get-Mailbox 
ForEach ($member in $Mailboxes) {
    Remove-MailboxPermission $member.name -AccessRights FullAccess -user "Admin"
}

Komutu $Mailboxes adını verdiğimiz değişkeni temel alarak kullanıyoruz. Değişken değeri, kullanıcı posta kutusu, oda posta kutusu vb. gibi mevcut tüm posta kutusu türlerinin bir listesini içerir.

Belirli bir posta kutusu türünden Tam posta kutusu iznini kaldırmamız gerekirse, değişkene filtre seçeneğini ekleyebiliriz.

Senaryo 3 - Yalnızca kullanıcı posta kutularından Tam Erişim izinlerini kaldırın (Kullanıcı posta kutularını filtreleyin)

PowerShell komut sözdizimi:

$Mailboxes = Get-Mailbox -ResultSize unlimited -Filter { (RecipientTypeDetails -eq 'UserMailbox')
    ForEach ($member in $Mailboxes) {
        Remove-MailboxPermission $member.name -AccessRights FullAccess -user "Admin"
    }

Senaryo 4 - Yalnızca Oda posta kutularından Tam Erişim izinlerini kaldırın (Oda posta kutularını Filtrele)

PowerShell komut sözdizimi:

$Mailboxes = Get-Mailbox -ResultSize unlimited -Filter { (RecipientTypeDetails -eq 'RoomMailbox')
    ForEach ($member in $Mailboxes) {
        Remove-MailboxPermission $member.name -AccessRights FullAccess -user "Admin"
    }

İlgili makaleler