Skip to content

Hinzufügen eines Servicekontos als Admin in SharePoint & Teams

Übersicht

Dieses Skript fügt einen definierten Benutzer (Servicekonto) automatisiert als Site Collection Administrator in allen SharePoint-Seiten sowie als Owner in allen Microsoft Teams und deren privaten Kanälen hinzu.


Voraussetzungen

PowerShell-Module

Folgende Module müssen installiert sein:

# SharePoint Online
Install-Module -Name Microsoft.Online.SharePoint.PowerShell

# Microsoft Teams
Install-Module -Name MicrosoftTeams

Skript

# Variablen
$AdminSiteUrl = "https://<Tenant>-admin.sharepoint.com"
$UserToAdd = "svc-someone@org.onmicrosoft.com"

# --- SharePoint Online ---
Write-Host "=== SharePoint Sites ==="
Connect-SPOService -Url $AdminSiteUrl

$sites = Get-SPOSite -Limit All

foreach ($site in $sites) {
    Write-Host "Verarbeite Site:" $site.Url
    try {
        Set-SPOUser -Site $site.Url -LoginName $UserToAdd -IsSiteCollectionAdmin $true
        Write-Host "✅ Benutzer als SharePoint-Besitzer hinzugefügt: $($site.Url)"
    }
    catch {
        Write-Host "❌ Fehler bei Site: $($site.Url) - $_"
    }
}

# --- Microsoft Teams ---
Write-Host "=== Microsoft Teams ==="
Connect-MicrosoftTeams

$teams = Get-Team

foreach ($team in $teams) {
    Write-Host "Verarbeite Team:" $team.DisplayName

    try {
        # Benutzer als Team-Owner hinzufügen
        Add-TeamUser -GroupId $team.GroupId -User $UserToAdd -Role Owner
        Write-Host "✅ Benutzer als Team-Owner hinzugefügt: $($team.DisplayName)"
    }
    catch {
        Write-Host "❌ Fehler bei Team: $($team.DisplayName) - $_"
    }

    # Private Channels innerhalb des Teams
    $privateChannels = Get-TeamChannel -GroupId $team.GroupId | Where-Object {$_.MembershipType -eq "Private"}
    foreach ($channel in $privateChannels) {
        Write-Host "  Verarbeite privaten Kanal:" $channel.DisplayName
        try {
            Add-TeamChannelUser -GroupId $team.GroupId -DisplayName $channel.DisplayName -User $UserToAdd
            Write-Host "  ✅ Benutzer zum privaten Kanal hinzugefügt"
        }
        catch {
            Write-Host "  ❌ Fehler bei Kanal: $($channel.DisplayName) - $_"
        }
    }
}

Hinweise

  • Für die Ausführung sind SharePoint Administrator und Teams Administrator Rollen erforderlich.
  • Das Servicekonto muss über die notwendigen Lizenzen verfügen, um Mitglied in Teams sein zu können.