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 Administrationscenter 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.

  1. Kopiera kommandoblocket till Urklipp och klistra in det i Anteckningar eller PowerShell Integrated Script Environment (ISE).
  2. Fyll i variabelvärdena och ta bort tecknen "<" och ">".
  3. Kör kommandona i PowerShell-fönstret eller PowerShell ISE.

Se Behåll medlemskap i säkerhetsgrupper för att hantera gruppmedlemskap med PowerShell.

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å sidan "Lista prenumerationskus" Graph API referenssida. 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

Hantera Microsoft 365 med PowerShell

Börja använda PowerShell för Microsoft 365