PowerShell távoli interakció keresztül PowerShell 2

Ez a cikk ismerteti részletesen a téma távoli kölcsönhatás PowerShell 2.0. Az első dolog, amit meg kell kezdeni a szolgáltatást, amelynek segítségével lesz a távoli interakció.

Állapot neve DisplayName ------ ---- ----------- leállítva WinRM Windows Remote Management (WS-menedzserek.

Kérdezd meg a nevét, a csatlakoztatott szolgáltatók:
Get-PSProvider
Amint láthatjuk, most már van egy másik szolgáltató néven WSMan.
Kijelölése a megbízható helyek

A konzolon PowerShell 2.0 parancs futtatásához rendszergazdai jogosultságokkal:

Set-Location -path WSMan: Set-Location -path localhost \ client Get-ChildItem

megjegyzés
Megjegyzendő, hogy a végén egy kettőspont, mint ez a szolgáltató az első parancs értékét -path paraméter.

Azon a számítógépen, amelyről szeretne dolgozni távolról, meg kell adnia, hogy mely szerverek kapcsolódhatnak ehhez a géphez. Az ilyen szerverek úgynevezett „megbízható helyek”. Így ha a „MyServer” szerver mielőtt távolról vezérelheti a számítógép „Sajátgép”, meg kell konfigurálni megbízható hosts (TrustedHosts). A következő hozzárendelés eljárás megbízható állomások használják, ha a számítógép nem szerepel az Active Directory tartomány. Ha a számítógép része egy Active Directory domain, a TrustedHosts beállításokat lehet beállítani csoportházirend (Group Policy).

Fontos!
Az alábbi parancs nem működik, ha az aktuális könyvtárban nincs megadva WSMan: \ localhost \ client (lásd végrehajtott parancsok általunk fent.).

Meg lehet futtatni a parancsot egy másik könyvtárba, de akkor meg kell adni a teljes elérési utat TrustedHosts:

Amikor a rendszer kéri, hogy erősítse meg nyomja meg a gombot «Y».

Ha látni PowerShell által végrehajtott módosítások minket a beállítások TrustedHosts - újra kell indítania WSMan. Ez történik a következő parancsot:
Restart-Service WinRM

Egy hasonló művelet elvégezhető DOS alatt. Fuss a WinRM -. Látni fogja az általános segítség a pályán. Hogy a jelenlegi érték TrustedHosts, adja ki a következő parancsot:

WinRM get WinRM / config / kliens

de ahhoz, hogy a megadott érték - kell elvégezni:

WinRM set WinRM / config / client / @

A munka befejezésére, a munka távolról, adja ki a következő parancsot:

Új-PSSession -computername testMachine2 Get-PSSession

Befejezni a munkát ezen az ülésen, akkor:

Ha azt szeretnénk, hogy teszteljék a távmunka, de nem egy másik autót, majd hozzon létre egy „távoli kapcsolat” a kompyuetera magának. Például, ha a gép az úgynevezett „MyMachine”, akkor próbáld ki ezt:

Új-PSSession -computername MyMachine

Lehet, hogy úgy tűnik, a furcsa és logikátlan, de ez így akkor is képes, hogy próbálja ki a távoli munka PowerShell 2.0.

Munkamenet egy távoli PowerShell 2.0
Miután létrehozott egy távoli kapcsolat, akkor lehet szervezni szállítószalagok csapatok futó őket a konzol PowerShell 2.0, de lesznek végrehajtva a távoli gépen, mint ha mögötte billentyűzetet és írja be a parancsot ott, és nem itt. Például az alábbi parancsot, és nézd meg az eredményt a munkáját:

Set-Location c: \ | Get-childitem

Mivel a fő célja ennek a bemutató, hogy segítsen létrehozni egy távoli PowerShell 2.0 eseménykapcsolatot és megmutatni, milyen közel, akkor te magad is el kell döntenünk, hogy milyen lépéseket kíván alatt elvégezni egy távoli kapcsolatot.

megjegyzés
Ha úgy gondolja, hogy az ülés távoli kapcsolat nem működik minden csapat - először ellenőrizni a helyi gépen.

Miután a távoli kapcsolat, amit keresnek, azonnal megadja a lehetőséget, hogy használja PowerShell 2.0 kezelni a számítógép csatlakozik a hálózathoz. Most már a parancsfájlok más gépeken. Sok PowerShell 2.0 parancsmagjai támogatja azt a lehetőséget „-computerName”, hanem a távoli kapcsolat lehetővé teszi, hogy a parancs PSSession család, valamint mert a Invoke-irányító (azaz bármire képes, úgy tetszik).

Keresés és problémák kiküszöbölésére során egy távoli PowerShell 2.0 munkát

Egyik tipikus probléma - ERROR «hozzáférés megtagadva» (hozzáférés megtagadva).

megoldás:
• Indítsa el a PowerShell 2.0 adminisztrátori jogosultsággal. Próbálja mindkét gépen (az egyik, amivel lehet csatlakozni, és hogy csatlakoztatva van) állítsa a beállítást „TrustedHosts” érték * (csillag). Csak ne felejtsük el, hogy ez az opció lehetővé teszi, hogy kapcsolatokat bárhonnan.
• Ne felejtsük el újraindítani a szolgáltatást WinRM, különben tettek a „TrustedHosts” változások nem lépnek életbe. A szolgáltatás újraindításához kell lennie PowerShell 2.0 konzol parancsot: Restart-Service WinRM
• Továbbá, legyen óvatos, ne keverjük össze a nevét az a szolgáltató WSMan WinRM szolgáltatást.
• Egy másik furcsa, de néha segít tipp: Próbálja újra a távoli kapcsolatot. Furcsa, de ez nem működik, az első próbálkozás, de a munka, a második vagy a harmadik. Ie akkor újra kell végrehajtani a parancsot: Enter-PSSession -computerName myOtherMachineName

A tűzfalak, PowerShell 2.0 és «Az RPC-kiszolgáló nem érhető el» (RPC kiszolgáló nem érhető el)
Biztonsági szakemberek horror emelje fel a kezét az ilyen javaslat azonban abban az esetben, a fenti hibákat, azt javaslom, kikapcsolni a tűzfalat mindkét számítógépen. Ha letiltani fog működni - ez jó, akkor meg kell, hogy ellenőrizze a bevonása a 135-ös és 445-ös konfigurálása ezek portkivételt a tűzfal - ez lehetővé teszi, PowerShell 2.0 munka távolról, míg a tűzfal védi a számítógépet a fenyegetések.

Kétféle, hogy a használt távoli munka PowerShell 2.0
Itt az ideje, hogy tudd, hogy két lehetőség van a távoli munka PowerShell 2.0.
Az első módszer - egy kifinomultabb változata, amely felhasználja parancsmagok, ami egy stabil csatornát a második gépet. A nevét ezeket a parancsokat szót tartalmazó főnévként „PSSession” (Emlékeztetünk arra, hogy a parancsmagot nevek szerint épült a „ige-főnév”). Kap egy listát a parancsmagnak, akkor használja a következő parancsot:

Get-Command -noun PSSession

A második út - ez csak egy kanonikus PowerShell 2.0 távmunka. Ez a módszer egyszerűen kiterjeszti a helyi csapat hozzáadásával paraméter „-computerName”, amellyel jelzi távolról található számítógép, amelyre a művelet végrehajtásához. Ennek eredményeként, ezek a parancsok fog futni egy másik gép a hálózatban:

Get-Process -computerName machine2

A listát a parancsmagnak, amelyek segítségével ezt az egyszerű módon (vagyis azokat, amelyek összetételükben paraméter "-computerName) segítségével érhető el a következő parancsot:

A teljes listát a parancsmagjai lehet futtatni a második módszer, ez lehetséges ez:

Angol nyelvű forrás leírt és néhány kiadásában ide.

Következő mutatnak kis példát távoli munka:

# Új kapcsolat létrehozása munkamenetet a távoli gép $ s = Új-PSSession -computername TestComputer

# Végre egy távoli gépen az önkéntes tevékenység, például - nézd meg a tartalmát a C:
Hivatkozhat-irányító -Session $ s -ScriptBlock

# Hozzon létre egy könyvtárat a távoli gépen "% ProgramFiles% \ MyCompany \ MySoft"
Hivatkozhat-irányító -Session $ s -ScriptBlock

# Azonban ez sokkal kényelmesebb, mint kézzel vezetni a csapatot, és kész a szkript futtatásához a távoli gépen:
Hivatkozhat-irányító -Session $ s -FilePath "\\ serverdir \ Common Scripts \ MyScript.ps1"

# Záró ülés
$ S | remove-PSSession

Kapcsolódó cikkek