Hantera säkerhetsgrupper med PowerShell
Denna artikel gäller för både Microsoft 365 Enterprise och Office 365 Enterprise.
Du kan använda PowerShell för Microsoft 365 som ett alternativ till administrationscentret för Microsoft 365 för att hantera säkerhetsgrupper.
I den här artikeln beskrivs hur du listar, skapar, ändrar inställningar och tar bort säkerhetsgrupper.
Använd dessa steg när ett kommandoblock i den här artikeln kräver att du anger variabelvärden.
- Kopiera kommandoblocket till Urklipp och klistra in det i Anteckningar eller PowerShell Integrated Script Environment (ISE).
- Fyll i variabelvärdena och ta bort tecknen "<" och ">".
- Kör kommandona i PowerShell-fönstret eller PowerShell ISE.
Hantera säkerhetsgrupper med Hjälp av Microsoft Graph PowerShell
Obs!
Azure Active Directory-modulen ersätts av Microsoft Graph PowerShell SDK. Du kan använda Microsoft Graph PowerShell SDK för att komma åt alla Microsoft Graph API:er. Mer information finns i Komma igång med Microsoft Graph PowerShell SDK.
Anslut först till din Microsoft 365-klientorganisation.
För att hantera säkerhetsgrupper krävs behörighetsomfånget Group.ReadWrite.All eller någon av de andra behörigheterna som anges på graph API-referenssidan "Lista prenumerationskus". Vissa kommandon i den här artikeln kan kräva olika behörighetsomfång, i vilket fall detta anges i det relevanta avsnittet.
Connect-Graph -Scopes Group.ReadWrite.All
Visa en lista över dina grupper
Använd det här kommandot för att visa en lista över alla dina grupper.
Get-MgGroup -All
Använd dessa kommandon för att visa inställningarna för en viss grupp med dess visningsnamn.
$groupName="<display name of the group>"
Get-MgGroup -All | Where-Object { $_.DisplayName -eq $groupName }
Skapa en ny grupp
Använd det här kommandot för att skapa en ny säkerhetsgrupp.
Connect-MgGraph -Scopes "Group.Create"
New-MgGroup -Description "<group purpose>" -DisplayName "<name>" -MailEnabled:$false -SecurityEnabled -MailNickname "<email name>"
Visa inställningarna för en grupp
Visa inställningarna för gruppen med dessa kommandon.
$groupName="<display name of the group>"
Get-MgGroup -All | Where-Object { $_.DisplayName -eq $groupName } | Select-Object *
Ta bort en säkerhetsgrupp
Använd dessa kommandon för att ta bort en säkerhetsgrupp.
$groupName="<display name of the group>"
$group = Get-MgGroup -Filter "displayName eq '$groupName'"
Remove-MgGroup -GroupId $group.Id
Hantera ägare till en säkerhetsgrupp
Använd dessa kommandon för att visa de aktuella ägarna till en säkerhetsgrupp.
$groupName="<display name of the group>"
# Connect to Microsoft Graph
Connect-MgGraph -Scopes "GroupMember.Read.All"
# Display group owners
Get-MgGroupOwner -GroupId (Get-MgGroup | Where-Object { $_.DisplayName -eq $groupName }).Id
Använd dessa kommandon för att lägga till ett användarkonto med dess användarhuvudnamn (UPN) till de aktuella ägarna till en säkerhetsgrupp.
$userUPN="<UPN of the user account to add>"
$groupName="<display name of the group>"
# Connect to Microsoft Graph
Connect-MgGraph -Scopes "Group.ReadWrite.All", "User.ReadBasic.All"
# Get the group and user
$group = Get-MgGroup -Filter "displayName eq '$groupName'"
$userId = (Get-MgUser -Filter "userPrincipalName eq '$userUPN'").Id
# Add the user as an owner to the group
$newGroupOwner =@{
"@odata.id"= "https://graph.microsoft.com/v1.0/users/$userId"
}
New-MgGroupOwnerByRef -GroupId $group.Id -BodyParameter $newGroupOwner
Använd dessa kommandon för att lägga till ett användarkonto med dess visningsnamn till de aktuella ägarna till en säkerhetsgrupp.
$userName="<Display name of the user account to add>"
$groupName="<display name of the group>"
# Connect to Microsoft Graph
Connect-MgGraph -Scopes "Group.ReadWrite.All", "Directory.Read.All", "User.ReadBasic.All"
# Get the group and user
$group = Get-MgGroup -All | Where-Object { $_.DisplayName -eq $groupName }
$userId = (Get-MgUser -All | Where-Object { $_.DisplayName -eq $userName }).Id
# Add the user as an owner to the group
$newGroupOwner =@{
"@odata.id"= "https://graph.microsoft.com/v1.0/users/$userId"
}
New-MgGroupOwnerByRef -GroupId $group.Id -BodyParameter $newGroupOwner
Använd dessa kommandon för att ta bort ett användarkonto med dess UPN från de aktuella ägarna av en säkerhetsgrupp.
$userUPN="<UPN of the user account to remove>"
$groupName="<display name of the group>"
# Connect to Microsoft Graph
Connect-MgGraph -Scopes "Group.ReadWrite.All", "Directory.ReadWrite.All"
# Get the group and user
$group = Get-MgGroup -Filter "displayName eq '$groupName'" | Select-Object -First 1
$user = Get-MgUser -Filter "userPrincipalName eq '$userUPN'" | Select-Object -First 1
# Remove the user from the group
Remove-MgGroupOwnerByRef -GroupId $group.Id -DirectoryObjectId $user.Id
Använd dessa kommandon för att ta bort ett användarkonto med dess visningsnamn från de aktuella ägarna till en säkerhetsgrupp.
$userName="<Display name of the user account to remove>"
$groupName="<display name of the group>"
$group = Get-MgGroup | Where-Object { $_.DisplayName -eq $groupName }
$user = Get-MgUser | Where-Object { $_.DisplayName -eq $userName }
Remove-MgGroupOwnerByRef -GroupId $group.Id -DirectoryObjectId $user.Id
Se även
Hantera Microsoft 365-användarkonton,-licenser och-grupper med PowerShell