Office 365 Dynamic Distribution Group Kullanici Exclude İşlemi

Office 365 üzerinde dynamic distribution group’larını organizasyona yeni katılan veya bazı kriterleri karşılayan mailbox kullanıcılarının belirlediğimiz gruba otomatik olarak katılabilmesi adına sık sık kullanmaktayız. Bazı özel durumlarda Dynamic Distribution group’larından bir veya birden fazla kullanıcının mailboxlarının dışlanması (exclude) edilmesi istenebilir. Office 365 üzerinde organizasyonlar user’larını ve group’larını ister cloud ister local Active Directory’den ADConnect tool’u ile sync ederek kullanabilirler. Mailboxların dışlanması (exclude) ihtiyacı her 2 metot da mümkün olmakla beraber izlenecek yol farklıdır.

 

1-Office 365 üzerinde kullanıcılarınızı Active Directory’den ADConnect aracı ile sync ediyorsanız aşağıdaki yöntem ile Dynamic Distribution Group üzerinden kullanıcı veya kullanıcılarınızın mailboxlarını exclude edebilirsiniz.

 

Not : Office 365 Portal arayüzünden bu işlem yapılamamaktadır.

 

Office 365 Exchange Online PowerShell ile bağlantı kurulur.

 

Import-Module MSOnline

$O365Cred = Get-Credential

$O365Session = New-PSSession –ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $O365Cred -Authentication Basic -AllowRedirection

Import-PSSession $O365Session

Connect-MsolService –Credential $O365Cred

 

Not : Powershell komutlarını uygulamadan önce komutlar’da kalın siyah olarak işaretlediğim değerlere kendi ortamınızdaki değişiklik yapmak istediğiniz dynamic distribution group’un bilgisini giriniz.

 

İşlemin başarılı olup olmadığını anlamak adına öncelikle mevcuttaki Dynamic Distribution group üzerindeki member sayısına bakacağız.

 

$members = Get-DynamicDistributionGroup -Identity “All Company | HM”

(Get-Recipient -RecipientPreviewFilter $members.RecipientFilter).count

 

$members = Get-DynamicDistributionGroup -Identity “All Company | HM”

(Get-Recipient -RecipientPreviewFilter $members.RecipientFilter).count

 

8

 

Dynamic Distribution group kuralına öncelikle göz atalım ve içerisinde yapacağımız değişiklik için “RecipientFilter” değeri üzerinde değişiklik yapacağız.

 

Get-DynamicDistributionGroup -Identity “All Company | HM” | fl Name,RecipientFilter

 

Get-DynamicDistributionGroup -Identity “All Company | HM” | fl Name,RecipientFilter

 

 

Name            : All Company | HM

RecipientFilter : ((RecipientType -eq ‘UserMailbox’) -and (-not(Name -like ‘SystemMailbox{*’)) -and (-not(Name -like ‘CAS_{*’)) -and (-not(RecipientTypeDetailsValue -eq ‘MailboxPlan’)) -and

                  (-not(RecipientTypeDetailsValue -eq ‘DiscoveryMailbox’)) -and (-not(RecipientTypeDetailsValue -eq ‘PublicFolderMailbox’)) -and (-not(RecipientTypeDetailsValue -eq

                  ‘ArbitrationMailbox’)) -and (-not(RecipientTypeDetailsValue -eq ‘AuditLogMailbox’)) -and (-not(RecipientTypeDetailsValue -eq ‘AuxAuditLogMailbox’)) -and

                  (-not(RecipientTypeDetailsValue -eq ‘SupervisoryReviewPolicyMailbox’)) -and (-not(RecipientTypeDetailsValue -eq ‘GuestMailUser’)))

 

User objelerini Active Directory üzerinden sync ettiğimiz için Exclude yapacağımız kullanıcı veya kullanıcılara on-premise Active Directory üzerinden bir kriter belirlememiz gerekmektedir. Exclude etmek istediğim kullanıcının Active Directory üzerinde attribute’lerinden istediğiniz bir “custom attribute” kullanarak bir değer giriniz. Örneğin ben kullanmadığım CustomAttribute15 bölümüne “Exclude” değerini girdim ve bir sonraki sync cycle’da ilgili attribute kullanıcının Azure AD üzerindeki attribute kısmına sync oldu.

 

İpucu ! : Eğer Active Directory üzerinde CustomAttribute değerlerini göremiyorsanız AD ortamında Exchange Schema genişletme işlemi yapmanız veya hali hazırda sync olan attributelerden birini kullanmanız gerekmektedir.

 

 

Powerhell’de ki siyah kısımda belirttiğim CustomAttribute15 değerini siz kendinize göre özelleştirebilirsiniz. CustomAttribute15 attribute bölümünde Exclude yazan kullanıcının belirlediğimiz Dynamic Distribution group üzerinden exclude olması adına alttaki alanları düzenledikten sonra powershell’i çalıştırıyoruz.

 

Set-DynamicDistributionGroup -Identity All Company | HM” -RecipientFilter {((RecipientType -eq “UserMailbox”) -and (-not (CustomAttribute15 -like “Exclude”)) -and (-not(Name -like “SystemMailbox{*”)) -and (-not(Name -like “CAS_{*”)) -and (-not(RecipientTypeDetailsValue -eq “MailboxPlan”)) -and (-not(RecipientTypeDetailsValue -eq “DiscoveryMailbox”)) -and (-not(RecipientTypeDetailsValue -eq “PublicFolderMailbox”)) -and (-not(RecipientTypeDetailsValue -eq “ArbitrationMailbox”)) -and (-not(RecipientTypeDetailsValue -eq “AuditLogMailbox”)) -and (-not(RecipientTypeDetailsValue -eq “AuxAuditLogMailbox”)) -and (-not(RecipientTypeDetailsValue -eq “SupervisoryReviewPolicyMailbox”)) -and (-not(RecipientTypeDetailsValue -eq “GuestMailUser”)))}

 

Set-DynamicDistributionGroup -Identity “All Company | HM” -RecipientFilter {((RecipientType -eq “UserMailbox”) -and (-not (CustomAttribute15 -like “Exclude”)) -and (-not(Name -like “SystemMailbox{*”)) -and (-not(Name -like “CAS_{*”)) -and (-not(RecipientTypeDetailsValue -eq “MailboxPlan”)) -and (-not(RecipientTypeDetailsValue -eq “DiscoveryMailbox”)) -and (-not(RecipientTypeDetailsValue -eq “PublicFolderMailbox”)) -and (-not(RecipientTypeDetailsValue -eq “ArbitrationMailbox”)) -and (-not(RecipientTypeDetailsValue -eq “AuditLogMailbox”)) -and (-not(RecipientTypeDetailsValue -eq “AuxAuditLogMailbox”)) -and (-not(RecipientTypeDetailsValue -eq “SupervisoryReviewPolicyMailbox”)) -and (-not(RecipientTypeDetailsValue -eq “GuestMailUser”)))}

 

 

Grup üyelerini tekrar listelemek istediğimde gördüğünüz gibi kullanımın ilgili grup’ta member sayısının düştüğünü görmekteyim.

 

$members = Get-DynamicDistributionGroup -Identity “All Company | HM”

(Get-Recipient -RecipientPreviewFilter $members.RecipientFilter).count

 

$members = Get-DynamicDistributionGroup -Identity “All Company | HM”

(Get-Recipient -RecipientPreviewFilter $members.RecipientFilter).count

 

7

 

Dynamic Distibution grouplarının üyelerini kontrol ettiğimde Exclude ettiğim kullanıcıyı üye olarak görememekteyim.

 

$DDGMembers = Get-DynamicDistributionGroup “All Company | HM

Get-Recipient -RecipientPreviewFilter $DDGMembers.RecipientFilter

 

$DDGMembers = Get-DynamicDistributionGroup “All Company | HM”

Get-Recipient -RecipientPreviewFilter $DDGMembers.RecipientFilter

 

Name           RecipientType

—-           ————-

HakanMARANGOZ  UserMailbox 

Hakan MARANGOZ UserMailbox 

Burak MARANGOZ UserMailbox 

Hasan DANIS    UserMailbox 

Hasan GURAL    UserMailbox 

Umit SEYHAN    UserMailbox 

Emre ERBULMUS  UserMailbox  

 

2-Office 365 üzerinde kullanıcılarınızı Azure Active Directory’de barındırıyorsanız aşağıdaki yöntem ile Dynamic Distribution Group üzerinden kullanıcı veya kullanıcılarınızın mailboxlarını exclude edebilirsiniz.

 

Not : Office 365 Portal arayüzünden bu işlem yapılamamaktadır.

 

Office 365 Exchange Online PowerShell ile bağlantı kurulur.

 

Import-Module MSOnline

$O365Cred = Get-Credential

$O365Session = New-PSSession –ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $O365Cred -Authentication Basic -AllowRedirection

Import-PSSession $O365Session

Connect-MsolService –Credential $O365Cred

 

İşlemin başarılı olup olmadığını anlamak adına öncelikle mevcuttaki Dynamic Distribution group üzerindeki member sayısına bakacağız.

 

$members = Get-DynamicDistributionGroup -Identity “All Company | HM”

(Get-Recipient -RecipientPreviewFilter $members.RecipientFilter).count

 

$members = Get-DynamicDistributionGroup -Identity “All Company | HM”

(Get-Recipient -RecipientPreviewFilter $members.RecipientFilter).count

 

8

 

Dynamic Distribution group kuralına öncelikle göz atalım ve içerisinde yapacağımız değişiklik için “RecipientFilter” değeri üzerinde değişiklik yapacağız.

 

Get-DynamicDistributionGroup -Identity “All Company | HM” | fl Name,RecipientFilter

 

Get-DynamicDistributionGroup -Identity “All Company | HM” | fl Name,RecipientFilter

 

 

Name            : All Company | HM

RecipientFilter : ((RecipientType -eq ‘UserMailbox’) -and (-not(Name -like ‘SystemMailbox{*’)) -and (-not(Name -like ‘CAS_{*’)) -and (-not(RecipientTypeDetailsValue -eq ‘MailboxPlan’)) -and

                  (-not(RecipientTypeDetailsValue -eq ‘DiscoveryMailbox’)) -and (-not(RecipientTypeDetailsValue -eq ‘PublicFolderMailbox’)) -and (-not(RecipientTypeDetailsValue -eq

                  ‘ArbitrationMailbox’)) -and (-not(RecipientTypeDetailsValue -eq ‘AuditLogMailbox’)) -and (-not(RecipientTypeDetailsValue -eq ‘AuxAuditLogMailbox’)) -and

                  (-not(RecipientTypeDetailsValue -eq ‘SupervisoryReviewPolicyMailbox’)) -and (-not(RecipientTypeDetailsValue -eq ‘GuestMailUser’)))

 

User objelerini Azure Active Directory üzerinde barındırdığım için Exclude yapacağımız kullanıcı veya kullanıcıların Azure Active Directory üzerindeki attribute’lerinden istediğiniz bir “custom attribute” kullanarak bir değer giriniz. Örneğin ben başka bir iş için kullanmadığım CustomAttribute15 bölümüne “Exclude” değerini girdim.

 

 

Powerhell’de ki siyah kısımda belirttiğim CustomAttribute15 değerini siz kendinize göre özelleştirebilirsiniz. CustomAttribute15 attribute bölümünde Exclude yazan kullanıcı veya kullanıcıların belirlediğimiz Dynamic Distribution group üzerinden exclude olması adına alttaki alanları düzenledikten sonra powershelli çalıştırıyoruz.

 

Set-DynamicDistributionGroup -Identity All Company | HM” -RecipientFilter {((RecipientType -eq “UserMailbox”) -and (-not (CustomAttribute15 -like “Exclude”)) -and (-not(Name -like “SystemMailbox{*”)) -and (-not(Name -like “CAS_{*”)) -and (-not(RecipientTypeDetailsValue -eq “MailboxPlan”)) -and (-not(RecipientTypeDetailsValue -eq “DiscoveryMailbox”)) -and (-not(RecipientTypeDetailsValue -eq “PublicFolderMailbox”)) -and (-not(RecipientTypeDetailsValue -eq “ArbitrationMailbox”)) -and (-not(RecipientTypeDetailsValue -eq “AuditLogMailbox”)) -and (-not(RecipientTypeDetailsValue -eq “AuxAuditLogMailbox”)) -and (-not(RecipientTypeDetailsValue -eq “SupervisoryReviewPolicyMailbox”)) -and (-not(RecipientTypeDetailsValue -eq “GuestMailUser”)))}

 

Set-DynamicDistributionGroup -Identity “All Company | HM” -RecipientFilter {((RecipientType -eq “UserMailbox”) -and (-not (CustomAttribute15 -like “Exclude”)) -and (-not(Name -like “SystemMailbox{*”)) -and (-not(Name -like “CAS_{*”)) -and (-not(RecipientTypeDetailsValue -eq “MailboxPlan”)) -and (-not(RecipientTypeDetailsValue -eq “DiscoveryMailbox”)) -and (-not(RecipientTypeDetailsValue -eq “PublicFolderMailbox”)) -and (-not(RecipientTypeDetailsValue -eq “ArbitrationMailbox”)) -and (-not(RecipientTypeDetailsValue -eq “AuditLogMailbox”)) -and (-not(RecipientTypeDetailsValue -eq “AuxAuditLogMailbox”)) -and (-not(RecipientTypeDetailsValue -eq “SupervisoryReviewPolicyMailbox”)) -and (-not(RecipientTypeDetailsValue -eq “GuestMailUser”)))}

 

 

Grup üyelerini tekrar listelemek istediğimde gördüğünüz gibi kullanımın ilgili grup’ta member sayısının düştüğünü görmekteyim.

 

$members = Get-DynamicDistributionGroup -Identity “All Company | HM”

(Get-Recipient -RecipientPreviewFilter $members.RecipientFilter).count

 

$members = Get-DynamicDistributionGroup -Identity “All Company | HM”

(Get-Recipient -RecipientPreviewFilter $members.RecipientFilter).count

 

7

 

Dynamic Distibution grouplarının üyelerini kontrol ettiğimde Exclude ettiğim kullanıcıyı üye olarak görememekteyim.

 

$DDGMembers = Get-DynamicDistributionGroup “All Company | HM”

Get-Recipient -RecipientPreviewFilter $DDGMembers.RecipientFilter

 

$DDGMembers = Get-DynamicDistributionGroup “All Company | HM”

Get-Recipient -RecipientPreviewFilter $DDGMembers.RecipientFilter

 

Name            RecipientType

—-            ————-

HakanMARANGOZ   UserMailbox 

Hakan MARANGOZ  UserMailbox 

Caner CETINKAYA UserMailbox 

Burak MARANGOZ  UserMailbox 

Hasan DANIS     UserMailbox 

Hasan GURAL     UserMailbox 

Umit SEYHAN     UserMailbox 

Emre ERBULMUS   UserMailbox 

 

Umarım faydalı olmuştur , keyifli okumalar.

Exit mobile version