Azure active directory 通过UPN更新多个用户ExtensionAttribute

Azure active directory 通过UPN更新多个用户ExtensionAttribute,azure-active-directory,azure-powershell,Azure Active Directory,Azure Powershell,希望导入UserPrincipalName并更新ExtensionAttributes 1-15 我目前有一个脚本,可以更新单个UserPrincipalName ExtensionAttributes,效果非常好 Set-AzureADUserExtension -ObjectId test@test.com -ExtensionName extensionattribute1 -ExtensionValue "stuff" Set-AzureADUserExtension -Object

希望导入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

附件是我的CSV设置的屏幕截图:


谢谢,

我不明白
在脚本中设置AzureADUserExtension-ObjectId$\uU4.extensionattribute1(Get-AzureADUser-ObjectId$\uU4.UserPrincipalName).ObjectId
是什么意思,我想您想为
.csv
文件中的所有用户设置几个扩展名

此外,如果我们使用扩展名,名称应该像
extension\u 0380f0f700c040b5aa577c9268940b53\u 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

检查两个用户的结果:


为了回答您的问题,有一些预设的ExtensionAttribute 1-15,它们在OnPrem AD上,并被带到AzureAD。查看ExtensionAttribute的唯一方法是在Microsoft Grap:中查看,并在GET中运行this命令。然后,它将填充onpremextensionattributes。我能够稍微修改您的脚本,并且能够更新所有扩展属性,而无需修改problems@LarryDavid明白了,也很高兴能帮上忙。
UserPrinciaplName,extension_242365dc795xxxxxfb73236a3_testex1,extension_242365dc795xxxxxfb73236a3_MyProp
leeliu@xxx.onmicrosoft.com,testvalue1,testvaule2
test@xxx.onmicrosoft.com,testv1,testv2