【发布时间】:2019-04-17 14:59:06
【问题描述】:
我正在尝试为员工更新 CSV 文件中的多个用户的 AzureADGroupMember。
这是我得到的帮助,但希望通过 UPN 而不是 EmployeeID 对其进行更新。这是通过 UPN 更新 ADGroupMember 的成功代码。
$users = Import-csv "C:\Temp\testgroup2.csv"
$users | ForEach-Object{
Add-AzureADGroupMember -ObjectId 599992-xxxxxxxxxx-699999e9e -
RefObjectId (Get-AzureADUser -ObjectId $_.UPN).ObjectId
}
这是我将 UPN 更改为通过 CSV 中的 EmployeeID 更新的代码。
$users = Import-csv "C:\Temp\testgroup2.csv"
$users | ForEach-Object{
Add-AzureADGroupMember -ObjectId 599992-xxxxxxx-6ee9999e -
RefObjectId (Get-AzureADUser -ObjectId $_.EmployeeID).ObjectId
}
这是我尝试通过 EmployeeID 更新时收到的错误消息。
Get-AzureADUser : Error occurred while executing GetUser Code:
Request_ResourceNotFound Message: Resource '18616' does not exist or one
of its queried reference- property objects are not present.
这是我用来验证员工在 Azure 中是否确实有一个 EmployeeID 的。
Get-AzureADUser -ObjectID Xxxxx@hxxxxxx.com | Select-Object *
知道为什么即使我已经验证,它也显示在 Azure 中不存在员工 ID?
谢谢,
更新:添加我的 csv 设置的屏幕截图,我那里只有员工 ID: CSV Setup
更新 2:我在 powershell 中运行的脚本的屏幕截图:Script in PS
【问题讨论】:
-
我认为使用 EmployeeID 进行更新更像是一个 Set-AzureADUserExtension ?
-
它能解决你的问题吗?
-
这是我运行时收到的错误信息。我验证了 ObjectID 组是正确的 Add-AzureADGroupMember:无法将参数绑定到参数“RefObjectId”,因为它为空。在 line:4 char:88 @JoyWang
-
我确实通过添加 IF ($refobjectid) { 进行了调整,但没有收到任何错误消息,但组没有按应有的方式更新; If ($refobjectid) { Add-AzureADGroupMember -ObjectId 32xxc77f2-xxxxxx-sdfsdfxx -RefObjectId $refobjectid } } @JoyWang
-
首先,确保用户拥有employeeId(不为null,应与csv文件中的值相同)。我的脚本只适用于拥有employeeId的用户,如果某些用户没有employeeId,您将无法获取用户objectid,因此
Add-AzureADGroupMember将不起作用。
标签: azure azure-active-directory azure-powershell azure-ad-powershell-v2