Homepage » hogyan kell » Geek iskola Ismerje meg a Remoting használatát a PowerShell-ben

    Geek iskola Ismerje meg a Remoting használatát a PowerShell-ben

    A PowerShell kínálatának egyik legjobb tulajdonsága a kiszolgálók távoli kezelése. Azt is lehetővé teszi, hogy egy csomó darabot egyszerre is kezelhessen.

    Ügyeljen arra, hogy olvassa el a sorozat korábbi cikkeit:

    • Ismerje meg, hogyan kell automatizálni a Windowsot a PowerShell segítségével
    • Tanulj meg a Cmdlet használatát a PowerShell-ben
    • Tanulj meg, hogyan kell használni az objektumokat a PowerShell-ben
    • Tanulási formázás, szűrés és összehasonlítás a PowerShell-ben

    És hetekig tartsd a többi sorozatot.

    Mi a Remoting?

    A kiszolgálók tömeges kezelése unalmas lehet, és ha korábban már 50 webszerveren kellett volna IIS konfigurációt változtatnia, akkor tudni fogja, hogy mit értem. Ezek azok a helyzetek, amikor a PowerShell Remoting és a nyelvi szkriptek képesek megmenteni. A HTTP vagy a biztonságosabb HTTPS használatával a PowerShell Remoting lehetővé teszi parancsok küldését egy távoli gépre. A gép ezután futtatja a parancsokat, és elküldi a kimenetet, ami viszont megjelenik a képernyőn.

    Get Technikai

    A PowerShell Remoting középpontjában egyetlen Windows-szolgáltatás, a Windows Távoli menedzsment vagy a WinRM-szolgáltatás áll, amint az ismert. A WinRM használatával beállíthat egy vagy több munkamenet-konfigurációt (más néven végpontokat), amelyek alapvetően olyan fájlok, amelyek információkat tartalmaznak a távoli PowerShell példányhoz csatlakozó személynek. Pontosabban, a munkamenet konfigurációs fájljaival meghatározhatja, hogy ki és ki nem tud csatlakozni a példányhoz, milyen cmdleteket és parancsfájlokat futtathat, valamint hogy milyen biztonsági környezetben kell futnia a munkamenet alatt. A WinRM szolgáltatás használatával „hallgatókat” is beállíthat, amelyek meghallgatják a beérkező PowerShell kéréseket. Ezek a „hallgatók” lehetnek HTTP vagy HTTPS-ek, és egyetlen IP-címhez köthetők a készüléken. Amikor megnyit egy PowerShell kapcsolatot egy másik géphez (technikailag ez a WS-MAN protokoll használatával történik, amely a HTTP-n alapul), a kapcsolat ezekhez a „hallgatókhoz” kötődik. A „hallgatók” ezután felelősek a forgalomnak a megfelelő munkamenet-konfigurációs fájlhoz tartozó alkalmazáshoz való küldéséért; az alkalmazás (rendszerint PowerShell, de ha van ilyen, akkor más hosting alkalmazások is futhatnak), majd futtatja a parancsot, és az eredményeket a „hallgató” -on keresztül továbbítja a hálózaton keresztül és vissza a gépére.

    Mutassa meg, hogyan

    Az első dolog, amit meg kell tennie, engedélyezze a Remoting alkalmazást azon a gépen, amelyhez csatlakozni szeretne. Ezt a következő műveletek végrehajtásával teheti meg:

    Engedélyezze-PSRemoting

    Ezt követően minden válaszra igen. Az Enable-PSRemoting futtatásakor néhány módosítás történik a számítógépen:

    • A WinRM szolgáltatás elindul.
    • A WinRM szolgáltatás a Kézi indítás üzemmódból Automatikus értékre változik.
    • Olyan HTTP-hallgatót hoz létre, amely minden hálózati kártyához kapcsolódik.
    • Szintén létrehoz egy bejövő tűzfal kivételt a WS-MAN protokollhoz.
    • Néhány alapértelmezett munkamenet-konfiguráció jön létre

    Ha Windows 7 rendszert futtat, és a hálózati kártya helyzete Nyilvános, akkor a PowerShell Remoting engedélyezése sikertelen lesz. A javításhoz egyszerűen váltson otthoni vagy munkahelyi hálózatra. Alternatív megoldásként kihagyhatja a hálózati ellenőrzést a következőképpen:

    Engedélyezés-PSRemoting -SkipNetworkProfileCheck

    Javasoljuk azonban, hogy inkább a hálózati helyét változtassa meg.

    Kétféleképpen csatlakozhat egy másik géphez a PowerShell segítségével. Az egyik az egyik módszer, ami nagyon hasonlít az SSH használatához, majd az egyik a sok módszerhez.

    PowerShell munkamenet használata

    A PowerShell használatával a távoli géphez való csatlakozás első módja a PowerShell Session néven ismert. Egyszerűen egy ülés lehetővé teszi, hogy a távoli gépen futó parancsokat interaktív módon futtasson, hasonlóan a saját gépére. A munkamenet megnyitásához egyszerűen írja be a következőt:

    Enter-PSSession-Számítógépnév „Darlah”

    A kérés egy előtagot fog kapni, amely azt jelzi, hogy a gép a cmdleteket ellenzi.

    Innen valóban úgy kezelheti a kérést, mintha a távoli gépen ültél volna. Például, ha meg szeretné tekinteni az összes fájlt a C: \ t

    Get-ChildItem-C út: \ t

    Ha Linux hátteréből származik, úgy gondolja, hogy ezt az egy-egy módszert használja az SSH alternatívájaként történő eltávolításra..

    Az Invoke-Command használata

    A második módja, hogy a PowerShell-t egy távoli gépen használhatja, az Invoke-Command használata. Az Invoke-Command használatának előnye abban rejlik, hogy ugyanazon parancsot egyszerre több gépen is végrehajthatja. Elképzelhető, hogy ez különösen akkor hasznos, ha valami hasonló eseményt szeretne gyűjteni a szerverekről. Az Invoke-Command a következő szintaxist követi:

    Invoke-Command-Számítógépnév Darlah, localhost -ScriptBlock Get-EventLog alkalmazás -Newest 2

    Mivel a parancsot minden gépen párhuzamosan hajtják végre, valamilyen módon meg kell néznie, hogy melyik PC-t érte el. Ezt megteheti a PSComputerName tulajdonság megtekintésével.

    Az Invoke-Command használatakor már nincsenek a csővezetékben várható objektumok. Úgy látja, hogy a PowerShell a távoli gépről az információt megkapja a gépére, valamilyen módon kell képviselnie azokat a tárgyakat, amelyeket a távoli gép kimenetein futó parancs ad meg. Napjainkban úgy tűnik, hogy a hierarchikus adatszerkezet kijelölésének módja az XML használata, ami azt jelenti, hogy ha Invoke-Command használatával parancsot ad ki, akkor az eredményeket először XML-be sorolják be, mielőtt visszaküldenék a készülékre. Miután visszatértek a géphez, visszavonják őket egy tárgyba; itt van az, hogy a deszerializáláskor minden olyan módszer, kivéve a ToString () metódust, hogy az objektumot levették tőle.

    Megjegyzés: Van néhány kivétel ebből a szabályból, például a legtöbb primitív típus, mint például az egész számok, a módszerekkel deserializálhatók. Van egy olyan folyamat is, amelyet a Rehydration nevű eljárásnak nevezünk, ahol néhány módszer hozzáadható a deserializált objektumokhoz. Csak légy óvatos és ne feledje, hogy a Get-Member a barátod.

    Házi feladat

    • Olvassa el a PowerShell Remoting titkát a Don Jones által.