通过 EmployeeID 更新多个用户 ADGroup

Updating Multiple Users ADGroup by EmployeeID

我正在尝试通过员工在 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 中不存在 employeeID 吗?

谢谢,

更新:添加我的 csv 设置的屏幕截图,其中只有员工 ID: CSV Setup

更新 2:我在 powershell 中 运行 的脚本截图:Script in PS

employeeIdObjectId不一样,不能传employeeId 到 ObjectId 属性。

试试下面的脚本,它在我这边运行良好。

$users = Import-csv "C:\Users\joyw\Desktop\testgroup.csv" 
foreach($user in $users){
    $refobjectid = (Get-AzureADUser | Where-Object {$_.ExtensionProperty.employeeId -eq $user.employeeId}).ObjectId
    Add-AzureADGroupMember -ObjectId 9d42d3ea-xxxxxxxx-c31428b600ad -RefObjectId $refobjectid
}

我的 .csv 文件:

UPN,Role,employeeId
leeliu@xxxxxx.onmicrosoft.com,role1,12345
test@xxxxxx.onmicrosoft.com,role2,123