PowerShell Automation

Wiederkehrende IT-Aufgaben — automatisiert, dokumentiert, versioniert

Onboarding eines neuen Mitarbeiters dauert manuell 4 Stunden? Lizenzen werden vergeben und nie wieder geprüft? Reports werden mit Copy-Paste zusammengebastelt? Das geht besser.

Ich automatisiere wiederkehrende Aufgaben in Microsoft 365, Entra ID, Intune und Windows mit PowerShell. Du bekommst klare Skripte, ein Git-Repo, saubere Dokumentation und echte Runbooks für dein Team. Jede Aufgabe nur einmal lösen — danach läuft sie automatisch.

⚙️

Was du bekommst

  • Klare PowerShell-Skripte
  • Git-Repository mit Versionierung
  • Logging & Error-Handling
  • Secrets in Azure Key Vault
  • Geplante Ausführung
  • Runbooks für dein Team
Was ich automatisiere

Typische Aufgaben für die Automatisierung

👥

User-Lifecycle

Anlage, Änderung, Offboarding inkl. Lizenzen, Gruppen, Mailbox, OneDrive-Archivierung.

📱

Intune & Entra

Bulk-Imports, Gerätezuteilung, Compliance-Berichte — sauber geloggt.

📧

Exchange Online

Transportregeln, Journaling, Delegationen, Mailbox-Quotas automatisch.

📁

SharePoint & Teams

Site-Provisionierung mit PnP.PowerShell, Berechtigungs-Reports, Bereinigungen.

📊

Reports & Compliance

Lizenz-Reports, Login-Statistiken, Secure-Score-Auswertungen — automatisch monatlich.

🔄

Backup & Cleanup

Konfig-Backups, alte Postfächer entfernen, Speicher freigeben.

Praxis-Beispiele

PowerShell-Snippets aus echten Projekten

Beispiel 1: Mailbox-Delegation in Exchange Online
# Modul installieren und verbinden
Install-Module ExchangeOnlineManagement -Scope CurrentUser
Connect-ExchangeOnline

# Anna bekommt FullAccess auf info@firma.de
Add-MailboxPermission -Identity "info@firma.de" `
    -User "anna@firma.de" `
    -AccessRights FullAccess `
    -AutoMapping $true
Beispiel 2: Lizenz-Report mit Microsoft Graph
# Mit Graph verbinden
Connect-MgGraph -Scopes "User.Read.All", "Organization.Read.All"

# Alle User mit ihren Lizenzen
Get-MgUser -All -Property DisplayName, UserPrincipalName, AssignedLicenses |
    Select-Object DisplayName, UserPrincipalName, @{
        Name = "Licenses"
        Expression = { ($_.AssignedLicenses.SkuId) -join "," }
    } |
    Export-Csv -Path "C:\Reports\licenses.csv" -NoTypeInformation
Beispiel 3: Onboarding in einem Befehl
# Funktion: Neuer Mitarbeiter komplett anlegen
function New-CompanyUser {
    param(
        [Parameter(Mandatory)] [string]$FirstName,
        [Parameter(Mandatory)] [string]$LastName,
        [Parameter(Mandatory)] [string]$Department,
        [string]$Manager
    )
    # 1. AD-Konto erstellen
    New-ADUser -Name "$FirstName $LastName" -GivenName $FirstName ...
    # 2. Lizenz zuweisen
    Set-MgUserLicense ...
    # 3. Gruppen-Mitgliedschaft
    Add-ADGroupMember -Identity "$Department-Group" ...
    # 4. Mailbox provisionieren, Signatur, Teams, ...
}
Ablauf

In 5 Schritten zur Automation

1

Use-Case

Was wiederholt sich? Was nervt? Was kostet Zeit?

2

Konzept

Scope, Parameter, Secrets, Logging-Strategie, Rollback-Plan.

3

Skript

Repo-Setup, Skripte schreiben, Tests mit Dry-Runs.

4

Pilot

Skript in Test-Umgebung, Anpassungen, Doku.

5

Go-Live

Geplante Ausführung, Monitoring, optional Managed-Service.

Was Kunden sagen

Stimmen aus der Praxis

„super Zusammenarbeit, geht auf Wünsche und Vorstellungen ein, hat viele gute Ideen, großes Fachwissen, sehr modern, sehr freundlich, immer wieder gerne…"

— Susanne Gatzen, Google-Bewertung 5/5

Ali Sasanipour, IT-Berater aus München

PowerShell ist mein wichtigstes Werkzeug — fast jedes IT-Projekt schließt mit ein paar Skripten ab, die wiederkehrende Aufgaben automatisieren. Mein Versprechen: jedes Skript bekommt Logging, Error-Handling, Doku — kein Spaghetti-Code, den niemand mehr versteht. Schreib mir kurz, welche Aufgaben dich aktuell ärgern.

Häufige Fragen

Was Kunden zu PowerShell-Automation fragen

Wie werden Zugangsdaten sicher verwaltet?
Secrets liegen nicht im Skript, sondern in Azure Key Vault oder lokal verschlüsselt mit Windows DPAPI. Zugriffe erfolgen über Entra ID App-Registrierungen mit minimalen Rollen — Prinzip der geringsten Rechte.
Wo laufen die Skripte zeitgesteuert?
Je nach Umgebung: Windows Task Scheduler (lokal), Azure Automation (Cloud), GitHub Actions (CI/CD-Pipeline) oder Microsoft Power Automate für einfachere Trigger. Mit Logging, Alerts und Runbooks.
Bekomme ich die Skripte mit Doku?
Ja. Du bekommst ein Git-Repository mit klarer Struktur, README, Parametrisierung, Beispiel-Aufrufen, plus eine kurze Betriebsdoku als PDF und optional eine Schulung deines IT-Teams.
Was, wenn ich keinen IT-Mitarbeiter habe?
Dann übernehme ich auf Wunsch den Betrieb der Skripte als Managed Service. Monatlicher Pauschalpreis für Wartung, Anpassungen und Notfall-Support.
Wie teste ich, ob ein Skript wirklich sicher läuft?
Jedes Skript wird mit Dry-Run-Modus entwickelt — also zuerst Testlauf ohne echte Änderungen, der nur ausgibt, was passieren würde. Plus: Pilotphase in einer Test-Umgebung. Erst wenn alles passt, geht's live.
Fachbegriffe

Glossar

PowerShell

Microsofts Befehls- und Skriptsprache für Windows, M365, Azure und mehr.

Microsoft Graph

API von Microsoft für Zugriff auf M365-Daten — Standard für moderne Skripte.

App-Registrierung

Service-Identität in Entra ID, mit der Skripte API-Zugriff bekommen — ohne User-Login.

Azure Key Vault

Sicherer Cloud-Tresor für Passwörter, Zertifikate, API-Keys.

Idempotenz

Eigenschaft eines Skripts, mehrfach ausgeführt zu werden, ohne Schaden anzurichten.

Dry-Run

Testlauf, der zeigt was passieren würde — ohne echte Änderungen vorzunehmen.

Runbook

Dokumentation, wie ein Skript betrieben wird — Trigger, Voraussetzungen, Notfall-Vorgehen.

PnP.PowerShell

Open-Source-Modul für SharePoint-Automatisierung — von Microsoft empfohlen.

Dein nächster Schritt

Lass uns deine wiederkehrenden Aufgaben automatisieren

15 Minuten kostenlos. Ich höre zu, welche Aufgaben dich nerven — und schlage Quick-Wins vor.