Obavezno pročitajte prethodne članke serije:
- Saznajte kako automatizirati sustav Windows pomoću programa PowerShell
- Učenje pomoću Cmdletsa u PowerShellu
- Učenje kako koristiti objekte u PowerShellu
- Oblikovanje učenja, filtriranje i uspoređivanje u PowerShellu
I ostanite u tijeku cijele serije cijeli tjedan.
Što je Remoting?
Skupno upravljanje svojim poslužiteljima može biti dosadan i ako ste prije morali napraviti izmjenu konfiguracije IIS-a na 50 web poslužitelja, znat ćete što mislim. Ovo su vrste situacija kada PowerShell Remoting i jezične skriptne sposobnosti mogu doći do spašavanja. Pomoću HTTP-a ili sigurnijeg HTTPS-a PowerShell Remoting omogućuje slanje naredbi udaljenom računalu na vašoj mreži. Stroj onda pokreće naredbe i šalje izlaz natrag vama, koji je opet prikazan na vašem zaslonu.
Let's Get tehnički
U jezgri PowerShell Remoting leži jedna Windows servis, Windows Remote Management ili WinRM servis, kao što je poznato. Pomoću programa WinRM možete postaviti jednu ili više konfiguracija sesije (također poznate kao krajnje točke) koje su u osnovi datoteke koje sadrže informacije o iskustvu koje želite pružiti osobi koja se povezuje s instancom udaljenog PowerShell. Konkretnije, možete koristiti datoteke za konfiguraciju sesije kako biste definirali tko se može i tko se ne može povezati s instancom, koji se cmdleti i skripte mogu izvoditi, kao i koji sigurnosni kontekst mora biti pokrenuta sesija. Pomoću WinRM servisa postavljate i "slušatelje" koji slušaju dolazne zahtjeve programa PowerShell. Ovi "slušatelji" mogu biti HTTP ili HTTPS i mogu biti vezani za jednu IP adresu na vašem računalu. Kada otvorite PowerShell vezu na drugi stroj (tehnički se to radi pomoću WS-MAN protokola koji se temelji na HTTP-u), veza se veže za jednog od tih "slušatelja". "Slušatelji" su tada zaduženi za slanje prometa na aplikaciju povezanu s odgovarajućom datotekom konfiguracije sesija; aplikaciju (normalno PowerShell, ali možete imati druge hosting aplikacije ako to želite), zatim pokrenite naredbu i učitajte rezultate natrag kroz "slušatelja" preko mreže i natrag na vaš stroj.
Pokaži mi kako
Prva stvar koju trebate učiniti jest omogućiti Remoting na Stroj za koji se želite povezati. To se može učiniti tako da pokrenete sljedeće:
Enable-PSRemoting
- Pokreće se WinRM usluga.
- Usluga WinRM se mijenja iz ručnog načina pokretanja u Automatski.
- Stvara HTTP slušatelj koji je vezan za sve vaše mrežne kartice.
- Također stvara izlaz za ulaz u vatrozide za WS-MAN protokol.
- Izrađene su neke zadane konfiguracije sesije
Ako koristite sustav Windows 7 i lokacija vaše mrežne kartice je postavljena na Javno, omogućit će se da će PowerShell Remoting uspjeti. Da biste je popravili, jednostavno prijeđite na lokaciju Doma ili radne mreže. Alternativno, mrežnu provjeru možete preskočiti pomoću sljedećeg:
Enable-PSRemoting –SkipNetworkProfileCheck
Postoje dva načina povezivanja na drugi stroj koristeći PowerShell. Postoji metoda od jedne do jedne, koja je vrlo slična korištenju SSH, a zatim postoji jedna na mnoge metode.
Korištenje PowerShell sesije
Prvi način povezivanja s udaljenim računalom koristeći PowerShell koristi nešto što se naziva PowerShell Session. Jednostavno postavljanje sesije omogućuje vam pokretanje naredbi na udaljenom računalu na interaktivan način jednako kao i na vašem računalu. Da biste otvorili sesiju, jednostavno upišite sljedeće:
Enter-PSSession –ComputerName “Darlah”
Get-ChildItem –Path C:
Upotreba Invoke-Command
Na drugi način možete koristiti PowerShell na udaljenom računalu pomoću Invoke-Command. Prednost korištenja Invoke-Command proizlazi iz činjenice da istu naredbu možete istovremeno izvršavati na više strojeva. Kao što možete zamisliti, to je osobito korisno kada želite učiniti nešto poput skupljanja dnevnika događaja s vaših poslužitelja. Invoke-Command slijedi sljedeću sintaksu:
Invoke-Command -ComputerName Darlah,localhost -ScriptBlock {Get-EventLog Application -Newest 2}
Napomena: Postoje neke iznimke od ovog pravila, na primjer najprimitivnije vrste kao što su cijeli brojevi mogu biti deserializirani s uključenim metodama. Tu je i proces nazvan Rehydration gdje se neke metode mogu dodati natrag u deserializirane objekte. Stoga budite oprezni i zapamtite da je Get-Member vaš prijatelj.