Aller au contenu

Programmation PowerShell/Remote

Un livre de Wikilivres.

Les accès distants

[modifier | modifier le wikicode]

De nombreuses commandlettes propose l'argument -ComputerName ce qui permet de démarrer une commande sur un PC distant sans devoir ouvrir une session. Par exemple :

Get-Service -ComputerName 'SUPER_PC'

D'une façon similaire à SSH pour Unix / Linux, PowerShell peut être utilisé pour se connecter sur un autre poste de travail voir des milliers de machines d'un coup.

Bien entendu, vous devez avoir les permissions requises pour cela c'est à dire : - être Domain Admin - être Local Admin du PCs cible - ou avoir des permissions configurée par l'administrateur

Si tel est le cas, c'est très simple, vous créez une session, vous vous connectez et vous la fermez à la fin comme cela :

$host = SUPER_PC
$session = New-PsSession -Computername $host -Cred Get-Credientials
Enter-PsSession -Session $session

Vous travaillez à distance puis...

Exit-PsSession 
Remove-PsSession -Session $session

Je le note de tête alors n'hésitez pas à corriger en cas d'erreur !

Au passage, avec PowerShell Core (la version multi-système de PS), vous pouvez vous connecter sur des machines Linux :

$s = New-PSSession -HostName $hostname -UserName $username 

Le PowerShell Core permet de gérer un parc composé de machine fonctionnant sous des OS différents.