Dein PowerShell, verwandelt in abgesicherten Self-Service.
RealmJoin synchronisiert eine kuratierte Bibliothek aus 175 Runbooks in dein eigenes Azure-Automation-Konto, baut für jedes Skript ein Formular und entscheidet, wer was ausführen darf. Jeder Job hinterlässt ein Log.
- 175 Runbooks, Open Source
- Läuft in deinem Azure-Abonnement
- Berechtigungen bis hinunter zur Zielgruppe
- Jeden Monat neue Runbooks
175 Runbooks, die du nicht schreiben musst
Die Bibliothek ist Open Source auf GitHub. RealmJoin synchronisiert sie in dein Automation-Konto, hält sie mit den monatlichen Releases aktuell und führt deine eigenen Runbooks gleich daneben aus.
| Runbook |
|---|
| GeplantCleanup Autopilot devices |
| GeplantDelete stale devices |
| GeplantAuto-approve driver updates |
| GeplantNotify users about low disk space |
| GeplantReport devices without primary user |
| GeplantReport expiring application credentials |
| GeplantMonitor pending EPM requests |
| GeplantSync MFA-secure users to group |
| Backup Conditional Access policies |
| Notify changed CA policies |
| List inactive users |
| Invite external guest users |
| Add shared mailbox |
| Export all Intune devices |
| Check SharePoint and OneDrive status |
| Offboard user permanently |
| Offboard user temporarily |
| Create temporary access pass |
| Reset MFA |
| Revoke or restore access |
| Confirm or dismiss risky user |
| Convert to shared mailbox |
| Delegate full access |
| Set out of office |
| Set Teams Phone |
| Assign Windows 365 |
| Resize Windows 365 |
| Check Intune enrollment readiness |
| Assign groups by template |
| List sign-in events |
| Wipe device |
| Outphase device |
| Rename device |
| Set primary user |
| Wipe managed app data |
| Check device compliance |
| Isolate or release device |
| Restrict or release code execution |
| Check Defender status |
| Show BitLocker recovery key |
| Show FileVault recovery key |
| Show LAPS password |
| Reset mobile device PIN |
| Toggle drain mode |
| Restart host |
| Add or remove user |
| Add or remove owner |
| Add or remove nested group |
| Rename group |
| Change visibility |
| List all members |
| List user devices |
| Remove group |
| Enable or disable external mail |
| Show or hide in address book |
| Archive team |
| GeplantUnenroll updatable assets |
Einige Runbooks aus jedem Geltungsbereich. Organisation, 96 Runbooks: Allgemein 39, Geräte 19, Security 15, Mail 10, Anwendungen 9, Collaboration 3, Telefonie 1.
Nutzer, 43 Runbooks: Mail 13, Allgemein 12, Security 9, Telefonie 5, Nutzerinfos 3, AVD 1.
Gerät, 22 Runbooks: Allgemein 12, Security 8, AVD 2.
Gruppe, 14 Runbooks: Allgemein 9, Mail 2, Geräte 2, Teams 1.
Synchronisiert aus GitHub
Standardmäßig aus dem Branch
production, mit dem Präfixrjgit-, passend zur Bibliothek hinzugefügt, aktualisiert und entfernt.Module inklusive
Die benötigten Module werden aus jedem Skript gelesen und aus der PowerShell Gallery installiert, Abhängigkeiten eingeschlossen.
Verwaltete Laufzeitumgebung
Eine PowerShell-7.4-Umgebung mit Az und Azure CLI, in deinem Automation-Konto.
Das Formular schreibt sich selbst
RealmJoin liest den Parameterblock und die kommentarbasierte Hilfe jedes Skripts. Use-RJInterface-Annotationen machen aus Parametern Auswahlfelder für Nutzer, Gruppen und Geräte auf Basis von Microsoft Graph, Zahlen-, Datums- und Textfelder oder Tenant-Einstellungen. Aus ValidateSet wird ein Dropdown.
- Pflichtfelder werden geprüft, bevor ein Job startet
- Pro Tenant lässt sich jedes Feld ausblenden, umbenennen, umsortieren oder vorbelegen
- Bedingte Regeln: Wählst du eine Option, ändern sich andere Felder
- Der Name des Aufrufers wird für den Audit-Trail mitgegeben
Was RealmJoin aus dem Skript rendert. Die Parameter stammen zur Veranschaulichung aus zwei Runbooks der Bibliothek.
param ( [Parameter(Mandatory = $true)] [ValidateScript( { Use-RJInterface -Type Graph -Entity User -DisplayName "User" } )] [String] $UserName, [ValidateScript( { Use-RJInterface -Type Graph -Entity User -DisplayName "Who should step in as group/resource owner?" } )] [String] $ReplacementOwnerName, [bool] $ReplaceManagerReferences = $false, [ValidateSet("WhatIf (report only)", "Delete")] [string] $DeleteMode = "WhatIf (report only)")
Wer was ausführen darf, bis hinunter zum Ziel
Die Runbook-Berechtigungen stehen in einem JSON-Dokument pro Tenant. Rollen werden auf Entra-Gruppen abgebildet und geben Runbooks über Namensmuster frei. Zielgruppen schränken eine Rolle weiter ein, sodass der First-Level-Support lokale Admin-Passwörter für Schweden anzeigen darf, sonst aber nirgends. Für die Zeitplanung gibt es eigene Erlaubnis- und Verbotsmuster.
- Ganze Familien per Wildcard aktivieren oder deaktivieren
- Rollen pro Zielgruppe einschränken, nicht nur pro Runbook
- Kommentare und nachgestellte Kommas sind erlaubt, damit es lesbar bleibt
{ "EnabledRunbookPatterns": [ "rjgit-*_mail_*", "rjgit-*_security_*" ], "DisabledRunbookPatterns": [ "*password*" ], "Roles": { "LAPSAdmin": { "Groups": [ /* CFG - RealmJoin Admin */ "724c288d-…" ], "AllowedRunbookPatterns": [ "rjgit-*_security_*" ] }, "DeviceAdmin": { "Groups": [ /* Sweden Supporters */ "52fcd199-…" ], "AllowedRunbookPatterns": [ "rjgit-device_*" ] } }, "TargetEntityGroups": { /* Sweden Users: LAPS only for Sweden Supporters */ "ca03f227-…": { "RestrictRoles": { "LAPSAdmin": [ "52fcd199-…" ] } } }, "SchedulingDisabledRunbookPatterns": [ "rjgit-device_*" ]}
Zeitpläne in deiner Zeitzone
Stündliche, tägliche, wöchentliche und monatliche Zeitpläne sind fertig vorhanden, alle in der Zeitzone deines Tenants, und du kannst eigene ergänzen.
- Geplante Jobs stehen neben den manuellen
- Zeitplanung pro Runbook-Muster erlauben oder sperren
Gebaut für den unbeaufsichtigten Lauf
34 Runbooks der Bibliothek sind dafür gebaut: Aufräumen, Reporting und Monitoring, das niemand von Hand starten sollte.
- Berichte per E-Mail oder als zeitlich begrenzter Downloadlink
- Jeder geplante Lauf steht im Jobverlauf und in deinem Log-Analytics-Workspace
Auch on premises Preview
Manche Aufgaben liegen weiterhin on premises: eine Dateifreigabe, ein Active-Directory-Attribut, eine Altanwendung. Runbooks, deren Namen auf _hybrid enden, können auf einer Hybrid-Runbook-Worker-Gruppe in deinem Netzwerk laufen. Beim Start wählst du die Worker-Gruppe, alles andere bleibt gleich.
Während der Preview im RealmJoin-Staging-Portal verfügbar.
Eine Remediation-Bibliothek, gestaffelt und gemessen
RealmJoin synchronisiert jede Nacht kuratierte Intune-Remediation-Skripte aus seinem öffentlichen GitHub-Repository. Du abonnierst eines, stellst es bereit, verteilst es nach Zeitplan an verwaltete Gruppen und siehst dann pro Gerät die Ergebnisse von Erkennung und Behebung. Und wenn es auf einer einzelnen Maschine sofort sein muss, startest du es von der Geräteseite.
- Unmanaged, Managed, Staged, Deployed und Deprecated auf einen Blick
- Erkennungs- und Behebungsskript nebeneinander
- Skripte, die upstream entfernt wurden, bleiben erhalten, solange du sie noch nutzt
Formulare für alle anderen
Nicht jede Anfrage ist ein Runbook. Self-Service-Formulare entstehen aus einem JSON-Schema mit einer Übersetzungsdatei, erscheinen für Mitarbeiter als Unternehmensformulare und schicken jede Einreichung per E-Mail oder an einen Webhook, zum Beispiel an dein ITSM-Werkzeug oder einen Teams-Flow. Jede Antwort wird in einer Historie aufbewahrt.
- Mehrsprachig über eine Übersetzungsdatei
- E-Mail-Empfänger und optionaler Webhook pro Formular
- Formularhistorie für Admins, Antworten auf der Nutzerseite
Runbooks von überall starten
Die Customer API führt Runbooks synchron oder im Hintergrund aus und liefert Jobstatus, Ausgabetext, Ausgabeströme und Ausnahmen zurück. Dein ITSM kann einen Austritt direkt aus dem Ticket heraus abwickeln, das ihn angefordert hat.
Ausführen und warten
Synchroner Aufruf, der zurückkehrt, wenn der Job endet, für Jobs bis zu einer Stunde.
Im Hintergrund starten
Liefert sofort eine Job-ID, den Status fragst du ab, wenn du ihn brauchst.
Jobstatus
In der Warteschlange, laufend, abgeschlossen oder fehlgeschlagen.
Ausgabe
Reiner Ausgabetext oder alle Ausgabeströme.
Ausnahmen
Der Ausnahmetext, wenn ein Job fehlschlägt.
Nächtlicher Log-Export
Abgeschlossene Jobs landen um 23:00 Uhr in deinem Log-Analytics-Workspace. Referenz der Customer API
Verabschiede dich vom Skriptordner.
Verbinde Azure Automation, synchronisiere die Bibliothek und gib dem Helpdesk das erste Runbook mit den passenden Leitplanken.