Articles

Comment exécuter des commandes PowerShell sur des ordinateurs distants

Posted by admin
  • Chris Hoffman

    @chrisbhoffman

  • juillet 20, 2017, 12:28AM EDT

PowerShell Remoting vous permet d’exécuter des commandes PowerShell ou d’accéder à toutes les sessions PowerShell sur des systèmes Windows distants. Il est similaire à SSH pour accéder à des terminaux distants sur d’autres systèmes d’exploitation.

PowerShell est verrouillé par défaut, vous devrez activer PowerShell Remoting avant de l’utiliser., Ce processus de configuration est un peu plus complexe si vous utilisez un groupe de travail au lieu d’un domaine—par exemple, sur un réseau domestique—mais nous vous guiderons à travers.

lié: en quoi PowerShell diffère de L’invite de commande Windows

activer PowerShell Remoting sur le PC auquel vous souhaitez accéder à distance

votre première étape consiste à activer PowerShell Remoting sur le PC auquel vous souhaitez établir des connexions à distance. Sur ce PC, vous devrez ouvrir PowerShell avec des privilèges d’administration.,

publicité

dans Windows 10, appuyez sur Windows+X, puis choisissez PowerShell (Admin) dans le menu Power User.

Dans Windows 7 ou 8, appuyez sur Démarrer, puis tapez « powershell.” Cliquez-droit sur le résultat et choisissez « Exécuter en tant qu’administrateur.”

dans la fenêtre PowerShell, tapez l’applet de commande suivante (Nom de PowerShell pour une commande), puis appuyez sur Entrée:

Enable-PSRemoting -Force

Cette commande démarre le service WinRM, le définit pour démarrer automatiquement avec votre système et crée une règle de pare-feu qui autorise les connexions entrantes., La partie -Force de l’applet de commande indique à PowerShell d’effectuer ces actions sans vous demander à chaque étape.

Advertisement

Si vos PC font partie d’un domaine, c’est toute la configuration que vous devez faire. Vous pouvez passer à l’avance pour tester votre connexion. Si vos ordinateurs font partie d’un groupe de travail—qu’ils sont probablement sur un réseau domestique ou une petite entreprise—vous avez un peu plus de travail de configuration à faire.

Remarque: Votre succès dans la configuration de remoting dans un environnement de domaine dépend entièrement de la configuration de votre réseau., La mise à distance peut être désactivée—ou même activée—automatiquement par la stratégie de groupe configurée par un administrateur. Il se peut également que vous ne disposiez pas des autorisations nécessaires pour exécuter PowerShell en tant qu’administrateur. Comme toujours, vérifiez auprès de vos administrateurs avant d’essayer quelque chose comme ça. Ils pourraient avoir de bonnes raisons de ne pas autoriser la pratique, ou ils pourraient être prêts à le mettre en place pour vous.

configurez votre groupe de travail

Si vos ordinateurs ne sont pas sur un domaine, vous devez effectuer quelques étapes supplémentaires pour configurer les choses., Vous devriez avoir déjà activé la télécommande sur le PC auquel vous souhaitez vous connecter, comme nous l’avons décrit dans la section précédente.

RELATED: Quelle est la différence entre les réseaux privés et publics dans Windows?

Remarque: Pour que PowerShell Remoting fonctionne dans un environnement de groupe de travail, vous devez configurer votre réseau en tant que réseau privé et non public. Pour en savoir plus sur la différence—et comment passer à un réseau privé si vous avez déjà un réseau public configuré—consultez notre guide sur les réseaux privés par rapport aux réseaux publics.,

publicité

ensuite, vous devez configurer le paramètre TrustedHosts à la fois sur le PC auquel vous souhaitez vous connecter et sur le PC (ou les PC) à partir duquel vous souhaitez vous connecter, afin que les ordinateurs se fassent confiance. Vous pouvez le faire de deux façons.

Si vous êtes sur un réseau domestique où vous souhaitez faire confiance à n’importe quel PC pour vous connecter à distance, vous pouvez taper L’applet de commande suivante dans PowerShell (encore une fois, vous devrez l’exécuter en tant qu’administrateur).

Set-Item wsman:\localhost\client\trustedhosts *

L’astérisque est un symbole pour tous les Pc., Si vous souhaitez plutôt restreindre les ordinateurs pouvant se connecter, vous pouvez remplacer l’astérisque par une liste d’adresses IP ou de noms d’ordinateurs séparés par des virgules pour les PC approuvés.

Après avoir exécuté cette commande, vous devrez redémarrer le service WinRM afin que vos nouveaux paramètres prennent effet. Tapez l’applet de commande suivante, puis appuyez sur Entrée:

Restart-Service WinRM
publicité

et n’oubliez pas que vous devrez exécuter ces deux applets de commande sur le PC auquel vous souhaitez vous connecter, ainsi que sur tous les PC à partir desquels vous souhaitez vous connecter.,

testez la connexion

maintenant que vous avez configuré votre PC pour PowerShell Remoting, il est temps de tester la connexion. Sur le PC à partir duquel vous souhaitez accéder au système distant, tapez L’applet de commande suivante dans PowerShell (en remplaçant « ordinateur” par le nom ou l’adresse IP du PC distant), puis appuyez sur Entrée:

Test-WsMan COMPUTER

Cette commande simple teste si le service WinRM s’exécute sur le PC distant., S’il se termine avec succès, vous verrez des informations sur le service WinRM de l’ordinateur distant dans la fenêtre, ce qui signifie que WinRM est activé et que votre PC peut communiquer. Si la commande échoue, vous verrez un message d’erreur à la place.

exécuter une seule commande distante

pour exécuter une commande sur le système distant, utilisez l’applet de commandeInvoke-Command en utilisant la syntaxe suivante:

Invoke-Command -ComputerName COMPUTER -ScriptBlock { COMMAND } -credential USERNAME
publicité

« ordinateur” représente le nom ou l’adresse IP du PC distant. « Commande » est la commande que vous souhaitez exécuter., « USERNAME » est le nom d’utilisateur que vous souhaitez exécuter la commande sur l’ordinateur distant. Vous serez invité à entrer un mot de passe pour le nom d’utilisateur.

Voici un exemple. Je veux afficher le contenu du répertoire C:\ sur un ordinateur distant, avec l’adresse IP 10.0.0.22. Je veux utiliser le nom d’utilisateur « wjgle”, donc j’utiliserais la commande suivante:

Invoke-Command -ComputerName 10.0.0.22 -ScriptBlock { Get-ChildItem C:\ } -credential wjgle

démarrer une Session distante

Si vous avez plusieurs cmdlets que vous souhaitez exécuter sur le PC distant, au lieu de taper à plusieurs reprises L’applet de commande Invoke et l’adresse IP distante, vous pouvez, Tapez simplement l’applet de commande suivante, puis appuyez sur Entrée:

Enter-PSSession -ComputerName COMPUTER -Credential USER

encore une fois, remplacez « ordinateur” par le nom ou l’adresse IP du PC distant et remplacez « utilisateur” par le nom du compte utilisateur que vous souhaitez appeler.

Annonce

Votre invite de change pour indiquer l’ordinateur distant auquel vous êtes connecté, et vous pouvez exécuter un nombre quelconque d’applets de commande PowerShell directement sur le système distant.

Chris Hoffman
Chris Hoffman est Rédacteur en Chef de how-to Geek., Il a écrit sur la technologie pendant près d’une décennie et a été chroniqueur PCWorld pendant deux ans. Chris a écrit pour le New York Times, a été interviewé en tant qu’expert en technologie sur des chaînes de télévision comme NBC 6 de Miami, et a vu son travail couvert par des médias comme la BBC. Depuis 2011, Chris a écrit plus de 2 000 articles qui ont été lus plus de 500 millions de fois—et c’est juste ici à How-to Geek.Lire l’Intégrale « 

Leave A Comment