Azure AD-Cmdlets zum Arbeiten mit Erweiterungsattributen

Informationen zu Erweiterungsattributen

Mit Erweiterungsattributen lässt sich Ihr Azure AD-Verzeichnis unkompliziert um neue Attribute erweitern, mit denen Sie Attributwerte für Objekte in Ihrem Verzeichnis speichern können. Sie können ein Erweiterungsattribut an die folgenden Objekttypen anfügen:

  • users
  • Mandantendetails
  • devices
  • applications

Erweiterungseigenschaften werden für ein Anwendungsobjekt im Verzeichnis des Entwicklers registriert. Nachdem ein Benutzer oder Administrator im Verzeichnis des Entwicklers der Anwendung zugestimmt hat, wird die Eigenschaft dem Zielverzeichnistyp hinzugefügt und ist im Verzeichnis des Entwicklers sofort zugänglich. Bei einer mehrinstanzenfähigen Anwendung gilt Folgendes: Wenn für die Anwendung von einem Benutzer oder Administrator in einer anderen Organisation die Zustimmung erteilt wurde, sind die Erweiterungseigenschaften im Zielverzeichnistyp im Verzeichnis der anderen Organisation sofort verfügbar.

Wenn eine Organisation den Berechtigungen vom Typ „Schreibgeschützt“ für eine Anwendung mit registrierten Erweiterungen zustimmt, sind die Eigenschaften dennoch im Verzeichnis der anderen Organisation verfügbar. Darüber hinaus sind Erweiterungseigenschaften für alle mit Zustimmung versehenen Anwendungen in einer Organisation zugänglich, nicht nur für die Anwendung, für die sie registriert sind. Andere mit Zustimmung versehenen Anwendungen in dieser Organisation können Werte für die neue Erweiterungseigenschaft lesen oder schreiben, wenn sie über ausreichende Berechtigungen verfügen.

Wenn im Verzeichnis der anderen Organisation die Anwendung gelöscht oder die Zustimmung entfernt wird, ist die Erweiterungseigenschaft im Zielverzeichnisobjekt nicht mehr verfügbar. Wenn die Erweiterung von der Anwendung gelöscht wird, ist sie ebenfalls nicht mehr im Zielverzeichnisobjekt verfügbar. Wenn eine mehrinstanzenfähige Anwendung nach Erteilung der Zustimmung weitere Erweiterungseigenschaften hinzufügt, sind diese Eigenschaften sofort im Verzeichnis der anderen Organisation verfügbar.

Hinweis

Wenn der Wert einer Erweiterungseigenschaft für ein Objekt festgelegt wird und auf diese Eigenschaft im Verzeichnis dieses Objekts nicht mehr zugegriffen werden kann, zählt die Eigenschaft weiterhin auf den Grenzwert dieses Objekts von 100 Erweiterungseigenschaftenwerten. Die einzige Möglichkeit, den Eigenschaftswert nach der Festlegung nicht zu berücksichtigen, besteht darin, ihn ausdrücklich auf NULL festzulegen. Dies ist nicht möglich, wenn die Erweiterungseigenschaft nicht zugänglich ist.

Weitere Informationen zu Erweiterungseigenschaften finden Sie in diesem Artikel.

Beispiele

In diesen Beispielen verwenden wir ein Benutzerobjekt und Erweiterungseigenschaften. Zunächst ermitteln wir die Objekt-ID des Benutzers, sodass wir später darauf verweisen können:

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

Abrufen aller Eigenschaftswerte eines Benutzers

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

Abrufen eines Benutzers und Anzeigen aller Erweiterungseigenschaften

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

Dieses Cmdlet gibt alle Erweiterungseigenschaften eines Benutzers mit den aktuellen Werten zurück:

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 

Abrufen des Werts einer bestimmten Erweiterungseigenschaft für einen Benutzer

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

Abrufen aller in Ihrem Mandanten definierten Erweiterungseigenschaften

Get-AzureADApplication | Get-AzureADApplicationExtensionProperty 

Erstellen einer neuen Erweiterungseigenschaft

Erweiterungseigenschaften werden immer für eine bestimmte Anwendung erstellt. Wenn Sie nur generische Eigenschaften zu Ihrem Verzeichnis hinzufügen möchten, können Sie eine Platzhalteranwendung erstellen:

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

Beachten Sie, dass Sie für diese Anwendung in Ihrem Verzeichnis auch einen Dienstprinzipal erstellen müssen, damit Sie eine neue Erweiterungseigenschaft erstellen können:

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

Jetzt können wir diese Anwendung zur Erstellung einer neuen Erweiterungseigenschaft verwenden:

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

Wenn das Cmdlet erfolgreich abgeschlossen wurde, wird das neue Erweiterungsattributobjekt zurückgegeben:

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

Hinweis

Der Name der neuen Eigenschaft wird aus dem Format "Extension_" + <objectID Ihrer Platzhalteranwendung> + "_" + <dem Namen Ihrer neuen Eigenschaft> generiert. Der genaue Wert des Namens unterscheidet sich daher für verschiedene von Ihnen erstellte Anwendungen. Sie können eine Eigenschaft mehreren Objekttypen zuweisen. In unserem Beispiel wurde nur ein Zielobjekt (User) verwendet. Sie hätten auch „User“,„Group“ angeben können. Dadurch wäre das Objekt sowohl Benutzer- als auch Gruppenobjekten zugewiesen worden.

Festlegen von Werten für Erweiterungseigenschaften

Mithilfe der im vorherigen Beispiel verwendeten Erweiterungseigenschaft können wir ihr nun einen Wert zuweisen:

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

Abrufen aller für Ihre Anwendung definierten Erweiterungsattribute

Sie können die Liste der für Ihre Anwendung definierten Erweiterungsattribute abrufen:

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

Dieses Cmdlet gibt die Liste der Erweiterungseigenschaften in Ihrer Anwendung zurück:

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

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

Löschen von Erweiterungseigenschaften

Wenn Sie eine Erweiterungseigenschaft nicht mehr benötigen, können Sie sie löschen:

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

Hinweis

Sie können das Attribut weder nach der Erweiterung aus Azure AD entfernen noch löschen, Tenant Schema Extension App ohne eine Anforderung an das PayOps-Team zu senden. Wenn Sie die Option "Verzeichniserweiterungen" im Azure AD-Assistenten deaktivieren, werden die Attribute nicht entfernt oder Sie können die App nicht entfernen.