Welcome to Our Website

Execută Comenzi de la Distanță

  • 08/21/2020
  • 3 minute pentru a citi
    • j
    • s
    • D
    • c

puteți rula comenzi pe una sau sute de calculatoare cu o singură comandă PowerShell. WindowsPowerShell sprijină calcul la distanță prin utilizarea diferitelor tehnologii, inclusiv WMI, RPC, andWS-Management.PowerShell Core suportă WMI, WS-Management și SSH remoting., În PowerShell 6, RPC nu mai estesusținut. În PowerShell 7 și versiuni ulterioare, RPC este acceptat numai în Windows.

Pentru mai multe informații despre remoting în PowerShell Bază, consultați următoarele articole:

  • SSH Remoting în PowerShell de Bază
  • WSMan Remoting în PowerShell de Bază

Windows PowerShell la Distanță, Fără Configurare

Windows PowerShell cmdlet-uri au Numecomputer parametru care vă permite să colecteze date șischimba setările de pe unul sau mai multe computere la distanță., Aceste cmdleturi folosesc diferite protocoale de comunicareși funcționează pe toate sistemele de operare Windows fără nicio configurație specială.

Aceste cmdleturi includ:

  • Restart-Computer
  • Test de Conexiune
  • Clar-EventLog
  • Ia-EventLog
  • Ia-Remediere rapidă
  • Ia-Proces
  • Get-Service
  • Set de Servicii
  • Ia-WinEvent
  • Get-WmiObject

de Obicei, cmdlet-uri care acceptă remoting fără configurație specială au ComputerNameparameter și nu au Sesiune parametru., Pentru a găsi aceste cmdleturi în sesiune, tip:

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

Windows PowerShell la Distanță

Utilizarea WS-protocol de Management, Windows PowerShell la distanță vă permite să rulați orice Windows PowerShellcommand pe unul sau mai multe computere la distanță. Puteți stabili conexiuni persistente, puteți porni interactivesessions și puteți rula scripturi pe computere la distanță.pentru a utiliza Windows PowerShell remoting, computerul de la distanță trebuie să fie configurat pentru gestionarea de la distanță.Pentru mai multe informații, inclusiv instrucțiuni, consultați Despre cerințe la distanță.,după ce ați configurat Windows PowerShell remoting, multe strategii remoting sunt disponibile pentru tine.Acest articol enumeră doar câteva dintre ele. Pentru mai multe informații, consultați Despre telecomandă.pentru a începe o sesiune interactivă cu un singur computer la distanță, utilizați Enter-PSSessioncmdlet. De exemplu, pentru a începe o sesiune interactivă cu computerul la distanță Server01, tastați:

Enter-PSSession Server01

promptul de comandă se schimbă pentru a afișa numele computerului la distanță., Orice comenzi pe care le tastațiprocesul rulează pe computerul de la distanță, iar rezultatele sunt afișate pe computerul local.

Pentru a termina sesiunea interactivă, tip:

Exit-PSSession

Pentru mai multe informații despre Enter-PSSession și de Ieșire-PSSession cmdlet-uri, a se vedea:

  • Enter-PSSession
  • Ieșire-PSSession

Rula o Comandă de la Distanță

Pentru a rula o comandă de la unul sau mai multe calculatoare, utilizați Invoca-Commandcmdlet., De exemplu, pentru a rula o UICulturecommand pe Server01 și Server02 computerele de la distanță, de tip:

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

rezultatul este întors la computer.

rulați un Script

pentru a rula un script pe unul sau mai multe computere la distanță, utilizați parametrul FilePath alInvoke-Commandcmdlet. Scriptul trebuie să fie pornit sau accesibil computerului dvs. local. Rezultatele sunt returnate la dvs. computerul local.

De exemplu, următoarea comandă conduce DiskCollect.ps1 script de pe computerele de la distanță, Server01and Server02.,

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

Stabilească o Conexiune Persistentă

Utilizare New-PSSession cmdlet-ului pentru a crea o sesiune persistentă pe un computer la distanță. Următorul exemplu creează sesiuni la distanță pe Server01 și Server02. Obiectele sesiunii sunt stocate în variabila $s.

$s = New-PSSession -ComputerName Server01, Server02

acum că sesiunile sunt stabilite, puteți rula orice comandă în ele. Și pentru că sesiunile suntpersistente, puteți colecta date dintr-o comandă și le puteți folosi într-o altă comandă.,

de exemplu, următoarea comandă execută o comandă Get-HotFix în sesiunile din variabila $s șise salvează rezultatele în variabila $H. Variabila $h este creată în fiecare sesiune în $s,dar nu există în sesiunea locală.

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

Acum puteți folosi datele din $h variabilă cu alte comenzi în aceeași sesiune. Rezultatelesunt afișate pe computerul local. De exemplu:

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

Remoting avansat

Windows PowerShell remote management doar începe aici., Utilizând cmdlet-urile instalate cu WindowsPowerShell, puteți stabili și de a configura de la distanță sesiuni, atât de la nivel local și de la distanță se termină,de a crea personalizate și limitat de sesiuni, permite utilizatorilor să importe comenzi de la o sesiune la distanță thatactually rula implicit pe sesiune la distanță, configurarea de securitate de o sesiune de la distanță, și multmai.

Windows PowerShell include un furnizor de WSMan. Furnizorul creează un WSMAN: disk care vă permite younavigate printr-o ierarhie de setări de configurare de pe computerul local și computerele de la distanță.,

Pentru mai multe informații despre WSMan furnizor, seeWSMan Furnizor și la WS-Management Cmdlets,sau în Windows PowerShell consola, tip Get-Help wsman.pentru mai multe informații, consultați:

  • despre Întrebări frecvente la distanță
  • Register-PSSessionConfiguration
  • Import-PSSession

pentru ajutor cu erorile de remoting, consultați about_Remote_Troubleshooting.,

Vezi și

  • about_Remote
  • about_Remote_FAQ
  • about_Remote_Requirements
  • about_Remote_Troubleshooting
  • about_PSSessions
  • about_WS-Management_Cmdlets
  • Invoca-Comanda
  • Import-PSSession
  • New-PSSession
  • Registrul-PSSessionConfiguration
  • WSMan Provider

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *