Uzantı öznitelikleriyle çalışmak için cmdlet'leri Azure AD

Uzantı öznitelikleri hakkında

Uzantı öznitelikleri, Azure AD dizininizi, nesnelere ait öznitelik değerleriyle dizinde depolamak için kullanabileceğiniz yeni özniteliklerle genişletmenin kolay bir yolunu sunar. Aşağıdaki nesne türlerine uzantısı özniteliği ekleyebilirsiniz:

  • kullanıcılar
  • kiracı ayrıntıları
  • cihazlar
  • uygulamalar

Uzantı özellikleri, geliştiricinin dizinindeki bir Application nesnesine kaydedilir. Geliştiricinin dizinindeki bir kullanıcı veya yönetici tarafından uygulamaya onay verildikten sonra, özellik hedef dizin türüne eklenir ve geliştiricinin dizininde hemen erişilebilir duruma gelir. Çok kiracılı bir uygulama için, uygulamaya başka bir kuruluştaki kullanıcı veya yönetici tarafından onay verildiğinde, uzantı özellikleri diğer kuruluşun dizinindeki hedef dizin türünde hemen erişilebilir duruma gelir.

Bir kuruluş kayıtlı uzantılara sahip bir uygulama için “salt okunur” izinlere onay verirse, özellikler diğer kuruluşun dizininde hemen erişilebilir duruma gelir. Ayrıca, uzantı özelliklerine yalnızca kayıtlı oldukları uygulama için değil, bir kuruluşta onay verilmiş herhangi bir uygulama üzerinden erişilebilir. Bu kuruluşta onay verilmiş diğer uygulamalar, yeterli izinlere sahip olması durumunda yeni uzantı özelliğinin değerlerini okuyabilir veya yazabilir.

Uygulama diğer kuruluşun dizininde silinir veya onayı kaldırılırsa, uzantı özelliği hedef dizinde erişilemez duruma gelir. Uzantı uygulama tarafından silinirse, hedef dizin nesnesinde de erişilemez duruma gelir. Çok kiracılı uygulama onay verildikten sonra başka uzantı özellikleri eklerse, bu özellikler diğer kuruluşun dizininde hemen erişilebilir duruma gelir.

Not

Bir uzantı özelliğinin değeri bir nesnede ayarlanırsa ve bu özelliğe o nesnenin dizininde erişilemez hale gelirse, özellik yine de bu nesnenin 100 uzantı özelliği değeri sınırına göre sayılır. Özelliği ayarlandıktan sonra hesaba katmamanın tek yolu açıkça null olarak ayarlanmasıdır. Uzantı özelliği erişilebilir değilse bu işlemi yapamazsınız.

Bu makalede uzantı özellikleri hakkında daha fazla bilgi alabilirsiniz.

Örnekler

Bu örneklerde bir kullanıcı nesnesi kullanılır ve uzantı özellikleriyle çalışılır. Daha sonra kolayca başvurabilmek için öncelikle kullanıcının ObjectId değeri bulunur:

$UserId = (Get-AzureADUser -Searchstring <UPN of the user we're working with>).ObjectId 

Bir kullanıcının tüm özellik değerlerini alma

(Get-AzureADUser -ObjectId $UserId).ToJson()

Bir kullanıcı alma ve tüm uzantı özelliklerini görüntüleme

Get-AzureADUser -ObjectId $UserId | Select -ExpandProperty ExtensionProperty

Bu cmdlet bir kullanıcının tüm uzantı özelliklerini geçerli değerleriyle döndürür:

Key                                                                   Value
---                                                                   -----
odata.metadata                                                        https://graph.windows.net/85b5ff1e-0402-400c-9e3c-0f9e965325d1/$metad...
odata.type                                                            Microsoft.DirectoryServices.User
thumbnailPhoto@odata.mediaContentType                                 image/Jpeg
extension_e5e29b8a85d941eab8d12162bd004528_extensionAttribute13       Test 

Bir kullanıcı için belirli bir uzantı özelliğinin değerini alma

(Get-AzureADUserExtension -ObjectId $UserId).get_item("extension_e5e29b8a85d941eab8d12162bd004528_wWWHomePage")

Kiracınızda tanımlanmış tüm uzantı özelliklerini alma

Get-AzureADApplication | Get-AzureADApplicationExtensionProperty 

Yeni bir uzantı özelliği oluşturma

Uzantı özellikleri her zaman belirli bir uygulama için oluşturulur. Yalnızca dizininize genel özellikler eklemek istiyorsanız bir yer tutucu uygulaması oluşturabilirsiniz:

$MyApp = (New-AzureADApplication -DisplayName "My Properties Bag" -IdentifierUris "https://dummy").ObjectId 

Yeni bir uzantı özelliği oluşturabilmeniz için dizininizde bu uygulama için bir hizmet sorumlusu oluşturmanız gerekir:

New-AzureADServicePrincipal -AppId (Get-AzureADApplication -SearchString "My Properties Bag").AppId 

Artık bu uygulamayı yeni bir uzantı özelliği oluşturmak için kullanabiliriz:

New-AzureADApplicationExtensionProperty -ObjectId $MyApp -Name "MyNewProperty" -DataType "String" -TargetObjects "User" 

Cmdlet başarıyla tamamlandığında yeni uzantı özniteliği nesnesini döndürür:

ObjectId                             Name                                                     TargetObjects
--------                             ----                                                     -------------
91ec8ae5-6813-4453-afd7-31680a484892 extension_0380f0f700c040b5aa577c9268940b53_MyNewProperty {User}

Not

Yeni özelliğin Adı, yer tutucu uygulamanızın> "Extension_" + <objectID + "_" + <yeni özelliğinizin> adı biçiminde oluşturulur. Bu nedenle, adın tam değeri oluşturduğunuz farklı uygulamalar için farklı olacaktır. Bir özelliği birden fazla nesne türüne atayabilirsiniz. Bizim örneğimizde "Kullanıcı" adlı yalnızca bir TargetObject kullanılmıştır, ancak nesneyi hem kullanıcı hem de grup nesnelerine atayan "Kullanıcı" "Grup" nesnesini belirtmiş olabilirsiniz.

Uzantı özellikleri için değer ayarlama

Önceki örnekte kullanılan uzantı özelliğini kullanarak örneğe bir değer atayabiliriz:

Set-AzureADUserExtension -ObjectId $UserId -ExtensionName "extension_0380f0f700c040b5aa577c9268940b53_MyNewProperty" -ExtensionValue "MyNewValue" 

Uygulamanız için tanımlanan tüm uzantı özniteliklerini alma

Uygulamanız için tanımlanmış uzantı özniteliklerinin listesini alabilirsiniz:

Get-AzureADApplicationExtensionProperty -ObjectId (Get-AzureADApplication -SearchString "My Properties Bag").ObjectId 

Bu cmdlet, uygulamanızdaki uzantı özelliklerinin listesini döndürür:

ObjectId                             Name                                                      TargetObjects
--------                             ----                                                      -------------

91ec8ae5-6813-4453-afd7-31680a484892 extension_0380f0f700c040b5aa577c9268940b53_MyNewProperty  {User}

Uzantısı özelliklerini silme

Bir uzantı özelliği artık gerekli değilse silebilirsiniz:

Remove-AzureADApplicationExtensionProperty -ObjectId (Get-AzureADApplication -SearchString "My Properties Bag").ObjectID -ExtensionPropertyId 91ec8ae5-6813-4453-afd7-31680a484892 

Not

PayOps Ekibine bir istek göndermeden özniteliğini Azure AD'den kaldıramadan genişletemez veya silemezsinizTenant Schema Extension App. Ayrıca, Azure AD sihirbazından dizin uzantıları seçeneğinin kapatılması öznitelikleri kaldırmaz veya uygulamadan kurtulmanıza izin vermez.