希望导入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 Setup
谢谢
答案 0 :(得分:0)
我不明白Set-AzureADUserExtension -ObjectId $_.extensionattribute1 (Get-AzureADUser -ObjectID $_.UserPrincipalName).objectID
在脚本中的含义,我想您想为.csv
文件中的所有用户设置几个扩展名。
此外,如果我们create a new extension property,名称应该像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
检查两个用户的结果: