Muista lukea sarjan aiemmat artikkelit:
- Opi käyttämään automaattista Windowsia PowerShellillä
- Learning käyttämään Cmdlets PowerShellissä
- Oppiminen esineiden käyttämisessä PowerShellissä
- Oppimisen muotoilu, suodatus ja vertailu PowerShellissä
Ja pysy kuulolla koko sarjan koko viikon ajan.
Mikä on Remoting?
Palvelimesi irtotavarana voi olla tylsiä, ja jos olet joutunut tekemään IIS: n kokoonpanoasetusten muutoksen 50 palvelimella ennen, tiedät, mitä tarkoitan. Nämä ovat sellaisia tilanteita, joissa PowerShell Remoting ja kielen komentosarjat kykenevät pelastamaan. HTTP: n tai turvallisemman HTTPS: n avulla PowerShell Remotingin avulla voit lähettää komentoja etäverkkoon verkossa. Kone suorittaa sitten komennot ja lähettää lähdön takaisin sinulle, joka puolestaan näkyy näytölläsi.
Let's Get tekninen
PowerShell Remotingin ytimessä on yksi Windows-palvelu, Windows Remote Management tai WinRM-palvelu, koska se on tullut tunnetuksi. WinRM: n avulla voit määrittää yhden tai useamman istunnon kokoonpanon (joka tunnetaan myös päätepisteinä), jotka ovat pohjimmiltaan tiedostoja, jotka sisältävät tietoja kokemuksesta, jonka haluat antaa etäyhteydellä olevaan PowerShell-esiintymään. Tarkemmin sanottuna voit käyttää istunnon kokoonpanotiedostoja määritellä, kuka voi ja kuka ei voi muodostaa yhteyttä esimerkiksi, mitä cmdletteja ja komentosarjoja ne voivat käyttää, sekä mitä suojaustoimintaa istunto on suoritettava. WinRM-palvelun avulla voit myös luoda "kuuntelijoita", jotka kuuntelevat tulevia PowerShell-pyyntöjä. Nämä "kuuntelijat" voivat olla joko HTTP tai HTTPS ja ne voidaan sitoa yhdellä IP-osoitteella koneellasi. Kun avaat PowerShell-yhteyden toiseen laitteeseen (tämä tapahtuu teknisesti WS-MAN-protokollaa käyttäen, joka perustuu HTTP: hen), yhteys sidotaan johonkin näistä "kuulijoista". "Kuuntelijat" ovat sen jälkeen vastuussa liikenteen lähettämisestä soveltuvan istunnon kokoonpanotiedostoon liittyvään sovellukseen. sovellus (normaalisti PowerShell, mutta sinulla voi olla muita hosting-sovelluksia, jos haluat) suorittaa komennon ja syöttää tulokset takaisin "kuuntelijan" kautta verkon ja takaisin koneellesi.
Näytä minulle miten
Ensimmäinen asia, jonka sinun tarvitsee tehdä, on ottaa käyttöön Remot-laite koneessa, johon haluat muodostaa yhteyden. Tämä voidaan tehdä suorittamalla seuraavat:
Enable-PSRemoting
- WinRM-palvelu käynnistyy.
- WinRM-palvelu siirtyy manuaalisesta käynnistystilasta Automaattiseksi.
- Se luo HTTP-kuuntelijan, joka on sidottu kaikkiin verkkokortteihisi.
- Se luo myös sisääntulon palomuurin poikkeuksen WS-MAN-protokollalle.
- Joitakin oletussession kokoonpanoja luodaan
Jos käytössäsi on Windows 7 ja verkkokortin sijainti on julkinen, PowerShellin etätoiminto ei onnistu. Voit korjata sen vain vaihtamalla Home- tai Work-verkon sijaintiin. Vaihtoehtoisesti voit ohittaa verkkotarkistuksen seuraavalla tavalla:
Enable-PSRemoting –SkipNetworkProfileCheck
PowerShellillä voi olla kaksi tapaa liittää toiseen koneeseen. On yksi menetelmä, joka on hyvin samanlainen kuin SSH: n käyttäminen, ja sitten on olemassa monta menetelmää.
PowerShell-istunnon käyttäminen
Ensimmäinen tapa muodostaa yhteys PowerShell-palvelimella olevalle etäkoneelle on käyttää jotain nimeltään PowerShell Session. Yksinkertaisesti istunnon avulla voit suorittaa komentoja etäkoneessa vuorovaikutteisella tavalla samalla tavalla kuin omalla koneellasi. Avaa istunto yksinkertaisesti kirjoittamalla seuraava:
Enter-PSSession –ComputerName “Darlah”
Get-ChildItem –Path C:
Invoke-komennon käyttö
Toinen tapa, jolla voit käyttää PowerShellia etäkoneessa, on Invoke-Command-ohjelmalla. Etu käyttämään Invoke-komentoa johtuu siitä, että voit suorittaa saman komennon useilla koneilla samanaikaisesti. Kuten voitte kuvitella, tämä on erityisen hyödyllinen, kun haluat tehdä jotain kerätä tapahtumalokia palvelimistasi. Invoke-Command noudattaa seuraavaa syntaksia:
Invoke-Command -ComputerName Darlah,localhost -ScriptBlock {Get-EventLog Application -Newest 2}
Huomaa: Tässä säännössä on joitain poikkeuksia, esimerkiksi alkeellisimpia tyyppejä, kuten kokonaislukuja, voidaan deserialisoida sen mukana tulevilla menetelmillä. On myös prosessi, jota kutsutaan Rehydrationiksi, jossa jotkut menetelmät voidaan lisätä takaisin deserialisoiduille kohteille. Joten ole varovainen ja muista, että Get-Member on ystäväsi.