UserLock PowerShell

Gérez et automatisez UserLock à l’aide de commandes et de scripts PowerShell. PowerShell offre aux administrateurs un contrôle complet sur la configuration et les rapports UserLock, permettant l’automatisation par script et des intégrations avancées.

Publié le 14 octobre 2025

Introduction

UserLock PowerShell fournit une interface en ligne de commande destinée aux administrateurs qui préfèrent le script à la gestion graphique.
Elle permet d’effectuer des opérations en masse, d’automatiser des tâches planifiées et d’exécuter des requêtes personnalisées sur UserLock.

Déjà utilisé pour l’administration de Windows Server et d’Exchange, PowerShell est un outil familier pour les professionnels IT.

UserLock PowerShell repose sur les mêmes principes : les cmdlets peuvent être exécutées manuellement ou planifiées pour s’exécuter automatiquement.

Prérequis

Pour utiliser UserLock PowerShell, assurez-vous que les conditions suivantes sont réunies :

  • ✅️ PowerShell 3.0 ou version ultérieure
    Installé par défaut à partir de Windows Server 2012 et Windows 8.

  • ✅️ Stratégie d’exécution
    Doit être définie sur RemoteSigned (ou une restriction inférieure) sur la machine exécutant les scripts.

  • ✅️ Installation de UserLock
    Le service UserLock doit être installé sur l’ordinateur exécutant les scripts.

Lancer la console PowerShell UserLock

UserLock PowerShell est automatiquement installé avec la console Windows UserLock.
Pour la démarrer :

  1. Ouvrez la console UserLock.

  2. Cliquez sur l’icône Invite PowerShell dans la barre d’outils.

Note

La console s’ouvre avec le module UserLock déjà importé et connecté au serveur actuellement sélectionné.
Aucune configuration supplémentaire n’est requise.

Gérer des serveurs distants

Chaque cmdlet accepte un paramètre optionnel UserLockServerName qui définit le serveur UserLock sur lequel la commande s’exécute.

  • Si le paramètre est spécifié, la commande s’exécute sur le serveur indiqué, et les variables $UserLockServerName et $UserLockServer sont mises à jour en conséquence.

  • Si le paramètre est omis, la cmdlet utilise le serveur actuel stocké dans $UserLockServerName.

Exemple

powershell
Get-UserLockProtectedAccountEffective -UserLockServerName 'ULSRV2' -Name 'MyUsr'

Vous pouvez également modifier manuellement la variable $UserLockServerName avant d’exécuter une commande.

Exemple 2

powershell
$UserLockServerName = 'ULSRV3'
Get-UserLockProtectedAccount

Obtenir de l’aide

UserLock PowerShell propose plusieurs moyens d’accéder à l’aide :
une documentation en ligne complète et une assistance contextuelle directement depuis PowerShell.

Documentation en ligne

La documentation complète de UserLock PowerShell est disponible ici :
👉️ Référence des cmdlets UserLock PowerShell

Chaque cmdlet dispose d’une page dédiée qui décrit :

  • Sa syntaxe

  • Les paramètres et les valeurs acceptées

  • Des exemples d’utilisation

  • Les cmdlets associées et les cas d’usage recommandés

Cmdlets disponibles

Pour afficher la liste complète des cmdlets UserLock PowerShell directement depuis la console :

powershell
Get-UserLockCommand

Cette commande répertorie toutes les cmdlets spécifiques à UserLock chargées dans la session en cours, avec leur nom et une brève description.

Aide par commande

Utilisez la commande intégrée Get-Help de PowerShell pour obtenir des informations détaillées sur une cmdlet :

powershell
Get-Help <UserLock_Cmdlet_Name>

Exemples de scripts

Les exemples suivants illustrent des automatisations administratives courantes réalisables avec PowerShell.
Ils peuvent être exécutés manuellement ou planifiés via le Planificateur de tâches Windows.

Arrêter automatiquement les postes sans session ouverte

powershell
Get-UserLockReportedComputer -OnlyWorkstation |
where {($_.SessionCount -eq 0) -and ($_.Available)} |
Stop-UserLockComputer -Force

Déployer automatiquement l’agent UserLock

powershell
Get-UserLockAgentDistribution |
where {($_.IsServer -eq 'Workstation') -and ($_.AgentType -eq 'Desktop') -and ($_.AgentStatus -eq 'NotInstalled') -and ($_.LastCheckStatus -eq 0)} |
Install-UserLockAgent -Force

Redémarrer les machines en attente d’installation

powershell
Get-UserLockAgentDistribution |
where {($_.AgentStatus -eq 'installing') -and ($_.IsServer -eq 'workstation')} |
Restart-UserLockComputer -Force

Envoyer un message à toutes les sessions ouvertes

powershell
Get-UserLockInteractiveSession |
Send-UserLockPopup -Title 'IT Maintenance' -Message 'The File server is currently restarting. It will be available in 5 minutes.' -Force

Appliquer un paramètre UserLock à tous les utilisateurs

powershell
Set-UserLockProtectedAccount -Name * -Type user -Property DisplayWelcomeMessage -Value true -Force

Réinitialiser toutes les sessions (après une panne électrique)

powershell
Get-UserLockOrphanedInteractiveSession | Reset-UserLockSession -Force

Réinitialiser les clés MFA pour tous les utilisateurs

powershell
Get-UserLockReportedUser | ForEach-Object {
    $name = $PSItem.Name
    Write-Host "Resetting MFA key for $name"
    $UserLockServer.ResetMFAKey($name)
}

Créer et configurer une nouvelle stratégie d’accès

Téléchargez le script et suivez les instructions incluses :
https://cdn.isdecisions.com/Download/userlock/NewUserLockProtectedAccountSettings.zip