Je PowerShell-scripts, omgezet in afgeschermde selfservice.
RealmJoin synchroniseert een samengestelde bibliotheek van 175 runbooks naar je eigen Azure Automation-account, bouwt voor elk script een formulier en bepaalt wie wat mag uitvoeren. Elke job laat een logboek achter.
- 175 runbooks, opensource
- Draait in je eigen Azure-abonnement
- Rechten tot op de doelgroep
- Elke maand nieuwe runbooks
175 runbooks die je niet zelf hoeft te schrijven
De bibliotheek staat als opensource op GitHub. RealmJoin synchroniseert hem naar je Automation-account, houdt hem actueel met de releases die elke maand verschijnen, en draait je eigen runbooks er gewoon naast.
| Runbook |
|---|
| IngeplandCleanup Autopilot devices |
| IngeplandDelete stale devices |
| IngeplandAuto-approve driver updates |
| IngeplandNotify users about low disk space |
| IngeplandReport devices without primary user |
| IngeplandReport expiring application credentials |
| IngeplandMonitor pending EPM requests |
| IngeplandSync 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 |
| IngeplandUnenroll updatable assets |
Een paar runbooks uit elke scope. Organisatie, 96 runbooks: Algemeen 39, Apparaten 19, Beveiliging 15, E-mail 10, Applicaties 9, Samenwerking 3, Telefonie 1.
Gebruiker, 43 runbooks: E-mail 13, Algemeen 12, Beveiliging 9, Telefonie 5, Gebruikersinfo 3, AVD 1.
Apparaat, 22 runbooks: Algemeen 12, Beveiliging 8, AVD 2.
Groep, 14 runbooks: Algemeen 9, E-mail 2, Apparaten 2, Teams 1.
Gesynchroniseerd vanaf GitHub
Standaard uit de branch
production, met het voorvoegselrjgit-, en toegevoegd, bijgewerkt en verwijderd om de bibliotheek te volgen.Modules geregeld
Benodigde modules worden uit elk script gelezen en vanuit de PowerShell Gallery geïnstalleerd, inclusief afhankelijkheden.
Beheerde runtime
Een PowerShell 7.4-omgeving met Az en de Azure CLI, in je eigen Automation-account.
Het formulier schrijft zichzelf
RealmJoin leest het parameterblok en de comment-based help van elk script. Annotaties met Use-RJInterface maken van parameters keuzelijsten voor gebruikers, groepen en apparaten op basis van Microsoft Graph, velden voor getallen, datums en tekst, of tenantinstellingen. ValidateSet wordt een dropdown.
- Verplichte velden worden gecontroleerd voordat een job start
- Per tenant elk veld verbergen, hernoemen, verplaatsen of vooraf invullen
- Voorwaardelijke regels: kies een optie en andere velden veranderen mee
- De naam van de aanroeper gaat mee voor het audittraject
Wat RealmJoin uit het script opbouwt. De parameters komen ter illustratie uit twee runbooks uit de bibliotheek.
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)")
Wie wat mag uitvoeren, tot op het doel
De rechten op runbooks staan in één JSON-document per tenant. Rollen verwijzen naar Entra-groepen en geven runbooks vrij op naampatroon. Doelgroepen kunnen een rol verder inperken, zodat de eerstelijnssupport lokale beheerderswachtwoorden voor Zweden wel mag tonen en nergens anders. Voor het inplannen gelden eigen patronen voor toestaan en weigeren.
- Hele families in- of uitschakelen met jokertekens
- Rollen inperken per doelgroep, niet alleen per runbook
- Commentaar en komma's aan het eind zijn toegestaan, zodat het leesbaar blijft
{ "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_*" ]}
Planningen in jouw tijdzone
Planningen per uur, per dag, per week en per maand staan klaar, allemaal in de tijdzone van je tenant, en je kunt er zelf aan toevoegen.
- Ingeplande jobs staan naast de handmatige
- Inplannen toestaan of blokkeren per runbookpatroon
Gemaakt om onbeheerd te draaien
34 runbooks uit de bibliotheek zijn daarop gebouwd: opruimen, rapporteren en bewaken, werk dat niemand met de hand zou moeten starten.
- Rapporten per e-mail of als downloadlink met beperkte geldigheid
- Elke ingeplande run in de jobgeschiedenis en in je eigen Log Analytics-workspace
Ook on-premises Preview
Sommige taken staan nog on-premises: een bestandsshare, een attribuut in Active Directory, een oude applicatie. Runbooks waarvan de naam eindigt op _hybrid kunnen draaien op een Hybrid Runbook Worker-groep in je eigen netwerk. Bij het starten kies je de workergroep, verder blijft alles hetzelfde.
Zolang dit in preview is, beschikbaar op het stagingportaal van RealmJoin.
Een herstelbibliotheek, gefaseerd en gemeten
RealmJoin synchroniseert elke nacht samengestelde Intune-herstelscripts uit zijn openbare GitHub-repository. Je abonneert je op een script, zet het in staging, rolt het volgens planning uit naar beheerde groepen en volgt daarna per apparaat de resultaten van detectie en herstel. Heb je het meteen op één machine nodig, dan start je het vanaf de apparaatpagina.
- Onbeheerd, beheerd, in staging, uitgerold en uitgefaseerd in één oogopslag
- De broncode voor detectie en herstel naast elkaar
- Scripts die upstream verdwijnen blijven bestaan zolang jij ze gebruikt
Formulieren voor alle anderen
Niet elk verzoek is een runbook. Selfserviceformulieren worden opgebouwd uit een JSON-schema met een vertaalbestand, verschijnen voor medewerkers als bedrijfsformulieren en sturen elke inzending per e-mail of naar een webhook, bijvoorbeeld je ITSM-tool of een flow in Teams. Elke reactie wordt in een geschiedenis bewaard.
- Meertalig via een vertaalbestand
- Een e-mailontvanger en optioneel een webhook per formulier
- Formuliergeschiedenis voor beheerders, reacties op de gebruikerspagina
Start runbooks vanaf elke plek
De Customer API voert runbooks synchroon of op de achtergrond uit en geeft jobstatus, uitvoertekst, uitvoerstromen en uitzonderingen terug. Je ITSM kan een vertrekkende medewerker offboarden vanuit het ticket waarin daarom is gevraagd.
Uitvoeren en wachten
Synchrone aanroep die terugkomt zodra de job klaar is, voor jobs tot een uur.
Op de achtergrond starten
Geeft meteen een job-ID terug, de status vraag je op wanneer je die nodig hebt.
Jobstatus
In de wachtrij, bezig, voltooid of mislukt.
Uitvoer
Platte uitvoertekst of alle uitvoerstromen.
Uitzonderingen
De tekst van de uitzondering als een job mislukt.
Nachtelijke logexport
Afgeronde jobs belanden om 23:00 in je Log Analytics-workspace. Naslag voor de Customer API
Neem afscheid van de scriptmap.
Koppel Azure Automation, synchroniseer de bibliotheek en geef het eerste runbook met de juiste grenzen door aan de helpdesk.