Обновление нескольких пользовательских расширенных атрибутов по имени участника-пользователя - PullRequest
0 голосов
/ 18 мая 2019

Требуется импортировать UserPrincipalName и обновления ExtensionAttributes 1-15

В настоящее время у меня есть скрипт, который работает для обновления отдельных UserPrincipalName ExtensionAttributes и прекрасно работает.

 Set-AzureADUserExtension -ObjectId test@test.com -ExtensionName extensionattribute1 -ExtensionValue "stuff"
 Set-AzureADUserExtension -ObjectId test@test.com -ExtensionName extensionattribute2 -ExtensionValue "things"
 Set-AzureADUserExtension -ObjectId test@test.com -ExtensionName extensionattribute3 -ExtensionValue "stuff"
 Set-AzureADUserExtension -ObjectId test@test.com -ExtensionName extensionattribute4 -ExtensionValue "things"
 Set-AzureADUserExtension -ObjectId test@test.com -ExtensionName extensionattribute5 -ExtensionValue "test"
 Set-AzureADUserExtension -ObjectId test@test.com -ExtensionName extensionattribute6 -ExtensionValue "test"
 Set-AzureADUserExtension -ObjectId test@test.com -ExtensionName extensionattribute7 -ExtensionValue "test"
 Set-AzureADUserExtension -ObjectId test@test.com -ExtensionName extensionattribute8 -ExtensionValue "florida"
 Set-AzureADUserExtension -ObjectId test@test.com -ExtensionName extensionattribute9 -ExtensionValue "12444"
 Set-AzureADUserExtension -ObjectId test@test.com -ExtensionName extensionattribute10 -ExtensionValue "stuff"
 Set-AzureADUserExtension -ObjectId test@test.com -ExtensionName extensionattribute11 -ExtensionValue "things"
 Set-AzureADUserExtension -ObjectId test@test.com -ExtensionName extensionattribute12 -ExtensionValue "test"
 Set-AzureADUserExtension -ObjectId test@test.com -ExtensionName extensionattribute13 -ExtensionValue "test"
 Set-AzureADUserExtension -ObjectId test@test.com -ExtensionName extensionattribute14 -ExtensionValue "test"
 Set-AzureADUserExtension -ObjectId test@test.com -ExtensionName extensionattribute15 -ExtensionValue "test"

Но, как вы можете видеть, это может занять много времени, если у меня есть несколько пользователей для обновления.

Итак, я попытался создать следующее

$users = import-csv "C:\temp\womp.csv"

$users | ForEach-Object{

Set-AzureADUserExtension -ObjectId $_.extensionattribute1 (Get-AzureADUser -ObjectID $_.UserPrincipalName).objectID
Set-AzureADUserExtension -ObjectId $_.extensionattribute2 (Get-AzureADUser -ObjectID $_.UserPrincipalName).objectID
Set-AzureADUserExtension -ObjectId $_.extensionattribute3 (Get-AzureADUser -ObjectID $_.UserPrincipalName).objectID
Set-AzureADUserExtension -ObjectId $_.extensionattribute4 (Get-AzureADUser -ObjectID $_.UserPrincipalName).objectID
Set-AzureADUserExtension -ObjectId $_.extensionattribute5 (Get-AzureADUser -ObjectID $_.UserPrincipalName).objectID

}

Но получили множество ошибок.

Set-AzureADUserExtension : A positional parameter cannot be found that accepts argument

и

Get-AzureADUser : Error occurred while executing GetUser Code: Request_ResourceNotFound

Прикрепленный снимок экрана - это моя установка CSV: Настройка CSV

Спасибо,

1 Ответ

0 голосов
/ 20 мая 2019

Я не мог понять, что означает Set-AzureADUserExtension -ObjectId $_.extensionattribute1 (Get-AzureADUser -ObjectID $_.UserPrincipalName).objectID в вашем скрипте, я полагаю, вы хотите установить несколько расширений для всех пользователей в вашем файле .csv.

Кроме того, если мы создадим новое свойство расширения , имя должно быть похоже на extension_0380f0f700c040b5aa577c9268940b53_MyNewProperty, поэтому у вас extensionattribute1, extensionattribute2.

Попробуйте, скрипт работает для меня, в моем примере только два пользователя и два расширения, логика та же, вы можете попробовать.

$users = import-csv "C:\Users\joyw\Desktop\testfile.csv"

$users | ForEach-Object{

Set-AzureADUserExtension -ObjectId $_.UserPrinciaplName -ExtensionName extension_242365dc795xxxxxfb73236a3_testex1 -ExtensionValue $_.extension_242365dc795xxxxxfb73236a3_testex1
Set-AzureADUserExtension -ObjectId $_.UserPrinciaplName -ExtensionName extension_242365dc795xxxxxfb73236a3_MyProp -ExtensionValue $_.extension_242365dc795xxxxxfb73236a3_MyProp


}

Мой testfile.csv файл:

UserPrinciaplName,extension_242365dc795xxxxxfb73236a3_testex1,extension_242365dc795xxxxxfb73236a3_MyProp
leeliu@xxx.onmicrosoft.com,testvalue1,testvaule2
test@xxx.onmicrosoft.com,testv1,testv2

enter image description here

Проверьте результат для двух пользователей:

enter image description here

...