我如何传递一个特定的项目属性到一个变量在PowerShell?



我目前正在编写一个脚本来管理Azure AD(与控制台GUI相反),并且在一个特定部分存在问题。我试图做一个"将用户添加到组"模块,但与add - azureadgroupmember要求组ObjectId而不是显示名称,它最初不是用户友好的。

下面是我最初的尝试:

>>     $UPN = "someuser@domain.com"
>>     $Selected = "Group Display Name"
>>     $Group = Get-AzureADGroup -Filter "DisplayName eq '$Selected'" -All $true | Select-Object -Property ObjectID
>>     Add-AzureADGroupMember -ObjectID $Group -RefObjectID $UPN

我有这个问题,是$Group返回'@{ObjectId=fba435cc-913c-46a0-9932-17c01733e143}'而不是'{fba435cc-913c-46a0-9932-17c01733e143}'

是否有更好的方法可以将组的ObjectID传递给变量?我希望用户能够选择显示名称,并让变量返回objectID。

要获取属性的值,使用ForEach-Object -MemberName代替Select-Object -Property:

$Group = Get-AzureADGroup -Filter "DisplayName eq '$Selected'" -All $true | ForEach-Object -MemberName ObjectID