---
locale: "fr"
updated_at: "2025-11-06T12:53:02.649Z"
canonical: "https://www.isdecisions.com/fr/userlock/docs/integrations/powershell/gerer-userlock-avec-powershell"
---

# UserLock PowerShell

Utilisation des commandes, exemples, bonnes pratiques d’automatisation.

## 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.

![](https://a.storyblok.com/f/122374/700x810/05b7dae115/powershellconsole.png)

## 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.

![](https://a.storyblok.com/f/122374/323x350/25806028fe/three_dots_menu.png)

> **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](/userlock/docs/integrations/powershell/liste-cmdlet)

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.

![](https://a.storyblok.com/f/122374/700x810/05b7dae115/powershellconsole.png)

### 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>
```

![](https://a.storyblok.com/f/122374/700x472/d1d6f2d56e/powershellgethelp.png)

## 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](https://cdn.isdecisions.com/Download/userlock/NewUserLockProtectedAccountSettings.zip)
