Távoli közötti interakció PowerShell 2

A változata Windows PowerShell 2.0 hajtják végre egy alternatív mechanizmust távoli számítógéphez csatlakozni, az úgynevezett Távoli elérés (Távoli elérés). Ez a szerkezet az eszközök a Windows Remote Management (Windows Remote Management, WinRM). Ez biztosítja a kapcsolatot a távoli számítógéphez, és futtassa a végrehajtott parancsok a távoli számítógépen

Informatikai infrastruktúra a vállalat

Fejlesztési PowerShell 1.0 shell igazi áttörést a fejlesztés a Windows XP vezérlő és automatizálási berendezések, valamint a későbbi verziójú Windows platformon. Ennek alapján a platform. NET Framework 1.0 PowerShell technológia magában foglalja egységes szerkezetbe parancsok (parancsmagok), akkor van felruházva hatalmas beépített kimeneti formázó eszközök, és egy jelentős növekedését a rendelkezésre álló más technológiák, és mindenek felett - Windows Management Instrumentation (WMI). Azonban, bár egyes komponensek PowerShell 1.0 parancs tárgyakat. NET tud csatlakozni a távoli számítógépeket, ez a funkció differenciált függően az adott esetben. Parancsok, hogy támogatja a távoli csatlakozások -ComputerName paraméter; Ezen túlmenően, amikor kapcsolatok létrehozása az általuk használt, vagy a távoli eljárás hívás (RPC), vagy a DCOM modell.

Sok esetben az RPC és DCOM jól menedzsment feladatokat, de ha végző diagnosztikai eljárásokat, és azonosítja a problémák okait néha vannak problémák. Például Get-Service parancs olvasni adatszolgáltatásokat egy távoli számítógéphez -ComputerName paraméter, de ez a csapat nem opció -Credential, ezért annak teljesítményét regisztrálnia kell egy fiókot engedéllyel hozzáférhet a távoli rendszert.

De a Windows PowerShell 2.0-s verzió valósul alternatív mechanizmust távoli számítógéphez csatlakozni, az úgynevezett Távoli elérés (Távoli elérés). Ez a szerkezet az eszközök a Windows Remote Management (Windows Remote Management, WinRM). Ez biztosítja a kapcsolatot a távoli számítógéphez, és futtassa a végrehajtott parancsok a távoli számítógépen. Hadd illusztráljam ezt egy példával. azt jelenti, kapcsolódhatunk egy távoli asztal, olvassa el a grafikus felhasználói felület, valamint a távoli kapcsolat a parancssor PowerShell. Ha egy parancs futtatható komponens segítségével Távoli elérés mechanizmus, a csapat valójában végrehajtását a távoli számítógépen, de az eredmény látható a helyi gépen.

Hol találok a Windows PowerShell 2.0

Felvétele Távoli elérés funkciók

Annak érdekében, hogy a számítógép kapcsolat létrehozására távoli rendszerek, amelyeken PowerShell telepítése, meg kell adnia a következő feltételekkel.

Ha a számítógép nem fogadja kapcsolatokat PowerShell kagyló szerelt távoli számítógép teljesítménye ezek a feltételek nem szükséges.

Végrehajtó egy parancsot a távoli számítógépen

A legegyszerűbb módja annak, hogy csatlakozzon a PowerShell környezet egy távoli számítógépen - az Enter-PSSession parancsot. Alapértelmezésben ez a parancs kerül végrehajtásra egy paraméterrel -ComputerName, így amikor a bemenet a billentyűzet, ez a paraméter elhagyható. Például, hogy csatlakozni egy távoli számítógép nevét rigel kell adnia a billentyűzetről

Megjegyzés: A teljesség kedvéért tartalmazza a felhívás szövegében. Nem kell, hogy adja meg a meghívást, mint a csapat egyik tagja.

Ha belépünk a távoli munkamenet PowerShell azonnali szintaktikai változásokat. Most fog tartalmazni zárójelben a neve a távoli számítógép; ez azt jelenti, hogy már létrehozta a kapcsolatot a távoli számítógépen. Ebben az esetben a meghívást fog kinézni:

Létrejötte után a távoli kapcsolat az összes parancsot beírt a parancssorban kerül végrehajtásra a távoli gépen. Például ha beírja

Get-ChildItem parancs végrehajtása a távoli gépen. A kimenet nevét tartalmazó fájlok és mappák alatt a C meghajtó egy távoli számítógép. Hogy teljes Távoli elérés ülésén, az Exit-PSSession parancs

Script végrehajtó egységet (Scriptblock) egy távoli számítógépen

A távoli elérés használata PowerShell segítségével távolról számítógépes szkriptblokk vagy scriptblock (vagyis blokk PowerShell kódot, zárójelek). Ehhez használja a Invoke-irányító parancsot -ComputerName paramétert. Például, mint egy csapat, az 1. ábrán mutatjuk, már használt Invoke-irányító parancsot annak érdekében, hogy végre egy Get-ChildItem egy távoli számítógépen. Keresi a képernyőn 1, vegye figyelembe, hogy annak érdekében, hogy kapcsolatot létesítsen a távoli futtatását megelőzően a szkriptblokk, nem használja az Enter-PSSession parancsot. Csapatok Enter-PSSession és felhasználhatják-irányító - ezek két különböző módszer távoli kommunikációt.

Távoli közötti interakció PowerShell 2

Képernyő 1. Végezze szkriptblokkban a távoli számítógépen

Az első paraméter az Invoke-irányító parancs beállítása -ScriptBlock; rámutat, hogy a kódot, amit hamarosan elvégzésére. 1. ábra kihagytam a paraméter nevét -ScriptBlock, mert azt jelzi, hogy nem szükséges. -ComputerName paraméter tartalmazza a nevét, a távoli számítógépen. Mint látható, a parancs kimenete a Get-ChildItem, PowerShell környezet az üzemeltető kényelem, az egyenletes adja meg a távoli számítógép nevét az oszlop PSComputerName kimenet.

A szkript blokk több számítógép

Szkriptblokkban is végezhető több távoli számítógépeken. Ez a konfiguráció az úgynevezett „egy a sok” vagy fan-telepítés. 1. ábra beállítása -ComputerName Invoke-irányító parancs tartalmazza az azonos nevű, de ez is több olyan számítógép nevét. Tehát, a csapat

biztosítja a Get-ChildItem parancs két távoli számítógépeken. A szöveg a cikk, ez a parancs van osztva több vonal, hanem a PowerShell konzol, akkor be kell vinni egy sorban. Ugyanez vonatkozik a többi csapat, osztva sorokat. Csakúgy, mint az 1. ábrán, a PsComputerName oszlopot a kimenő adatok tartalmazzák a nevét a számítógépek.

A szkript blokk a háttérben

PowerShell 2.0 környezet lehetővé teszi, hogy végre háttér feladatokat, hogy van, az üzemeltető képes futtatni a parancsot a háttérben. Ez a funkció akkor hasznos, ha futtatja a parancsot, amelynek végrehajtása igényel sok időt.

Futtatni a háttérben munkát a helyi számítógépen, akkor a Start-munka paranccsal. De azt kell mondanom, hogy a csapat nem -ComputerName paraméter, ami azt jelenti, hogy nem lehet használni, hogy végre a háttérben munkát egy távoli gépen. Ehelyett, akkor végre kell hajtania a Invoke-irányító parancsot -AsJob paramétert. Így a 2. ábrán a felső parancsfájl végrehajtási egység kezdeményezi a háttérben futó feladat egy távoli számítógépen titán. Miután belépett a parancs, a képernyőn azonnal megjelent felhívás: PowerShell shell script blokkot küldött végrehajtás egy távoli számítógépen, majd adta vissza kontroll. A figyelmeztetés azt állítja, hogy a parancs nem fér el a konzolt, és ezért nem szerepel az eredményben. Ha én a konzolt szélesebb, PowerShell shell formázási eszközt tartalmaznia kell egy parancsot a kimeneti listában. Az oszlopok Id és címe meghatározott feladat (az ID és név, illetőleg), az Állami oszlop jelzi a feltétele a feladat: futás, felfüggesztett vagy kötött. A HasMoreData oszlop adatokat tartalmaz, jelezve, hogy a lekért vonatkozó adatok egy adott munka vagy feladat, amely nagyobb mennyiségű információt kell tanulni.

Távoli közötti interakció PowerShell 2

Képernyő 2. Végezze szkriptblokkban a háttérben egy távoli számítógépen

Annak eldöntésére, hogy a tételt a feladat végrehajtása befejeződött, akkor végezze el a Get-Job parancs, a második csapat a képernyőn 2. Ha az nem használ paramétereket, Get-Job ellenőrzi az állapotát az összes munkahely kezdődött az aktuális munkamenetben. Ha fut több feladat egyidejű, akkor lehetőség, mint -ID vagy -name, hogy jelezze, hogy pontosan mi a feladat az ellenőrizni kívánt. Amikor végrehajtása a háttérben feladat befejezése, az állami kiadási adatok oszlopban lesz egy érték Kész.

Olvasni az eredmények egy háttérfeladat használhatja kapnak-Job parancs. Ez a parancs, mint a parancs Get-Job, kimenetét adja vissza az összes munkahely kezdődött az aktuális munkamenet ha nem használta a lehetőséget, hogy jelezze, milyen munkát érdekli. Tehát, az utolsó csapat a képernyőn 2 paramétert foglal magában -ID, ami azt jelzi, hogy szükség van, hogy megkapja a termelés a munka azonosító 9. Leeresztettem -ID paraméter nevét, mert nem kötelező. A 3. ábra az utolsó sorban a kimenő adatok teljesítményére vonatkozó távoli tekinthető háttér munkát.

Távoli közötti interakció PowerShell 2

3. A képernyő minta eredményeit kötegelt távoli számítógépen

Létrehozása PowerShell munkamenet

A fenti példák azt mutatják, hogyan érheti el a PowerShell meghívás a távoli gépen, és hogyan kell végrehajtani a parancsokat a távoli számítógépeken. De én még nem is említettem, hogy a Távoli elérés mindig végzik keretében az ülésen. Session - ez, hogy úgy mondjam, egy hely PowerShell élőhely. Amikor megnyit egy PowerShell konzolt vagy integrált script környezet ablak (ISE) PowerShell, akkor létrehoz egy munkamenet. Használata nélkül távoli kommunikáció minden olyan ülés a helyi számítógépen, és nem függ egymástól. Az összes fenti példák Távoli elérés létre ideiglenes szekciók automatikusan megszűnik végén távirányítási. Ezen kívül lehetőség van egy példányának létrehozásához Remoting ülések és használni őket. Ez a megközelítés sokkal hatékonyabb, ha szeretne hozzáférni a távoli számítógépek többször.

Ahhoz, hogy hozzon létre egy új munkamenetet, az Új-PSSession parancsot -ComputerName paramétert. A név a paramétert a parancs elhagyható. Tehát, a csapat

és nyomja meg az Enter gombot. Paraméter -Session Invoke-irányító parancs támogatja a munkamenet tárgyak használatával létrehozott New-PSSession parancsot, akkor továbbra is a következő parancs a következő:

Ez a parancs végrehajtja a parancsot Get-ChildItem gépeken Phineas Ferb és körtéből, de nem szakítja meg a kapcsolatot. Felveheti -AsJob opciót, és fut a háttérben:

Akkor tudod használni a parancsot Get-Job és fogadás-Job, hogy ellenőrizze a munka állapotát és szerezzen annak eredményeit.

Egy új megközelítés a munka

Bill Stewart ([email protected]) - rendszer és a hálózati rendszergazda francia Temetkezési, New Mexico

Ossza meg képeit barátaival és kollégáival

Kapcsolódó cikkek