PowerShell Remoting omogućuje pokretanje naredbi PowerShell ili pristup punim PowerShell sesijama na udaljenim sustavima sustava Windows. Slično je SSH za pristup daljinskim terminalima na drugim operativnim sustavima.
PowerShell je zaključan prema zadanim postavkama, tako da ćete morati omogućiti PowerShell Remoting prije korištenja. Ovaj postupak postavljanja je malo složeniji ako koristite radnu grupu umjesto domene - na primjer, na kućnoj mreži - ali ćemo vas prošetati.
Prvi korak je omogućiti PowerShell Remoting na računalu na koje želite napraviti daljinske veze. Na tom računalu morat ćete otvoriti PowerShell s administratorskim ovlastima.
U sustavu Windows 10 pritisnite Windows + X, a zatim odaberite PowerShell (Admin) iz izbornika Power User.
U sustavu Windows 7 ili 8, pritisnite Start, a zatim upišite "powershell." Desnom tipkom miša kliknite rezultat i odaberite "Pokreni kao administrator".
U prozoru PowerShell unesite sljedeći cmdlet (naziv PowerShell-a za naredbu), a potom pritisnite Enter:
Omogući-PSRemoting -Force
Ova naredba pokreće WinRM uslugu, postavlja ga da automatski pokrene sa sustavom i stvara pravila vatrozida koja omogućuju dolazne veze.-Sila
dio cmdleta govori PowerShellu da izvrši ove radnje bez da vas potakne za svaki korak.
Ako su vaša računala dio domene, to je sve što trebate učiniti. Možete preskočiti naprijed da biste testirali svoju vezu. Ako su vaša računala dio radne grupe - što su vjerojatno na kućnoj ili maloj poslovnoj mreži - imat ćete malo više posla za postavljanje.
Napomena: Vaš uspjeh u postavljanju daljinskog upita u okruženju domene u potpunosti ovisi o postavljanju vaše mreže. Remotiranje može biti onemogućeno - ili čak omogućeno - automatski prema grupnim pravilima koje je konfigurirao administrator. Možda i nemate dozvole za pokretanje sustava PowerShell kao administratora. Kao i uvijek, provjerite sa svojim administratorima prije nego što pokušate nešto slično. Možda imaju dobre razloge zbog toga što ne dopuštaju praksu, ili bi bili spremni postaviti za vas.
Ako vaša računala nisu na domeni, trebate izvršiti još nekoliko koraka kako biste postavili stvari. Trebali ste već omogućiti Remoting na računalu na koje se želite spojiti, kao što smo opisali u prethodnom odjeljku.
Napomena: Da bi PowerShell Remoting radio u okruženju radne grupe, morate konfigurirati svoju mrežu kao privatnu, a ne javnu mrežu. Da biste saznali više o razlici - i kako se prebaciti na privatnu mrežu ako već imate postavljenu javnu mrežu - pogledajte naš vodič o privatnim i javnim mrežama.
Zatim morate konfigurirati postavku TrustedHosts na računalu na koje se želite povezatii računala (ili računala) s kojih se želite povezati, pa će se računala međusobno povjeriti. To možete učiniti na jedan od dva načina.
Ako ste na kućnoj mreži u kojoj želite ići dalje i vjerujete da se bilo kojem računalu povezuje daljinski, možete upisati sljedeći cmdlet u PowerShell (opet, trebat ćete ga pokrenuti kao administrator).
Stavka Wsman: \ localhost \ client \ trustedhosts *
Zvjezdica je zamjenski znak za sva računala. Ako umjesto toga želite ograničiti računala koja se mogu povezati, zvjezdicu možete zamijeniti s popisom IP adresa ili naziva računala odobrenim osobnim računalima.
Nakon pokretanja te naredbe morat ćete ponovo pokrenuti WinRM uslugu kako bi vaše nove postavke stupile na snagu. Upišite sljedeći cmdlet, a zatim pritisnite Enter:
Ponovno pokretanje servisa WinRM
I zapamtite, morat ćete pokrenuti ta dva cmdleta na računalu na koje se želite spojiti, kao i na računalima s kojih se želite povezati.
Sada kada ste postavili računala za PowerShell Remoting, vrijeme je za testiranje veze. Na računalu s kojeg želite pristupiti udaljenom sustavu, upišite sljedeći cmdlet u PowerShell (zamijenite "COMPUTER" s imenom ili IP adresom udaljenog računala), a zatim pritisnite Enter:
Test-WsMan RAČUNALO
Ova jednostavna naredba provjerava hoće li se WinRM usluga pokrenuti na udaljenom računalu. Ako se uspješno dovrši, na prozoru ćete vidjeti informacije o WinRM udaljenom računalu - što znači da je WinRM omogućen i vaše računalo može komunicirati. Ako naredba ne uspije, umjesto toga vidjet ćete poruku o pogrešci.
Da biste pokrenuli naredbu na udaljenom sustavu, upotrijebitePrizvati-Command
cmdlet pomoću sljedeće sintakse:
Invoke-Command - RačunaloName COMPUTER -ScriptBlock COMMAND - ovlašteni USERNAME
"COMPUTER" predstavlja ime ili IP adresu udaljenog računala. "COMMAND" je naredba koju želite pokrenuti. "USERNAME" je korisničko ime za koje želite pokrenuti naredbu kao na udaljenom računalu. Od vas će se tražiti da unesete zaporku za korisničko ime.
Evo primjera. Želim pregledati sadržaj mape C: \ na udaljenom računalu s IP adresom 10.0.0.22. Želim koristiti korisničko ime "wjg", pa bih upotrijebio sljedeću naredbu:
Invoke-Command -ComputerName 10.0.0.22 -ScriptBlock Get-ChildItem C: \ - povjerenstvo
Ako imate nekoliko cmdleta koje želite pokrenuti na udaljenom računalu, umjesto da ponovo upišete cmdlet Invoke-Command i udaljenu IP adresu, umjesto toga možete pokrenuti udaljenu sesiju. Samo upišite sljedeći cmdlet, a zatim pritisnite Enter:
Enter-PSSession -ComputerName COMPUTER -Credential USER
Opet, zamijenite "COMPUTER" nazivom ili IP adresom udaljenog računala i zamijenite "USER" s imenom korisničkog računa kojeg želite pozvati.
Vaša brz promjena označava udaljeno računalo na koje ste povezani i možete izvršiti bilo koji broj cmdleta programa PowerShell izravno na udaljenom sustavu.