【问题标题】:Trying to add users to office 365 group (AzureAD)尝试将用户添加到 Office 365 组(AzureAD)
【发布时间】:2017-08-31 06:54:38
【问题描述】:

我在将用户添加到我的 Office 365 安全组时遇到问题。

我尝试使用的代码是:

$groupid = Get-AzureADGroup | Where-Object {$_.DisplayName -like "Grp*"}
$useradd = Get-AzureADUser | select userprincipalname,objectid | where {$_.UserPrincipalName -like ‘*PS@*’}
$useradd | foreach {Add-AzureADGroupMember -ObjectId $groupid.ObjectId -RefObjectId $useradd.ObjectId} 

我收到了这个错误:

Add-AzureADGroupMember : Cannot convert 'System.Object[]' to the type 'System.String' required by parameter 'ObjectId'.

【问题讨论】:

  • 嗯...什么行?第三行?当您需要传入一个字符串时,您正在传入一个对象。我现在要做的是 google cmdlet 并找出参数的类型......但是你为什么不先尝试一下

标签: powershell azure office365 azure-powershell


【解决方案1】:

我们可以使用这个脚本:

$groupid = Get-AzureADGroup | Where-Object {$_.DisplayName -like "Grp*"}
$useradd = Get-AzureADUser | select userprincipalname,objectid | where {$_.UserPrincipalName -like ‘*PS@*’}
$users = $useradd.objectId
foreach($user in $users){Add-AzureADGroupMember -ObjectId $groupid.ObjectId -RefObjectId $user}

结果如下:


更新:

请测试此脚本以找出根本原因:

$groupid = Get-AzureADGroup | Where-Object {$_.DisplayName -like "group2"}
$useradd = Get-AzureADUser | select userprincipalname,objectid | where {$_.UserPrincipalName -like ‘w*’}
$users = $useradd.objectid
foreach($user in $users){
$user
Add-AzureADGroupMember -ObjectId $groupid.ObjectId -RefObjectId $user
}


更新:

我们可以使用这个脚本将多个用户添加到多个组中:

$groupid = Get-AzureADGroup | Where-Object {$_.DisplayName -like "sg*"}
$useradd = Get-AzureADUser | select userprincipalname,objectid | where {$_.UserPrincipalName -like ‘ja*’}
$users = $useradd.objectId
$groupids = $groupid.ObjectId
foreach($user in $users){
foreach($groupid in $groupids){
Add-AzureADGroupMember -ObjectId $groupid -RefObjectId $user}
}

【讨论】:

  • 感谢您的帮助,但我仍然遇到同样的错误。 i.stack.imgur.com/FFhjF.png 最好的问候,安德烈亚斯安德森
  • @AndreasAndreasson 你能打印 $users 吗?
  • @AndreasAndreasson $users 有什么东西吗?
  • 是的,有:PS C:\WINDOWS\system32> $users a3d2b6f0-a5f9-4abf-96d2-6ec0247e4a0d 8188fb89-0fcb-45d5-8643-e9d887657da4
  • 里面有两个用户?请试试这个,$groupid = Get-AzureADGroup | Where-Object {$_.DisplayName -like "group2"} $useradd = Get-AzureADUser | select userprincipalname,objectid | where {$_.UserPrincipalName -like ‘q*’} $users = $useradd.objectid foreach($user in $users){ $user Add-AzureADGroupMember -ObjectId $groupid.ObjectId -RefObjectId $user } 并将结果放在这里。
猜你喜欢
  • 1970-01-01
  • 2022-07-11
  • 1970-01-01
  • 2014-03-31
  • 1970-01-01
  • 1970-01-01
  • 2021-11-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多