Programmation PowerShell/Remote
Les accès distants
modifierRemarque
modifierDe 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'
Procédure
modifierD'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.