Comment exécuter des commandes PowerShell sur des ordinateurs distants

Table des matières:

Comment exécuter des commandes PowerShell sur des ordinateurs distants
Comment exécuter des commandes PowerShell sur des ordinateurs distants

Vidéo: Comment exécuter des commandes PowerShell sur des ordinateurs distants

Vidéo: Comment exécuter des commandes PowerShell sur des ordinateurs distants
Vidéo: TiWorker.exe (Microsoft Windows 10) VS CPU computer/ FR - YouTube 2024, Peut
Anonim
PowerShell Remoting vous permet d'exécuter des commandes PowerShell ou d'accéder à des sessions PowerShell complètes sur des systèmes Windows distants. Il est similaire à SSH pour accéder à des terminaux distants sur d’autres systèmes d’exploitation.
PowerShell Remoting vous permet d'exécuter des commandes PowerShell ou d'accéder à des sessions PowerShell complètes 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 devez donc activer PowerShell Remoting avant de l'utiliser. Ce processus d’installation 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 tout au long de ce processus.

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 devez ouvrir PowerShell avec des privilèges d’administrateur.

Sous Windows 10, appuyez sur Windows + X, puis choisissez PowerShell (Admin) dans le menu Utilisateur expérimenté.

Sous Windows 7 ou 8, appuyez sur Démarrer, puis tapez «powershell». Cliquez avec le bouton droit de la souris sur le résultat et choisissez «Exécuter en tant qu'administrateur».
Sous Windows 7 ou 8, appuyez sur Démarrer, puis tapez «powershell». Cliquez avec le bouton droit de la souris sur le résultat et choisissez «Exécuter en tant qu'administrateur».
Dans la fenêtre PowerShell, tapez la cmdlet suivante (nom de PowerShell pour une commande), puis appuyez sur Entrée:
Dans la fenêtre PowerShell, tapez la cmdlet suivante (nom de PowerShell pour une commande), puis appuyez sur Entrée:

Enable-PSRemoting -Force

Cette commande démarre le service WinRM, le configure pour qu'il démarre automatiquement avec votre système et crée une règle de pare-feu permettant les connexions entrantes. le
Cette commande démarre le service WinRM, le configure pour qu'il démarre automatiquement avec votre système et crée une règle de pare-feu permettant les connexions entrantes. le

-Force

une partie de la cmdlet indique à PowerShell d'effectuer ces actions sans vous demander d'indiquer chaque étape.

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

Remarque: la réussite de la configuration de la communication à distance dans un environnement de domaine dépend entièrement de la configuration de votre réseau. La communication à distance peut être désactivée, voire activée, automatiquement par la stratégie de groupe configurée par un administrateur. Il se peut également que vous n’ayez pas les autorisations nécessaires pour exécuter PowerShell en tant qu’administrateur. Comme toujours, vérifiez auprès de vos administrateurs avant d'essayer quoi que ce soit de ce genre. Ils peuvent avoir de bonnes raisons de ne pas autoriser la pratique ou être disposés à la mettre en place pour vous.

Configurez votre groupe de travail

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

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 sur la façon de 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.

Ensuite, vous devez configurer le paramètre TrustedHosts sur le PC auquel vous souhaitez vous connecter.et le ou les ordinateurs à partir desquels vous souhaitez vous connecter, afin que les ordinateurs se fassent mutuellement confiance. Vous pouvez le faire de deux manières.

Si vous êtes sur un réseau domestique sur lequel vous voulez aller de l'avant et confiez la connexion à distance à un PC, vous pouvez taper la cmdlet suivante dans PowerShell (à nouveau, vous devrez l'exécuter en tant qu'administrateur).

Set-Item wsman:localhostclient rustedhosts *

L'astérisque est un symbole générique pour tous les PC. Si, au contraire, vous souhaitez limiter 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 ordinateurs approuvés.

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

Restart-Service WinRM

Et rappelez-vous, vous devez exécuter ces deux applets de commande sur le PC auquel vous souhaitez vous connecter, ainsi que sur tous les ordinateurs à partir desquels vous souhaitez vous connecter.
Et rappelez-vous, vous devez exécuter ces deux applets de commande sur le PC auquel vous souhaitez vous connecter, ainsi que sur tous les ordinateurs à partir desquels vous souhaitez vous connecter.

Tester la connexion

Maintenant que vos ordinateurs sont configurés pour PowerShell Remoting, il est temps de tester la connexion. Sur le PC duquel vous souhaitez accéder au système distant, tapez la cmdlet 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 est en cours d'exécution sur le PC distant. Si l'opération aboutit, 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 à la place un message d'erreur.

Image
Image

Exécuter une seule commande à distance

Pour exécuter une commande sur le système distant, utilisez la commande

Invoke-Command

cmdlet utilisant la syntaxe suivante:

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

«ORDINATEUR» représente le nom ou l’adresse IP de l’ordinateur distant. "COMMAND" est la commande que vous voulez exécuter. “USERNAME” est le nom d'utilisateur avec lequel vous voulez exécuter la commande en tant que sur l'ordinateur distant. Vous serez invité à entrer un mot de passe pour le nom d'utilisateur.

Voici un exemple. Je souhaite afficher le contenu du répertoire C: sur un ordinateur distant doté de 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

Image
Image

Démarrer une session à distance

Si vous souhaitez exécuter plusieurs applets de commande sur le PC distant, au lieu de taper à plusieurs reprises l'applet de commande Invoke-Command et l'adresse IP distante, vous pouvez également démarrer une session à distance. 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 par «UTILISATEUR» par le nom du compte d'utilisateur que vous souhaitez appeler.

Conseillé: