다음을 통해 공유


확장 특성으로 작업할 cmdlet Azure AD

확장 특성 정보

확장 특성은 디렉터리에 있는 개체의 특성 값을 저장하는 데 사용할 수 있는 새 특성으로 Azure AD 디렉터리를 확장하는 편리한 방법을 제공합니다. 확장 특성을 연결할 수 있는 개체 유형은 다음과 같습니다.

  • 사용자
  • 테넌트 세부 정보
  • 디바이스
  • 애플리케이션

확장 속성은 개발자 디렉터리의 애플리케이션 개체에 등록됩니다. 개발자 디렉터리의 사용자 또는 관리자가 애플리케이션을 승인한 후에는 속성이 대상 디렉터리 형식에 추가되고 개발자 디렉터리에서 즉시 액세스할 수 있게 됩니다. 다중 테넌트 애플리케이션의 경우 다른 조직의 사용자 또는 관리자가 애플리케이션을 승인하면 확장 속성에서 다른 조직의 디렉터리에 있는 대상 디렉터리 형식에 즉시 액세스할 수 있습니다.

조직에서 등록된 확장이 있는 애플리케이션에 대한 "읽기 전용" 권한을 승인하면 다른 조직의 디렉터리에서 계속 액세스할 수 있습니다. 또한 확장 속성은 등록된 애플리케이션뿐만 아니라 승인된 조직의 애플리케이션에서도 액세스할 수 있습니다. 승인된 해당 조직의 다른 애플리케이션에 충분한 권한이 있으면 새 확장 속성에 대한 값을 읽거나 쓸 수 있습니다.

애플리케이션을 삭제하거나 다른 조직의 디렉터리에서 승인을 제거하면 확장 속성이 대상 디렉터리 개체에 액세스할 수 없게 됩니다. 또한 애플리케이션에서 확장을 삭제하는 경우에도 확장 속성이 대상 디렉터리 개체에 액세스할 수 없게 됩니다. 승인된 후에 다중 테넌트 애플리케이션에서 추가 확장 속성을 추가하면 이러한 속성은 다른 조직의 디렉터리에서 즉시 액세스할 수 있게 됩니다.

참고

개체에 대해 확장 속성 값을 설정했는데 해당 개체 디렉터리에서 이 속성에 액세스할 수 없게 되어도 해당 개체의 확장 속성 값 제한인 100개에는 이 속성이 계속 포함됩니다. 속성 값을 설정한 후 고려 대상에서 제거할 수 있는 유일한 방법은 해당 값을 명시적으로 null로 설정하는 것입니다. 확장 속성에 액세스할 수 없는 경우에는 이 작업을 수행할 수 없습니다.

확장 속성에 대한 자세한 내용은 이 문서를 참조하세요.

예제

이 예제에서는 사용자 개체와 확장 속성을 사용합니다. 먼저 나중에 쉽게 참조할 수 있도록 다음과 같이 사용자의 ObjectId를 찾습니다.

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

사용자의 모든 속성 값 가져오기

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

사용자 가져오기 및 모든 확장 속성 표시

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

이 cmdlet은 현재 값을 포함한 사용자의 모든 확장 속성을 반환합니다.

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 

사용자의 특정 확장 속성 값을 검색합니다.

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

테넌트에 정의된 모든 확장 속성 검색

Get-AzureADApplication | Get-AzureADApplicationExtensionProperty 

새 확장 속성 만들기

확장 속성은 항상 특정 애플리케이션에 대해 만들어집니다. 디렉터리에 일반 속성만 추가하려면 자리 표시자 애플리케이션을 만들 수 있습니다.

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

또한 이 애플리케이션에 대한 서비스 주체도 디렉터리에 만들어야 하므로 새 확장 속성을 만들 수 있습니다.

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

이제 이 애플리케이션을 사용하여 새 확장 속성을 만들 수 있습니다.

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

cmdlet이 성공적으로 완료되면 새 확장 특성 개체를 반환합니다.

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

참고

새 속성의 이름은 자리 표시자 애플리케이션>의 "Extension_" + objectID + <새 <속성의 이름에서 생성됩니다>. 따라서 사용자가 만드는 애플리케이션마다 이름의 정확한 값이 다릅니다. 둘 이상의 개체 형식에 속성을 할당할 수 있습니다. 이 예제에서는 "User"라는 하나의 TargetObject만 사용했지만 "User", "Group"도 지정할 수 있습니다. 이 경우 사용자와 그룹 개체 모두에 해당 개체를 할당합니다.

확장 속성 값 설정

이제 이전 예제에서 사용한 확장 속성을 사용하여 값을 할당할 수 있습니다.

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

애플리케이션에 정의된 모든 확장 특성 검색

애플리케이션에 대해 정의된 확장 특성 목록을 검색할 수 있습니다.

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

이 cmdlet은 애플리케이션의 확장 속성 목록을 반환합니다.

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

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

확장 속성 삭제

확장 속성이 더 이상 필요하지 않으면 삭제할 수 있습니다.

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

참고

확장된 Azure AD 특성을 제거하거나 PayOps 팀에 요청을 제기하지 않고는 을 삭제 Tenant Schema Extension App 할 수 없습니다. 또한 Azure AD 마법사에서 디렉터리 확장 옵션을 해제해도 특성이 제거되거나 앱이 제거되지 않습니다.