2 mai 2025

Krusell France

Ta dose d'actu digital !

Optimisez l’administration à distance avec PowerShell sur plusieurs machines : guide complet

PowerShell - Gestion à distance - Invoke-Command
Rate this post

Présentation

L’administration à distance est une pratique courante et à encourager pour améliorer l’efficacité des administrateurs système et réseau. PowerShell offre plusieurs options pour permettre à l’administrateur d’exécuter des commandes ou des scripts à distance sur un ensemble de machines. Il peut s’agir de postes de travail ou de serveurs, selon les besoins.

Parmi les options envisageables, il y a le cmdlet PowerShell nommé Invoke-Command. Il permet d’exécuter une commande ou un script sur un ou plusieurs ordinateurs distants, via les protocoles WinRM ou SSH, en fonction du contexte.

Prérequis pour l’exécution à distance

Avant d’utiliser Invoke-Command, il est essentiel de s’assurer que la configuration de l’environnement est correcte. Ici, nous utiliserons la configuration la plus simple pour éviter d’alourdir l’article avec la configuration de WinRM, à savoir : exécuter des commandes entre plusieurs machines intégrées à un domaine Active Directory, ce qui facilite l’authentification et l’approbation mutuelle des hôtes.

WinRM est associé à la fonctionnalité de Gestion à distance de Windows. L’état par défaut est le suivant :

Sur Windows Server, la Gestion à distance est activée par défaut, ce qui signifie que WinRM est en écoute. Sur Windows 10 et Windows 11, la Gestion à distance est désactivée par défaut, il n’est donc pas possible de se connecter à un poste de travail à distance sans effectuer de configuration.

Pour activer WinRM (Windows Remote Management) sur une machine, il suffit d’exécuter cette commande : Enable-PSRemoting. Cette commande active WinRM, ce qui va démarrer le service associé, mettre en écoute la machine sur le port 5985/TCP (HTTP) et configurer le pare-feu pour permettre les connexions distantes.

Utilisation de Invoke-Command

Une fois l’environnement configuré, Invoke-Command peut être utilisé pour exécuter des commandes à distance. Dans la suite de cet article, nous étudierons différents exemples d’utilisation.

Exécuter un bloc de code contenant une ou plusieurs commandes via le paramètre -ScriptBlock. Exécuter un script PowerShell (.ps1) via le paramètre -FilePath.

Conclusion

Invoke-Command est une commande indispensable pour administrer des machines à distance via PowerShell, que ce soit pour exécuter une seule commande ou un script complet. Grâce à ce mécanisme, il est possible d’optimiser la gestion de son infrastructure et de gagner en efficacité.

Source : www.it-connect.fr

  • julien castex redacteur tech

    Julien est un journaliste tech polyvalent avec une expérience couvrant divers aspects de la high tech, en passant par les smartphones et l'Intelligence Artificielle. Il écrit sur les dernières tendances technologiques, les startups et les projets innovants ainsi que les impacts de la technologie sur la société.

    Voir toutes les publications