Il est possible d'effectuer une commande powershell sur un pc distant. Pour cela il faut juste faire quelques manipulations sur le pc distant pour l’autoriser a recevoir les commandes provenant d’un autre ordinateur.
Sur le pc distant :
- Pour activer les commandes à distance, exécuter la commande suivante dans une invite de commande powershell ( lancer le en tant qu’ administrateur) :
Enable-PSRemoting -Force
- Ensuite on déclare les machines qui ont le droits d’exécuter les script sur cette machine :
Set-Item wsman:\localhost\client\trustedhosts *
Vous pouvez aussi autoriser tout un réseau avec la commande set-item wsman:\localhost\Client\TrustedHosts -value 172.16.0.0 ou avec les noms des machines avec la commande
set-item wsman:\localhost\Client\TrustedHosts -value ORDINATEUR1,ORDINATEURS2
- Puis on redémarre le service WinRM :
Restart-Service WinRM
Sur le pc qui va lancer les commandes
- Tester la connexion a la machine distante avec la commande
Test-WSMan (NON DE LA MACHINE)
Si la connecxion fonctionne vous aurez des informations sur le service (wsmid, procotolversion,productvendor et productversion)
- Envoyer la commande voulu (ici hostname) en précisant le nom de l’ordinateur distant puis le login de l’utilisateur
Invoke-Command -ComputerName (NON DE LA MACHINE) -ScriptBlock { ipconfig }
La commande devrait vous répondre le nom du pc interrogé.
Vous pouvez avoir l’envie de lancer plusieurs commandes sans exécuter la commande d’interrogation. Il est donc possible de lancer une session powershell a distance à l’aide de la commande suivant :
Enter-PSSession -ComputerName (NON DE LA MACHINE) -Credential utilisateur
Pour fermer la session taper: Exit-PSHostProcess
Sources http://www.barzek.com/2015/08/powershell-comment-lancer-des-commandes-a-distance/
