Enable-PSRemoting
Configure l’ordinateur pour recevoir des commandes distantes.
Syntaxe
Enable-PSRemoting
[-Force]
[-SkipNetworkProfileCheck]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
L’applet de commande Enable-PSRemoting
Sur Windows Server 2012, la communication à distance Windows PowerShell est activée par défaut. Vous pouvez utiliser Enable-PSRemoting pour activer la communication à distance Windows PowerShell sur d’autres versions prises en charge de Windows et pour réactiver la communication à distance sur Windows Server 2012 s’il devient désactivé.
Vous devez exécuter cette commande une seule fois sur chaque ordinateur qui recevra des commandes. Vous n’avez pas besoin de l’exécuter sur des ordinateurs qui envoient uniquement des commandes. Étant donné que la configuration démarre les écouteurs, il est prudent de l’exécuter uniquement là où elle est nécessaire.
À compter de Windows PowerShell 3.0, l’applet de commande Enable-PSRemoting
L’applet de commande Enable-PSRemoting effectue les opérations suivantes :
- Exécute l’applet de commande set-WSManQuickConfig
, qui effectue les tâches suivantes : - Démarre le service WinRM.
- Définit le type de démarrage sur le service WinRM sur Automatique.
- Crée un écouteur pour accepter les demandes sur n’importe quelle adresse IP.
- Active une exception de pare-feu pour les communications WS-Management.
- Inscrit les configurations de session Microsoft.PowerShell et Microsoft.PowerShell.Workflow, si elles ne sont pas déjà inscrites.
- Inscrit la configuration de session Microsoft.PowerShell32 sur les ordinateurs 64 bits, s’il n’est pas déjà inscrit.
- Active toutes les configurations de session.
- Modifie le descripteur de sécurité de toutes les configurations de session pour autoriser l’accès à distance.
- Redémarre le service WinRM pour effectuer les modifications précédentes.
Pour exécuter cette applet de commande, démarrez Windows PowerShell avec l’option « Exécuter en tant qu’administrateur ».
Prudence
Sur les systèmes qui ont à la fois Windows PowerShell 3.0 et le moteur Windows PowerShell 2.0, n’utilisez pas Windows PowerShell 2.0 pour exécuter les applets de commande Enable-PSRemoting et Disable-PSRemoting. Les commandes peuvent sembler réussir, mais la communication à distance n’est pas configurée correctement. Les commandes à distance et les tentatives ultérieures d’activation et de désactivation de la communication à distance sont susceptibles d’échouer.
Exemples
Exemple 1 : Configurer un ordinateur pour recevoir des commandes distantes
Enable-PSRemoting
Cette commande configure l’ordinateur pour recevoir des commandes distantes.
Exemple 2 : Configurer un ordinateur pour recevoir des commandes distantes sans invite de confirmation
Enable-PSRemoting -Force
Cette commande configure l’ordinateur pour recevoir des commandes distantes. Il utilise le paramètre Force pour supprimer les invites de l’utilisateur.
Exemple 3 : Autoriser l’accès à distance sur les clients
Enable-PSRemoting -SkipNetworkProfileCheck -Force
Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any
Cet exemple montre comment autoriser l’accès à distance à partir de réseaux publics sur les versions clientes de Windows. Avant d’utiliser ces commandes, analysez le paramètre de sécurité et vérifiez que le réseau de l’ordinateur sera protégé contre les dommages.
La première commande active la communication à distance dans Windows PowerShell. Par défaut, cela crée des règles réseau qui autorisent l’accès à distance à partir de réseaux privés et de domaine. La commande utilise le paramètre SkipNetworkProfileCheck pour autoriser l’accès à distance à partir de réseaux publics dans le même sous-réseau local. La commande utilise le paramètre Force pour supprimer les messages de confirmation.
Le paramètre SkipNetworkProfileCheck n’a aucun effet sur la version du serveur de Windows, qui autorise l’accès à distance à partir de réseaux publics dans le même sous-réseau local par défaut.
La deuxième commande élimine la restriction de sous-réseau.
La commande utilise l’applet de commande Set-NetFirewallRule
Paramètres
-Confirm
Vous invite à confirmer avant d’exécuter l’applet de commande.
Type: | SwitchParameter |
Alias: | cf |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Force
Supprime toutes les invites utilisateur. Par défaut, vous êtes invité à confirmer chaque opération.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-SkipNetworkProfileCheck
Active la communication à distance sur les versions clientes de Windows lorsque l’ordinateur se trouve sur un réseau public. Ce paramètre active une règle de pare-feu pour les réseaux publics qui autorise l’accès à distance uniquement à partir d’ordinateurs du même sous-réseau local.
Ce paramètre n’a aucun effet sur les versions de serveur de Windows, qui, par défaut, ont une règle de pare-feu de sous-réseau local pour les réseaux publics. Si la règle de pare-feu de sous-réseau local est désactivée sur une version de serveur de Windows, Enable-PSRemoting la réactive, quelle que soit la valeur de ce paramètre.
Pour supprimer la restriction de sous-réseau local et activer l’accès à distance à partir de tous les emplacements sur des réseaux publics, utilisez l’applet de commande Set-NetFirewallRule
Ce paramètre a été introduit dans Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-WhatIf
Affiche ce qui se passerait si l’applet de commande s’exécute. L’applet de commande n’est pas exécutée.
Type: | SwitchParameter |
Alias: | wi |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
Entrées
None
Vous ne pouvez pas diriger l’entrée vers cette applet de commande.
Sorties
Cette applet de commande retourne des chaînes qui décrivent ses résultats.
Notes
Dans Windows PowerShell 3.0, enable-PSRemoting crée les exceptions de pare-feu suivantes pour les communications WS-Management.
Sur les versions serveur de Windows, Enable-PSRemoting crée des règles de pare-feu pour les réseaux privés et de domaine qui autorisent l’accès à distance, et crée une règle de pare-feu pour les réseaux publics qui autorisent l’accès à distance uniquement à partir d’ordinateurs du même sous-réseau local.
Sur les versions clientes de Windows, enable-PSRemoting dans Windows PowerShell 3.0 crée des règles de pare-feu pour les réseaux privés et de domaine qui autorisent un accès à distance illimité. Pour créer une règle de pare-feu pour les réseaux publics qui autorise l’accès à distance à partir du même sous-réseau local, utilisez le paramètre SkipNetworkProfileCheck.
Sur les versions client ou serveur de Windows, pour créer une règle de pare-feu pour les réseaux publics qui supprime la restriction de sous-réseau local et autorise l’accès à distance, utilisez l’applet de commande Set-NetFirewallRule dans le module NetSecurity pour exécuter la commande suivante :
Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any
Dans Windows PowerShell 2.0, enable-PSRemoting crée les exceptions de pare-feu suivantes pour les communications WS-Management.
Sur les versions serveur de Windows, il crée des règles de pare-feu pour tous les réseaux qui autorisent l’accès à distance.
Sur les versions clientes de Windows, Enable-PSRemoting dans Windows PowerShell 2.0 crée une exception de pare-feu uniquement pour les emplacements de domaine et de réseau privé. Pour réduire les risques de sécurité, Enable-PSRemoting ne crée pas de règle de pare-feu pour les réseaux publics sur les versions clientes de Windows. Lorsque l’emplacement réseau actuel est public, enable-PSRemoting retourne le message suivant : « Impossible de vérifier l’état du pare-feu ».
À compter de Windows PowerShell 3.0, Enable-PSRemoting active toutes les configurations de session en définissant la valeur de la propriété Enabled de toutes les configurations de session (WSMan :\<ComputerName>\Plugin\<SessionConfigurationName>\Enabled) sur True ($true).
Dans Windows PowerShell 2.0, Enable-PSRemoting supprime le paramètre Deny_All du descripteur de sécurité des configurations de session. Dans Windows PowerShell 3.0, Enable-PSRemoting supprime les paramètres Deny_All et Network_Deny_All, ce qui permet d’accéder à distance aux configurations de session réservées pour une utilisation locale.