使用 Powershell 将新的 O365 用户添加到 AD 组
Add a new O365 users to AD group using Powershell
我正在使用 Powershell 脚本将新用户添加到 O365 并分配多个许可证。但是我现在正在尝试将新用户添加到现有组中。
Powershell
Connect-MsolService -Credential $UserCredential
Import-Csv -Path "C:\Users\Jesse\Documents\Powershell\NewAccounts.csv" | foreach {New-MsolUser -DisplayName $_.DisplayName -FirstName $_.FirstName -LastName $_.LastName -UserPrincipalName $_.UserPrincipalName -UsageLocation $_.UsageLocation -LicenseAssignment $_.AccountSkuIdEMS,$_.AccountSkuIdENTERPRISEPACK} | Export-Csv -Path "C:\Users\Jesse\Documents\Powershell\NewAccountResults.csv" -Verbose
.CSV
DisplayName,FirstName,LastName,UserPrincipalName,Usagelocation,AccountSkuIdEMS, AccountSkuIdENTERPRISEPACK
Test Jesse,Test,Jesse,test.jesse@(Tenant).nl,NL,(Tenant):EMS,(Tenant):ENTERPRISEPACK
我找到了以下代码,但不知道如何将它正确地实现到我现有的代码中。我想我还需要连接到新服务才能使用此 cmdlet。是否可以在单个脚本中切换连接?
Add-UnifiedGroupLinks -Identity "Azure AD Join" -LinkType Members -Links test.jesse@(tenant).nl
您可以使用 AzureAD 模块命令 Add-AzureADGroupMember 将新用户添加到现有组。
记得按照Azure Active Directory PowerShell for Graph.
安装AzureAD模块
您可以在 Powershell 中为 AzureAD 模块重用 $Credential
。它不会要求您重新登录。
这是我的示例供您参考:
$Credential = Get-Credential
Connect-MsolService -Credential $Credential
Import-Csv -Path "E:\test\NewAccounts.csv" | foreach {New-MsolUser -DisplayName $_.DisplayName -FirstName $_.FirstName -LastName $_.LastName -UserPrincipalName $_.UserPrincipalName -UsageLocation $_.UsageLocation} | Export-Csv -Path "E:\test\NewAccountResults.csv"
Connect-AzureAD -Credential $Credential
$newusers = Import-Csv -Path "E:\test\NewAccounts.csv" | foreach {Get-AzureADUser -Filter "userPrincipalName eq '$($_.UserPrincipalName)'"}
foreach ($user in $newusers){
Add-AzureADGroupMember -ObjectId "{object id of the existing group}" -RefObjectId $user.ObjectId
}
顺便说一句,您可以从 Azure 门户中获取现有组的对象 ID。
我正在使用 Powershell 脚本将新用户添加到 O365 并分配多个许可证。但是我现在正在尝试将新用户添加到现有组中。
Powershell
Connect-MsolService -Credential $UserCredential
Import-Csv -Path "C:\Users\Jesse\Documents\Powershell\NewAccounts.csv" | foreach {New-MsolUser -DisplayName $_.DisplayName -FirstName $_.FirstName -LastName $_.LastName -UserPrincipalName $_.UserPrincipalName -UsageLocation $_.UsageLocation -LicenseAssignment $_.AccountSkuIdEMS,$_.AccountSkuIdENTERPRISEPACK} | Export-Csv -Path "C:\Users\Jesse\Documents\Powershell\NewAccountResults.csv" -Verbose
.CSV
DisplayName,FirstName,LastName,UserPrincipalName,Usagelocation,AccountSkuIdEMS, AccountSkuIdENTERPRISEPACK
Test Jesse,Test,Jesse,test.jesse@(Tenant).nl,NL,(Tenant):EMS,(Tenant):ENTERPRISEPACK
我找到了以下代码,但不知道如何将它正确地实现到我现有的代码中。我想我还需要连接到新服务才能使用此 cmdlet。是否可以在单个脚本中切换连接?
Add-UnifiedGroupLinks -Identity "Azure AD Join" -LinkType Members -Links test.jesse@(tenant).nl
您可以使用 AzureAD 模块命令 Add-AzureADGroupMember 将新用户添加到现有组。
记得按照Azure Active Directory PowerShell for Graph.
安装AzureAD模块您可以在 Powershell 中为 AzureAD 模块重用 $Credential
。它不会要求您重新登录。
这是我的示例供您参考:
$Credential = Get-Credential
Connect-MsolService -Credential $Credential
Import-Csv -Path "E:\test\NewAccounts.csv" | foreach {New-MsolUser -DisplayName $_.DisplayName -FirstName $_.FirstName -LastName $_.LastName -UserPrincipalName $_.UserPrincipalName -UsageLocation $_.UsageLocation} | Export-Csv -Path "E:\test\NewAccountResults.csv"
Connect-AzureAD -Credential $Credential
$newusers = Import-Csv -Path "E:\test\NewAccounts.csv" | foreach {Get-AzureADUser -Filter "userPrincipalName eq '$($_.UserPrincipalName)'"}
foreach ($user in $newusers){
Add-AzureADGroupMember -ObjectId "{object id of the existing group}" -RefObjectId $user.ObjectId
}
顺便说一句,您可以从 Azure 门户中获取现有组的对象 ID。