Welcome to Our Website

Exécution de Commandes à Distance

  • 08/21/2020
  • 3 minutes pour lire
    • j
    • s
    • D
    • c

Vous pouvez exécuter des commandes sur un seul ou des centaines d’ordinateurs avec une seule commande PowerShell. WindowsPowerShell prend en charge l’informatique à distance en utilisant diverses technologies, y compris WMI, RPC etws-Management.

PowerShell Core prend en charge WMI, WS-Management et SSH remoting., Dans PowerShell 6, RPC n’est plus supporté. Dans PowerShell 7 et versions ultérieures, RPC est pris en charge uniquement sous Windows.

pour plus d’informations sur la mise à distance dans PowerShell Core, consultez les articles suivants:

  • SSH Remoting dans PowerShell Core
  • WSMan Remoting dans PowerShell Core

Windows PowerShell Remoting sans Configuration

de nombreuses applets de commande Windows PowerShell ont le paramètre ComputerName qui vous permet de collecter des données et, Ces applets de commande utilisent différents protocoles de Communicationet fonctionnent sur tous les systèmes D’exploitation Windows sans configuration particulière.

Ces applets de commande comprennent:

  • au Redémarrage de l’Ordinateur
  • de Test de Connexion
  • Claire-EventLog
  • Get-EventLog
  • Get-Correctif
  • Get-Process
  • Get-Service
  • Set-Service
  • Get-WinEvent
  • Get-WmiObject

Typiquement, des applets de commande qui prennent en charge l’accès distant sans configuration spéciale ont le ComputerNameparameter et n’ont pas le paramètre Session., Pour trouver ces applets de commande dans votre session, tapez:

Get-Command | where { $_.parameters.keys -contains "ComputerName" -and $_.parameters.keys -notcontains "Session"}

Windows PowerShell Remoting

En utilisant le protocole WS-Management, Windows PowerShell remoting vous permet d’exécuter N’importe quelle commande Windows PowerShellcommand sur un ou plusieurs ordinateurs distants. Vous pouvez établir des connexions persistantes, démarrer des sessions interactives et exécuter des scripts sur des ordinateurs distants.

Pour utiliser Windows PowerShell remoting, l’ordinateur distant doit être configuré pour la gestion à distance.Pour plus d’informations, y compris des instructions, voir à propos des exigences à distance.,

Une fois que vous avez configuré Windows PowerShell remoting, de nombreuses stratégies de remoting sont disponibles pour vous.Cet article en énumère quelques-uns. Pour plus d’informations, voir à propos de la télécommande.

Démarrer une Session Interactive

Pour démarrer une session interactive avec un seul ordinateur à distance, utiliser l’Entrée-PSSessioncmdlet. Par exemple, pour démarrer une session interactive avec l’ordinateur distant Server01, type:

Enter-PSSession Server01

L’invite de commande affiche le nom de l’ordinateur distant., Toutes les commandes que vous tapez au prompt à exécuter sur l’ordinateur distant et les résultats sont affichés sur l’ordinateur local.

pour terminer la session interactive, Tapez:

Exit-PSSession

pour plus d’informations sur les applets de commande Enter-PSSession et Exit-PSSession, consultez:

  • Enter-PSSession
  • Exit-PSSession

exécutez une commande distante

pour exécuter une commande sur une ou plusieurs ordinateurs, utilisez la commande Invoke-commandcmdlet., Par exemple, pour exécuter une commande Get-UICulturecommand sur les ordinateurs distants Server01 et Server02, tapez:

Invoke-Command -ComputerName Server01, Server02 -ScriptBlock {Get-UICulture}

la sortie est renvoyée à votre ordinateur.

exécuter un Script

pour exécuter un script sur un ou plusieurs ordinateurs distants, utilisez le paramètre FilePath de l’applet de commandeInvoke-Command. Le script doit être sur ou accessible à votre ordinateur local. Les résultats sont renvoyés à votreordinateur Local.

par exemple, la commande suivante exécute le script DiskCollect.ps1 sur les ordinateurs distants, Server01et Server02.,

Invoke-Command -ComputerName Server01, Server02 -FilePath c:\Scripts\DiskCollect.ps1

établir une connexion persistante

utilisez l’applet de commandeNew-PSSession pour créer une session persistante sur un ordinateur distant. L’exemple suivant crée des sessions distantes sur Server01 et Server02. Les objets session sont stockés dans la variable$s.

$s = New-PSSession -ComputerName Server01, Server02

Maintenant que les séances sont établies, vous pouvez exécuter n’importe quelle commande en eux. Et parce que les sessions sontpersistent, vous pouvez collecter des données à partir d’une commande et les utiliser dans une autre commande.,

par exemple, la commande suivante exécute une commande Get-HotFix dans les sessions de la variable s S et enregistre les résultats dans la variable h H. La variable h h est créée dans chacune des sessions de $s,mais elle n’existe pas dans la session locale.

Invoke-Command -Session $s {$h = Get-HotFix}

vous pouvez Maintenant utiliser les données dans le $h variable avec d’autres commandes dans la même session. Les résultatsont affichés sur l’ordinateur local. Par exemple:

Invoke-Command -Session $s {$h | where {$_.InstalledBy -ne "NTAUTHORITY\SYSTEM"}}

Advanced Remoting

La gestion à distance Windows PowerShell commence ici., En utilisant les applets de commande installées avec WindowsPowerShell, vous pouvez établir et configurer des sessions distantes à partir des extrémités locale et distante,créer des sessions personnalisées et restreintes, autoriser les utilisateurs à importer des commandes à partir d’une session distante qui s’exécute implicitement sur la session distante, configurer la sécurité d’une session distante, etc.

Windows PowerShell inclut un fournisseur WSMan. Le fournisseur crée un lecteurWSMAN: qui permet à younavigate de parcourir une hiérarchie de paramètres de configuration sur l’ordinateur local et les ordinateurs distants.,

pour plus d’informations sur le fournisseur WSMan, le fournisseur seeWSMan et les applets de commande WS-Management,ou dans la console Windows PowerShell, tapez Get-Help wsman.

pour plus d’informations, voir:

  • À propos de la FAQ distante
  • Register-PSSessionConfiguration
  • Import-PSSession

pour de l’aide avec les erreurs de mise à distance, voir about_Remote_Troubleshooting.,

Voir Aussi

  • about_Remote
  • about_Remote_FAQ
  • about_Remote_Requirements
  • about_Remote_Troubleshooting
  • about_PSSessions
  • about_WS-Management_Cmdlets
  • Invoke-Command
  • Importer-PSSession
  • Nouveau-PSSession
  • Inscrivez-PSSessionConfiguration
  • WSMan Fournisseur

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *