Remedierea PowerShell vă permite să executați comenzi PowerShell sau să accesați toate sesiunile PowerShell pe sistemele Windows la distanță. Este similar cu SSH pentru a accesa terminalele la distanță de pe alte sisteme de operare.
PowerShell este blocat în mod implicit, așa că va trebui să activați Remedierea PowerShell înainte de ao utiliza. Acest proces de configurare este un pic mai complex dacă utilizați un grup de lucru în locul unui domeniu - de exemplu, într-o rețea de domiciliu - dar vă vom trece prin el.
Primul pas este să activați PowerShell Remoting de pe PC-ul la care doriți să faceți conexiuni la distanță. Pe acest PC, va trebui să deschideți PowerShell cu privilegii administrative.
În Windows 10, apăsați Windows + X și apoi alegeți PowerShell (Admin) din meniul Power User.
În Windows 7 sau 8, apăsați Start, apoi tastați "powershell". Faceți clic dreapta pe rezultat și alegeți "Run as administrator".
În fereastra PowerShell, tastați următorul cmdlet (numele PowerShell pentru o comandă), apoi apăsați Enter:
Enable-PSRemoting -Force
Această comandă inițiază serviciul WinRM, setându-l să pornească automat cu sistemul dvs. și creează o regulă de firewall care permite conexiunile primite.-Forta
o parte din cmdlet spune PowerShell pentru a efectua aceste acțiuni fără a vă solicita pentru fiecare pas.
Dacă PC-urile fac parte dintr-un domeniu, asta e tot ce trebuie făcut. Puteți săriți mai departe pentru a testa conexiunea. Dacă computerele dvs. fac parte dintr-un grup de lucru - probabil că se află într-o rețea de domiciliu sau de afaceri de dimensiuni mici - aveți mai multă muncă de configurare.
Notă: Succesul dvs. în configurarea remoting-ului într-un mediu de domeniu depinde în întregime de configurarea rețelei dvs. Remotarea poate fi dezactivată - sau chiar activată - automat în funcție de politica de grup configurată de un administrator. De asemenea, este posibil să nu aveți permisiunile necesare pentru a rula PowerShell ca administrator. Ca întotdeauna, verificați-vă cu administratorii înainte de a încerca ceva de genul acesta. S-ar putea să aibă motive întemeiate să nu permită practica, sau ar putea fi dispuși să o facă pentru tine.
Dacă computerele dvs. nu se află pe un domeniu, trebuie să efectuați câțiva pași pentru a configura lucrurile. Ar fi trebuit să fi activat deja Remoting pe PC-ul la care doriți să vă conectați, așa cum am descris în secțiunea anterioară.
Notă: Pentru ca PowerShell Remoting să funcționeze într-un mediu de lucru, trebuie să configurați rețeaua ca rețea privată, nu publică. Pentru mai multe despre diferența - și despre cum să vă schimbați la o rețea privată dacă aveți deja o rețea publică înființată - consultați ghidul nostru în rețelele private vs. publice.
Apoi, trebuie să configurați setarea TrustedHosts atât pe PC-ul la care doriți să vă conectațiși PC-ul (sau PC-urile) la care doriți să vă conectați, astfel încât computerele să se încreadă reciproc. Puteți face acest lucru într-unul din două moduri.
Dacă vă aflați într-o rețea de domiciliu în care doriți să continuați și aveți încredere în orice PC care se conectează de la distanță, puteți introduce următorul cmdlet în PowerShell (din nou, va trebui să îl executați ca Administrator).
Set-item wsman: \ localhost \ client \ trustedhosts *
Asteriscul este un simbol pentru toate PC-urile. Dacă, în schimb, doriți să restricționați computerele care se pot conecta, puteți înlocui asteriscul cu o listă de adrese IP sau nume de computer separate prin virgule pentru PC-uri aprobate.
După ce executați comanda respectivă, va trebui să reporniți serviciul WinRM astfel încât noile setări să aibă efect. Tastați următorul cmdlet și apoi apăsați Enter:
Restart-Service WinRM
Și rețineți că va trebui să rulați cele două cmdleturi pe PC-ul la care doriți să vă conectați, precum și pe orice PC pe care doriți să-l conectați.
Acum că ați instalat PC-urile pentru PowerShell Remoting, este timpul să testați conexiunea. Pe computerul pe care doriți să-l accesați de la sistemul de la distanță, tastați următorul cmdlet în PowerShell (înlocuind "COMPUTER" cu numele sau adresa IP a PC-ului la distanță), apoi apăsați Enter:
Test-WsMan COMPUTER
Această comandă simplă testează dacă serviciul WinRM rulează pe computerul la distanță. Dacă se termină cu succes, veți vedea informații despre serviciul WinRM al computerului la distanță în fereastră, ceea ce înseamnă că WinRM este activat și că PC-ul dvs. poate comunica. Dacă comanda nu reușește, veți vedea în schimb un mesaj de eroare.
Pentru a rula o comandă pe sistemul la distanță, utilizațiInvocați-comandă
cmdlet folosind următoarea sintaxă:
Invocare-Comandă -ComputerName COMPUTER -ScriptBlock COMMAND -creditar USERNAME
"COMPUTER" reprezintă numele PC-ului la distanță sau adresa IP. "COMMAND" este comanda pe care doriți să o executați. "USERNAME" este numele de utilizator pe care doriți să îl executați ca pe computerul la distanță. Vi se va solicita să introduceți o parolă pentru numele de utilizator.
Iată un exemplu. Vreau să văd conținutul directorului C: \ pe un computer la distanță cu adresa IP 10.0.0.22. Vreau să folosesc numele de utilizator "wjgle", așa că aș folosi următoarea comandă:
Invoke-Command -ComputerName 10.0.0.22 -BlockScript Get-ChildItem C: \ -credential wjgle
Dacă aveți mai multe cmdleturi pe care doriți să le executați pe computerul la distanță, în loc să introduceți în mod repetat cmdlet-ul Invoke-Command și adresa IP la distanță, puteți începe în schimb o sesiune la distanță. Doar tastați următorul cmdlet și apoi apăsați Enter:
Introducere-PSSesiune -ComputerName COMPUTER -CREEDENER USER
Din nou, înlocuiți "COMPUTER" cu numele sau adresa IP a PC-ului la distanță și înlocuiți "USER" cu numele contului de utilizator pe care doriți să-l invocați.
Modificarea dvs. promptă indică computerul la distanță la care sunteți conectat și puteți executa orice număr de cmdleturi PowerShell direct pe sistemul de la distanță.