PIATTAFORMA

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
Report sent to it-licensing@contoso.com. Example data.

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 della libreria, per ambito
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 production per impostazione predefinita, con prefisso rjgit-, 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.

offboard-user-permanently.ps1estratto
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)")
UserMMMaren Müller
Who should step in as group/resource owner?LBLukas Brandt
Replace manager referencesOff
Delete modeWhatIf (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
Settings / Runbook permissionsestratto dell'esempio incluso
{  "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.

Portale RealmJoin

Modulo, permessi, pianificazione

Il vostro Azure Automation

Job, log, pianificazioni

Il vostro Hybrid Worker

Esegue i runbook *_hybrid on-premises

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
Example data.

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
Example data.

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.