PLATEFORME

Votre PowerShell, transformé en self-service encadré.

RealmJoin synchronise une bibliothèque organisée de 175 runbooks dans votre propre compte Azure Automation, génère un formulaire pour chaque script et détermine qui peut exécuter quoi. Chaque job laisse un journal.

  • 175 runbooks, open source
  • S'exécute dans votre abonnement Azure
  • Permissions jusqu'au groupe cible
  • De nouveaux runbooks chaque mois
Report sent to it-licensing@contoso.com. Example data.

175 runbooks que vous n'avez pas à écrire

La bibliothèque est open source sur GitHub. RealmJoin la synchronise dans votre compte Automation, la maintient à jour au fil des nouvelles versions publiées chaque mois et exécute vos propres runbooks juste à côté.

Runbooks de la bibliothèque, par portée
Runbook
PlanifiéCleanup Autopilot devices
PlanifiéDelete stale devices
PlanifiéAuto-approve driver updates
PlanifiéNotify users about low disk space
PlanifiéReport devices without primary user
PlanifiéReport expiring application credentials
PlanifiéMonitor pending EPM requests
PlanifiéSync 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
PlanifiéUnenroll updatable assets

Quelques runbooks de chaque portée. Organisation, 96 runbooks : General 39, Devices 19, Security 15, Mail 10, Applications 9, Collaboration 3, Phone 1.
Utilisateur, 43 runbooks : Mail 13, General 12, Security 9, Phone 5, User info 3, AVD 1.
Appareil, 22 runbooks : General 12, Security 8, AVD 2.
Groupe, 14 runbooks : General 9, Mail 2, Devices 2, Teams 1.

  • Synchronisés depuis GitHub

    Depuis la branche production par défaut, préfixés rjgit-, ajoutés, mis à jour et supprimés pour refléter la bibliothèque.

  • Modules pris en charge

    Les modules requis sont lus dans chaque script et installés depuis la PowerShell Gallery, dépendances comprises.

  • Environnement d'exécution géré

    Un environnement PowerShell 7.4 avec Az et Azure CLI, dans votre compte Automation.

Le formulaire s'écrit tout seul

RealmJoin lit le bloc de paramètres et l'aide intégrée de chaque script. Les annotations Use-RJInterface transforment les paramètres en sélecteurs d'utilisateurs, de groupes et d'appareils appuyés sur Microsoft Graph, en champs numériques, de date ou de texte, ou en paramètres du tenant. ValidateSet devient une liste déroulante.

  • Les champs obligatoires sont vérifiés avant le démarrage d'un job
  • Par tenant, masquer, renommer, réordonner ou prédéfinir chaque champ
  • Règles conditionnelles : le choix d'une option modifie d'autres champs
  • Le nom du demandeur est transmis pour la piste d'audit

Ce que RealmJoin génère à partir du script. Paramètres combinés de deux runbooks de la bibliothèque à titre d'illustration.

offboard-user-permanently.ps1extrait
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)

Qui peut exécuter quoi, jusqu'à la cible

Les permissions des runbooks tiennent dans un document JSON par tenant. Les rôles sont associés à des groupes Entra et autorisent des runbooks par motif de nom. Les groupes cibles peuvent restreindre un rôle davantage : le support de premier niveau peut alors afficher les mots de passe administrateur local pour la Suède, mais nulle part ailleurs. La planification dispose de ses propres motifs d'autorisation et de refus.

  • Activer ou désactiver des familles entières à l'aide de wildcards
  • Restreindre les rôles par groupe cible, pas seulement par runbook
  • Les commentaires et les virgules finales sont acceptés, le fichier reste lisible
Settings / Runbook permissionsextrait de l'exemple fourni
{  "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_*" ]}
  • Des planifications dans votre fuseau horaire

    Des planifications horaires, quotidiennes, hebdomadaires et mensuelles sont prêtes à l'emploi, toutes dans le fuseau horaire de votre tenant, et vous pouvez ajouter les vôtres.

    • Les jobs planifiés listés à côté des jobs manuels
    • Autoriser ou bloquer la planification par motif de runbook
  • Conçus pour tourner sans intervention

    34 runbooks de la bibliothèque sont prévus pour cela : nettoyage, reporting et supervision que personne ne devrait lancer à la main.

    • Rapports par e-mail ou via un lien de téléchargement à durée limitée
    • Chaque exécution planifiée dans l'historique des jobs et votre espace de travail Log Analytics

Sur site aussi Preview

Certaines tâches vivent encore sur site : un partage de fichiers, un attribut Active Directory, une application héritée. Les runbooks dont le nom se termine par _hybrid peuvent s'exécuter sur un groupe de Hybrid Runbook Workers dans votre réseau. Au lancement, vous choisissez le groupe de workers ; tout le reste ne change pas.

Disponible sur le portail de staging RealmJoin pendant la préversion.

Portail RealmJoin

Formulaire, permissions, planification

Votre Azure Automation

Job, journaux, planifications

Votre Hybrid Worker

Exécute les runbooks *_hybrid sur site

Une bibliothèque de remédiation, déployée par étapes et mesurée

RealmJoin synchronise chaque nuit des scripts de remédiation Intune sélectionnés depuis son dépôt GitHub public. Abonnez-vous à un script, passez-le en staging, déployez-le vers les groupes gérés selon un calendrier, puis suivez les résultats de détection et de remédiation par appareil. S'il faut agir tout de suite sur une machine, lancez-le depuis la page de l'appareil.

  • Non gérés, gérés, en staging, déployés et dépréciés en un coup d'œil
  • Les sources de détection et de remédiation côte à côte
  • Les scripts retirés en amont sont conservés tant que vous les utilisez
Example data.

Des formulaires pour tous les autres

Toutes les demandes ne sont pas des runbooks. Les formulaires self-service sont construits à partir d'un schéma JSON avec un fichier de traduction, apparaissent aux employés comme des formulaires d'entreprise et envoient chaque soumission par e-mail ou vers un webhook, par exemple votre outil ITSM ou un flux Teams. Chaque réponse est conservée dans un historique.

  • Multilingues grâce à un fichier de traduction
  • Destinataire e-mail et webhook optionnel par formulaire
  • Historique des formulaires pour les admins, réponses sur la page de l'utilisateur
Example data.

Lancez des runbooks depuis n'importe où

La Customer API exécute les runbooks de manière synchrone ou en arrière-plan et renvoie l'état du job, le texte de sortie, les flux de sortie et les exceptions. Votre ITSM peut traiter le départ d'un collaborateur directement depuis le ticket qui l'a demandé.

  • Exécuter et attendre

    Appel synchrone qui rend la main à la fin du job, pour des jobs jusqu'à une heure.

  • Démarrer en arrière-plan

    Renvoie immédiatement un ID de job ; interrogez l'état quand vous en avez besoin.

  • État du job

    En file d'attente, en cours, terminé ou en échec.

  • Sortie

    Le texte de sortie simple ou tous les flux de sortie.

  • Exceptions

    Le texte de l'exception quand un job échoue.

  • Export nocturne des journaux

    Les jobs terminés arrivent dans votre espace de travail Log Analytics à 23:00. Référence de la Customer API

Mettez le dossier de scripts à la retraite.

Connectez Azure Automation, synchronisez la bibliothèque et confiez le premier runbook au helpdesk avec les bons garde-fous.