Get-AzureADUser -Filtre Örneği


Get-AzureADUser komutu, örneğin Get-ADUser gibi bir filtreleme işleviyle birlikte gelir.

Ancak Get-ADUser LdapFilter anahtarının veya PowerShell ifade dili Filtre anahtarının gücünü bekliyorsanız, o zaman üzücü bir sürprizle karşı karşıyasınız demektir…

Get-AzureADUser filtresi aşırı karmaşıktır ve pek çok işlevsellikten yoksundur.

Maalesef çoğu durumda daha iyi seçeneğiniz tüm kullanıcı hesaplarını almak ve filtrelemeyi yerel olarak gerçekleştirmektir.

Aşağıdaki bölümlerde Get-AzureADUser Filtresi seçeneklerinin bazı kullanımları gösterilecektir.

PowerShell komutları için sürekli Google'da aramaya tamamen son vermek için Easy365Manager'a bir göz atın:

Easy365Manager, Office 365 ve Active Directory yönetimini birleştiren bir Active Directory Kullanıcıları ve Bilgisayarları ek bileşenidir.

Easy365Manager ile tüm günlük Office 365 yönetimini doğrudan AD'den gerçekleştirebilirsiniz; hatta yukarıdaki örnekte görüldüğü gibi takvim izinlerinin yapılandırılması gibi genellikle PowerShell gerektiren görevleri bile gerçekleştirebilirsiniz.

Easy365Manager özellik listesinin tamamını buradan inceleyin.

Get-AzureADUser Filtre Operatörleri

Get-AzureADUser komutunun Filtre anahtarı, oData v3.0 filtrelemesini temel alır.

Bu, Get-ADUser -Filter tarafından kullanılan PowerShell ifade dili filtresine aykırıdır ve yine temel Get-MsolUser -SearchString filtre seçeneğinden farklıdır.

Microsoft'taki her yeni geliştirme ekibi için yeni bir strateji var gibi görünüyor… ?

Aşağıda Get-AzureADUser filtrelemesinde kullanılabilen temel operatörlerin ayrıntıları verilmiştir:

OperatorMeaningSample expression
eqEqual toDisplayName eq ‘Tycho Brahe’
andAndCountry eq ‘Germany’ and Department eq ‘Marketing’
orOrCountry eq ‘Germany’ or Country eq ‘France’

Beğen filtresinin kullanılamadığına dikkat edin; Azure AD kullanıcı özniteliklerinde alt dizeleri aramak imkansızdır, bu da kullanım örneklerini çok sınırlı hale getirir. Aynı şey Not filtresi ve daha fazlası için de geçerlidir.

Mevcut tek joker karakter arama türü 'ile başlar' filtresidir.

Ek olarak, 'herhangi biri' filtresini kullanarak çok değerli niteliklerin değerlerini aramak mümkündür.

Ancak bunun büyük bir sınırlaması 'AssignedPlans' gibi karmaşık nesne türü niteliklerinin aranamamasıdır.

Get-AzureADUser Filtre Örnekleri

Aşağıda Get-AzureADUser filtre sözdiziminin bazı temel örneklerini bulacaksınız.

Get-AzureADUser -Filter "DisplayName eq 'Tycho Brahe'"
Get-AzureADUser -Filter "Country eq 'Germany' and Department eq 'Marketing'"
Get-AzureADUser -Filter "Country eq 'Germany' or Country eq 'France'"
Get-AzureADUser -Filter "startswith(displayName,'Hans')"
Get-AzureADUser -Filter "proxyAddresses/any(p:startswith(p,'smtp:hans'))"

Ancak makalenin başında belirtildiği gibi:

Get-AzureADUser Filter parametresinin kullanım durumları çok sınırlıdır. Çoğu durumda, PowerShell ifade dili filtresini kullanarak tüm kullanıcıları almanız ve filtrelemeyi yerel olarak gerçekleştirmeniz gerekir; örneğin:

Get-AzureADUser -All $true | Where-Object {$_.DisplayName -like "*hans*"}
Get-AzureADUser -All $true | Where-Object {$_.AssignedPlans.Service -eq "SharePoint"}

Bu yaklaşım geniş ortamlarda kötü performans gösterse de çok daha fazla seçenek ve esneklik sunar.

İlgili makaleler