Il vostro PowerShell, trasformato in self-service con permessi controllati.
RealmJoin sincronizza una libreria curata di 175 runbook nel vostro account Azure Automation, costruisce un modulo per ogni script e decide chi può eseguire cosa. Ogni job lascia una traccia nel registro.
- 175 runbook, open source
- Girano nella vostra sottoscrizione Azure
- Permessi fino al gruppo di destinazione
- Nuovi runbook ogni mese
175 runbook che non dovete scrivere
La libreria è open source su GitHub. RealmJoin la sincronizza nel vostro account Automation, la mantiene aggiornata man mano che ogni mese escono nuove versioni ed esegue i vostri runbook accanto a quelli della libreria.
| Runbook |
|---|
| PianificatoCleanup Autopilot devices |
| PianificatoDelete stale devices |
| PianificatoAuto-approve driver updates |
| PianificatoNotify users about low disk space |
| PianificatoReport devices without primary user |
| PianificatoReport expiring application credentials |
| PianificatoMonitor pending EPM requests |
| PianificatoSync 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 |
| PianificatoUnenroll updatable assets |
Alcuni runbook per ciascun ambito. Organizzazione, 96 runbook: General 39, Devices 19, Security 15, Mail 10, Applications 9, Collaboration 3, Phone 1.
Utente, 43 runbook: Mail 13, General 12, Security 9, Phone 5, User info 3, AVD 1.
Dispositivo, 22 runbook: General 12, Security 8, AVD 2.
Gruppo, 14 runbook: General 9, Mail 2, Devices 2, Teams 1.
Sincronizzati da GitHub
Dal branch
productionper impostazione predefinita, con prefissorjgit-, aggiunti, aggiornati e rimossi per restare allineati alla libreria.Moduli risolti
I moduli necessari vengono letti da ogni script e installati dalla PowerShell Gallery, dipendenze comprese.
Runtime gestito
Un ambiente PowerShell 7.4 con Az e Azure CLI, nel vostro account Automation.
Il modulo si scrive da solo
RealmJoin legge il blocco dei parametri e la guida nei commenti di ogni script. Le annotazioni Use-RJInterface trasformano i parametri in selettori di utenti, gruppi e dispositivi basati su Microsoft Graph, in campi numerici, di data e di testo oppure in impostazioni del tenant. ValidateSet diventa un menu a discesa.
- I campi obbligatori vengono verificati prima che un job parta
- Per ogni tenant si può nascondere, rinominare, riordinare o preimpostare qualsiasi campo
- Regole condizionali: si sceglie un'opzione e altri campi cambiano
- Il nome di chi esegue viene passato per la traccia di audit
Quello che RealmJoin genera a partire dallo script. Parametri combinati da due runbook della libreria a titolo di esempio.
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)")
Chi può eseguire cosa, fino al singolo obiettivo
I permessi sui runbook sono un unico documento JSON per tenant. I ruoli corrispondono a gruppi di Entra e abilitano i runbook per pattern di nome. I gruppi di destinazione possono restringere ulteriormente un ruolo, così il supporto di primo livello mostra le password di amministratore locale per la Svezia e per nessun altro posto. La pianificazione ha i propri pattern di autorizzazione e di divieto.
- Si abilitano o disabilitano intere famiglie con i caratteri jolly
- I ruoli si restringono per gruppo di destinazione, non solo per runbook
- Commenti e virgole finali sono ammessi, così il file resta leggibile
{ "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_*" ]}
Pianificazioni nel vostro fuso orario
Le pianificazioni oraria, giornaliera, settimanale e mensile sono già pronte, tutte nel fuso orario del tenant, e se ne possono aggiungere altre.
- I job pianificati compaiono accanto a quelli manuali
- La pianificazione si consente o si blocca per pattern di runbook
Fatti per girare senza sorveglianza
34 runbook della libreria sono pensati proprio per questo: pulizia, reportistica e monitoraggio che nessuno dovrebbe avviare a mano.
- Report via email o come link di download a scadenza
- Ogni esecuzione pianificata resta nella cronologia dei job e nel vostro workspace di Log Analytics
Anche on-premises Preview
Alcune attività vivono ancora on-premises: una condivisione di file, un attributo di Active Directory, un'applicazione legacy. I runbook il cui nome finisce con _hybrid possono girare su un gruppo di Hybrid Runbook Worker nella vostra rete. All'avvio si sceglie il gruppo di worker, tutto il resto resta uguale.
Disponibile sul portale di staging di RealmJoin finché è in preview.
Una libreria di remediation, distribuita a fasi e misurata
Ogni notte RealmJoin sincronizza script di remediation per Intune selezionati dal proprio repository GitHub pubblico. Ci si abbona a uno script, lo si prepara, lo si distribuisce ai gruppi gestiti secondo una pianificazione e poi si osservano gli esiti di rilevamento e correzione dispositivo per dispositivo. Se serve subito su una singola macchina, lo si esegue dalla pagina del dispositivo.
- Non gestito, gestito, preparato, distribuito e deprecato a colpo d'occhio
- Il codice di rilevamento e quello di correzione affiancati
- Gli script rimossi a monte restano finché continuate a usarli
Moduli per tutti gli altri
Non tutte le richieste sono un runbook. I moduli self-service nascono da uno schema JSON con un file di traduzione, compaiono ai dipendenti come moduli aziendali e inviano ogni invio via email o a un webhook, per esempio il vostro strumento ITSM o un flusso in Teams. Ogni risposta viene conservata in uno storico.
- Multilingue tramite un file di traduzione
- Destinatario email e webhook opzionale per ogni modulo
- Storico dei moduli per gli amministratori, risposte sulla pagina dell'utente
Avviate i runbook da qualunque punto
La Customer API esegue i runbook in modo sincrono o in background e restituisce stato del job, testo di output, stream di output ed eccezioni. Il vostro ITSM può disattivare chi lascia l'azienda direttamente dal ticket che lo ha richiesto.
Esegui e attendi
Chiamata sincrona che risponde alla fine del job, per job fino a un'ora.
Avvio in background
Restituisce subito un ID job; lo stato si interroga quando serve.
Stato del job
In coda, in esecuzione, completato o fallito.
Output
Testo di output semplice oppure tutti gli stream di output.
Eccezioni
Il testo dell'eccezione quando un job fallisce.
Esportazione notturna dei log
I job conclusi arrivano nel vostro workspace di Log Analytics alle 23:00. Riferimento della Customer API
Mandate in pensione la cartella degli script.
Collegate Azure Automation, sincronizzate la libreria e affidate il primo runbook all'helpdesk con i giusti limiti.