Hogyan kell írni és hogyan kell futtatni a PowerShell szkripteket

A fejlett SQL Server eseményeket az SQL Server PowerShell szolgáltatóval kezelheti.   Az XEvent almappája az SQLSERVER meghajtón található.   A mappához az alábbi módok egyikével férhet hozzá.

Az XEvent mappafában megnézheti a meglévő kibővített eseményeket és a hozzájuk kapcsolódó eseményeket, célokat és predikumokat.   Például, ha CD-szekciókat ír be a PS SQLSERVER alkalmazásba: \\ XEvent \\ ServerName \\ Példánynév\u003e mappába, nyomja meg az Enter billentyűt, írja be a dir parancsot, majd nyomja meg az Enter billentyűt, megjelenik az ebben a példányban tárolt munkamenetek listája.   Azt is ellenőrizheti, hogy a munkamenet jelenleg fut-e (és ha igen, akkor mennyi ideig), és hogy a munkamenet a futó példány kezdetére van-e állítva.

A munkamenethez kapcsolódó események, predikátumok és célok megtekintéséhez megváltoztathatja a könyvtárneveket a munkamenet nevére, majd megnézheti az eseménymappát vagy a célok mappáját.   Például az alapértelmezett rendszer-állapotfigyelő munkamenethez kapcsolódó események és predikátumok megtekintéséhez a PS SQLSERVER alkalmazásban: \\ XEvent \\ ServerName \\ Példánynév \\ Munkamenetek\u003e mappába írja be a cd system_health \\ eseményeket, nyomja meg az Enter billentyűt, írja be a dir parancsot, majd nyomja meg az Enter billentyűt. .

Az SQL Server PowerShell szolgáltatója széles skáláját kínálja a speciális eseményesemények létrehozásához, módosításához és kezeléséhez.   A következő szakasz néhány egyszerű példát mutat be a PowerShell szkriptek fejlett eseményekkel történő használatára.

    A parancsfájlokat a PS SQLSERVER helyről kell futtatni: \\\u003e (ehhez írja be parancssor  sqlps).

    A szkriptek az SQL Server alapértelmezett példányát használják.

    A parancsfájlokat a PS1 kiterjesztéssel kell menteni.

    A PowerShell végrehajtási házirendjének lehetővé kell tennie a szkript végrehajtását.   A végrehajtási házirend beállításához használja a parancsmagot Set-Executionpolicy.   (További információkért írja be a get-help set-végrehajtási politika - részletek  és nyomja meg az Enter billentyűt.)

A következő szkript létrehoz egy új, „TestSession” elnevezésű munkamenetet.

#Script munkamenet létrehozásához. cd XEvent $ h \u003d gazdagépnév cd $ h # Használja az alapértelmezett példányt. $ store \u003d dir | ahol ($ _. DisplayName -ieq "alapértelmezett") $ session \u003d new-object Microsoft.SqlServer.Management.XEvent.Session -argumentlist $ store, "TestSession" $ event \u003d $ session.AddEvent ("sqlserver.file_written") $ event.AddAction ("package0.callstack") $ session.Create ()

A következő szkript hozzáadja a Csengetési puffer célt az előző példában létrehozott munkamenethez.   (Ez a példa bemutatja a módszer alkalmazását Alter.   Ne feledje, hogy csak egy munkamenet létrehozása után adhat hozzá célt.)  #Script munkamenet létrehozásához. cd XEvent $ h \u003d gazdagépnév cd $ h # Használja az alapértelmezett példányt. $ store \u003d dir | ahol ($ _. DisplayName -ieq "alapértelmezett") $ session \u003d new-object Microsoft.SqlServer.Management.XEvent.Session -argumentlist $ store, "TestSession2" $ event \u003d $ session.AddEvent ("sqlserver.file_written") # Konstruálj egy predátumot "equ_i_unicode_string (elérési út, N" c: \\ temp.log ")". $ oszlop \u003d $ store.SqlServerPackage.EventInfoSet ["file_written"]. DataEventColumnInfoSet ["path"] $ operand \u003d new-object Microsoft.SqlServer.Management.XEvent.PredOperand -argumentlist $ oszlop $ value \u003d new-object Microsoft.SqlS. Management.XEvent.PredValue -argumentlist "c: \\ temp.log" $ Hasonlítsa össze \u003d $ store.Package0Package.PredCompareInfoSet ["equal_i_unicode_string"] $ predikátum \u003d új-objektum Microsoft.SqlServer.Management.XEvent.PredFunctionExpr-arvio operandus, $ érték $ esemény.SetPredicate ($ predikátum) $ session.Create ()

Az adminisztrációban mindig van hely a kreativitásra. Szeretne automatizálni egy rutin feladatot? Kérlek! Rendszeresen ellenőriznie kell tevékenységét? Nincs kérdés! Feldolgozni szeretne egy hatalmas jelentést, és csak az aktuális adatokat jeleníti meg? Ez is lehetséges. Mindezeket és sok más feladatot a legjobban szkriptekkel lehet megoldani, a Windows esetén a PowerShell a legjobb választás.

Mi a PowerShell és mi ez jó?

A UNIX és a Linux, valamint a macOS és a MacOS felhasználói megszokták azt a tényt, hogy a Bash mindig kéznél van - egy kicsit régimódi, ám univerzális és nagy teljesítményű eszköz, amellyel csodálatos dolgokat csinálhat néhány sorral. Regisztrál egy új szkriptet a cron-ban - és kész, már fut a számítógépen vagy a szerveren, és csendesen csinál valami hasznosat.

Visszatérve a Windows rendszerhez (és néha lehetetlen nélkül), rájössz, hogy a .bat szkriptek jók, de nem mindig mentenek meg: képességeik nagyon korlátozottak. És ha még mindig azt gondolta, hogy a PowerShell ismeretlen dolog, amelyhez fel kell állítania valamit, és beállítania kell, akkor ne siess a következtetésekkel - ha úgy nézel ki, ez nagyon jó.

Windows PowerShell  - Ez egy kibővíthető automatizálási eszköz nyílt forrásokkal, amely egy shellből (parancssorból) és a szkriptnyelvből áll. Először 2003-ban mutatták be (akkor Monadnak hívták). A PowerShell 2.0 Windows 7 és Windows rendszerrel érkezett Windows szerver  2008 R2, és azóta standard komponensként van jelen a Windowsban. Még a Windows XP SP3-ban is szerepelt. A PowerShell a .NET-keretrendszerre épül és integrálva van. A PowerShell hozzáférhet a COM, WMI és ADSI rendszerekhez, és természetesen a konzol parancsokat is végrehajtja.

Általában véve a „posik” szorosan kapcsolódik a Microsoft termékekhez, legyen az Active Directory vagy Exchange levelező szerver. Ez lehetővé teszi a hozzáférést a konzolon keresztül és parancsok kiadását anélkül, hogy csatlakoznának a kiszolgáló beépülő moduljához.

Ha korábban nem érdekli a PowerShell, akkor valószínűleg van a második verzió. Azt javaslom, hogy frissítsen legalább a harmadikra \u200b\u200b- sokkal több funkciót és hasznos funkciót tartalmaz. Ha nem mész bele a részletekbe, akkor a PowerShell 2.0 körülbelül egy tucat modult és körülbelül 350 parancsot tartalmaz, a PowerShell 3.0 már körülbelül 2300 cm-es parancsot tartalmaz több mint 70 modulból. Hacker arról is írt, hogy a Windows 10 legújabb PowerShell 5-ös verziója különbözik egymástól.

Válasszon fejlesztési környezetet és eszközöket

Most kitaláljuk, hol a legkényelmesebb a kódot írni. Természetesen a Jegyzettömb, a Jegyzettömb ++ vagy a Belső részben is elérhető. De ez ebben az esetben a szerkesztő nem a leginkább kompetens választása. A legjobb, ha a csomagban élesített PowerShell-rel kezdjük.



Ez nem is szerkesztő, hanem szinte teljes fejlesztési környezet. Van egy IntelliSense funkció, amely lehetővé teszi a parancsmagok és azok paramétereinek, változóinak, segédprogramjainak és egyebek listájának megtekintését. A részletek támogatottak, a különféle kiegészítők miatt bővíthető a funkciók halmaza. Nagyon hasznos és ablakos parancsok. Parancsok összeállítása is lehetséges vizuális módban: kiválaszt egy modult, megtalálja a szükséges parancsmagot, és beállítja a szükséges paramétereket. A kapott parancs lemásolható a konzolra, vagy azonnal futtatható. Általában egyfajta konstruktor az admin számára. És természetesen van szintaxis kiemelés, hibakeresés és még sok más.

Ennek ellenére a PowerShell ISE méltó versenytársakkal is rendelkezik. Az egyik ilyen.

A PowerGUI a PowerShell vizuális kiegészítése. Megkönnyíti a saját szkriptek felépítését, mielőtt kiválasztaná a szükséges parancsmagokat. Megteszi azt, amire szüksége van a probléma megoldásához, és húzza át a kód egyes részeit, amíg meg nem kapja a szkriptet. A PowerGUI egyik fő jellemzője a Power Packs, a felhasználói közösség által közzétett és ingyenes hozzáférésre kész kész szkriptek. Vannak olyan egyszerű parancsok is, mint a felhasználók hozzáadása, és az összetett, például a kapcsolók és a virtuális gépek kezelése. Mindegyik könnyen kiegészíthető és módosítható az Ön igényei szerint.



Sapien cégek - fejlettebb környezet, amelyet egy projekt közös fejlesztésére terveztek sok  résztvevőket. Ha valaha is foglalkozott a Visual Stúdióval, akkor szerintem észreveszi a hasonlóságokat. A PowerShell Studio hasznos szolgáltatásai közé tartozik a Szalag panel, a távoli hibakeresési támogatás és a fordító funkciók, amelyek lehetővé teszik a parancsfájlok beillesztését a futtatható fájlokba. A PowerShell különféle verziói támogatottak.



Érdemes megemlíteni a Windows PowerShell ISE szkript böngészőjét. Ez nem egy fejlesztési környezet, hanem egy nagyon érdekes eszköz, amelyet a Microsoft fejlesztett ki. A Script Browser hozzáférést biztosít a kész szkriptek adatbázisához, amelyek mintákként használhatók a kód írásához. És ez a dolog azt is tudja, hogyan kell elemezni a beírt kódot, és elmondja, hogyan kell továbbfejleszteni.



Néhány hasznos trükk

Miután kitalálta a szerkesztőt, elkezdheti a kódírást. A PowerShell egy egyszerű nyelv, és azt hiszem, gyorsan kitalálhatja, mi az. Az itt szereplő parancsokat parancsmagoknak nevezzük, és mindegyik két részből áll. Először jön a művelet, például Get, Set, Add, Invoke, Remove. Ezután jelzi, hogy a művelet célja: Service, virtuális gép, AzureAccount, DHCPServerSetting. Mindegyik részt elválasztják egymástól kötőjel. Kiderült például a get-process. Egyébként ez egy hasznos parancs, amely megjeleníti a folyamatok listáját. Mondja, ha írsz

get - feldolgozza a BadTh *

látunk valami hasonlót:

Az NPM (K) PM (K) WS (K) VM (M) CPU (k) azonosítóját kezeli

------------------------

28 4 - 210844 - 201128 - 163 25,67 2792 BadThread

Most befejezheti a felfüggesztési folyamatot:

Rekurzív módon láthatja, bár egy kicsit összetettebb logikával:

Futtathat

Mellesleg, az opciók ablakának minden mezőjéhez számla  vagy számítógépen, akkor elolvashatja az adatokat. Ily módon egész szelet készíthető. Itt van például egy telefonszámokra vonatkozó adatok alapján lekérdezés:

Get - AdUser - Filter * - Tulajdonságok az OfficePhone | FT OfficePhone, UserPrincipalName

PowerShell vs. denevér

A probléma néha megoldható mind a régi nagyapa módszerével, mind a segítsen a PowerShellnek. Azt javaslom, hogy ne legyél lusta és használd a PS-t, ha csak azért, mert gyorsabban megtanulod, és bonyolultabb helyzetekben is tudod használni. Ezenkívül fokozatosan értékelni fogja annak szintaxisát - elegánsabb és következetesebb. Íme néhány példa arra, hogy a dolgok hogyan történtek korábban, és hogyan lehet ezeket megtenni a PowerShell segítségével.

A kimeneti PowerShell-parancsmagok

A PowerShell általában kimenetet generál. Az adatok kiadásához speciális Out-cmdlets (olyan parancsmagok vannak, amelyek neve Out-vel kezdődik). Amikor a végrehajtott PowerShell-parancs visszatér adatokat, akkor az átadásra kerül a Out parancsmag bemenetéhez, amely feldolgozza és továbbítja a kimeneti eszközhöz (a képernyőre, egy fájlba, egy nyomtatóhoz stb.).

Ezen parancsmagok megtekintéséhez hajtsa végre a következő parancsot:

Get-Command -Verb Out

Ki házigazda

A Out-Host parancsmag adatokat jelenít meg a képernyőn. Például:

Get-Process powerhell | Ki házigazda

Az Out-Host hozzáadása a parancs végéhez azonban nem kötelező. A csővezeték végén alapértelmezés szerint az Out-Default parancsmag található, amely mindent átirányít a Out-Host elemre. Ie az előző parancs egyenértékű a paranccsal:

Get-Process powerhell | Out-Default

ami viszont egyenértékű a paranccsal:

Get-process powerhell

Valójában a kimeneti mechanizmus még zavaróbb. Amint emlékszel, a PowerShell objektumokat eredményez. A kisméretű parancsmagok nem tudják, hogyan kell dolgozni semmilyen objektummal, de csak speciális formátumú objektumokkal, tehát amikor egy objektum érkezik, az egyik formázási parancsmag (Format- *) meghívásra kerül. A formázási parancsmag biztosítja az Out parancsmaghoz olyan formázási objektumokat, amelyek leírják a kimeneti adatok felépítését, és a Out parancsmag elküldi azokat a kívánt eszközre. Ie a parancs végrehajtásakor:

Get-process powerhell

valóban teljesíti a parancsot:

Get-Process powerhell | Formátumtáblázat | Ki házigazda


Bár az Out-Host hozzáadása a parancs végéhez opcionális, bizonyos esetekben ez kényelmes. Például van egy kulcsa. személyhívó, amellyel megszervezheti a lapozást:

Get-folyamat | Out-Host - lapozás


A Out-File parancsmag átirányítja a kimenetet a megadott fájlra, például:

Get-Process powerhell | Kihagyott proc.txt

Alapértelmezés szerint a fájlban szereplő adatok felülíródnak. Egy kulcs megadásával tagadja meg a létező fájl felülírását NoClobber, és ha adatokat kell hozzáadnia egy meglévő fájlhoz, akkor használhatja a kulcsot hozzáfűzéseamely hozzáadja az adatokat a fájl végéhez:

Get-Process powerhell | Out-File proc.txt -Apppend


A fájlhoz való kimenethez rövidített szintaxist is használhat. Például:

Get-Process powershell\u003e proc.txt

vagy a fájl végéhez adhatja hozzá:

Get-Process powershell \u003e\u003e proc.txt

Out-GridView

Az Out-GridView parancsmag grafikus táblázatok formájában jeleníti meg az adatokat, amelyben a kívánt attribútum szerint szűrhető és rendezhető. Az érthetőség kedvéért megadhat egy kulcsot címamely megjelenik a címben:

Get-folyamat | Out-GridView-Title folyamatok


A PowerShell Out-GridView harmadik verziójának elindítása támogatja a kulcsot passthru, amely lehetővé teszi a kapott adatok továbbítását a csővezeték mentén. Például megjelenítheti a folyamatok listáját, a grafikus beépülő modulban kiválaszthatja a szükséges folyamatokat, és átadhatja azokat a Stop-Process parancsmaghoz, amely leállítja a kiválasztott folyamatokat:

Get-folyamat | Out-GridView -PassThru | A folyamat leállítása


Az Out-Null parancsmag akkor használható, ha a kimenetre nincs szükség. A kapott adatokat elküldi a NULL eszköznek, azaz eltávolítja őket. Vegyük például a következő parancsot:

$ process \u003d Get-WmiObject win32_process -Filter ″ Név \u003d ′ Notepad.exe ′ ″
$ process.Terminate ()

A fő műveleten (a folyamat leállítása) túl sok felesleges információt jelenít meg. Hogy megszabaduljon tőle, küldje el a kimenetet az Out-Null-ra, például:

$ process.Terminate () | Nincs semmi

$ process.Terminate ()\u003e $ null


Az Out-String parancsmag a bemenőt karakterláncokká konvertálja. Lényegében az Out-String a PowerShell objektumokat karakterláncokká alakítja, amelyeket tovább lehet feldolgozni, mint a sima szöveget (formátum, keresés stb.).

Például levezetjük a folyamatot, mentsük el a $ a változóba, és nézzük meg az adattípust:

$ a \u003d Get-Process powerhell
  $ a.GetType ()

Ezután adjuk be az Out-String tartalmát, és mentsük el a kimenetet a $ b változóba:

$ b \u003d $ a | Out-karakterlánc
  $ b.Get-Type ()

Amint az a példából látható, a bemeneti adat típusa Process, a kimeneti típus pedig String.


Az Out-String alapvetően különbözik a többi out-cmdlectől. Mivel a szokásos parancsmagok az előző parancsok végeredményével működnek, maguk sem hoznak létre outputot. Ez az oka annak, hogy a out parancsmag általában utoljára kerül a parancssorba, mert utána semmi nem marad a csővezetékben, amellyel más parancsmagok működhetnek.

Ezzel szemben az Out-String tárgyakat vesz, átalakítja azokat húr-sorozatgá, és továbbítja azokat a csővezetéken. Alapértelmezés szerint az adatokat egyetlen sorban gyűjtik és adják vissza, de kulcs segítségével folyam  megadhatja az egyes objektumok kimenetet külön sorban.

Például felsoroljuk a rendszerszolgáltatásokat az összes tulajdonsággal és formáljuk táblázat formájában:

Get-Service | Táblázat formátuma - Tulajdonság * -AutoSize

Mivel a konzol szélessége 80 karakterre korlátozódik, az adatok nagy részét levágják, ami nem túl egészséges.


Annak érdekében, hogy ne vágja le a kimenetet, irányítsa azt egy Out-String-re, és növelje a szélességet:

Get-Service | Táblázat formátuma - Tulajdonság * -AutoSize | Out-String - 1024 szélesség

Most az összes adat a képernyőn van, de még mindig nem néz ki túl jól.


Javítsa ki a helyzetet úgy, hogy az Out-String kimenetet továbbítja a Out-File parancsmaghoz:

Get-Service | Táblázat formátuma - Tulajdonság * -AutoSize | Külső-vonalvastagság 1024 | Kihagyott service.txt fájl

A kimeneten kapunk egy fájlt a kívánt szélességű táblával, a megtekintéshez pedig van egy görgetősáv. Így szinte bármilyen szélességű táblákat hozhat létre és tekinthet meg.


Az Out-Printer parancsmag átirányítja a kimenetet egy nyomtatóra. Például:

Get-Service | Táblázat formátuma - Tulajdonság * -AutoSize | Out-File service.txt - 1024 szélesség
Get-Content service.txt | Kimeneti nyomtató

A kimenetet az alapértelmezett nyomtatóra küldi a rendszer. A gomb segítségével alternatív nyomtatót is megadhat. név.

2010.1.10. - Xaegr

Nemrég találkoztam ezzel a hozzászólással. Ez néhány érdekes példát mutat be. "Mint Perlben, egy vagy két kódsor több mint tíz sort is képes végrehajtani más programozási nyelven"  😉 Nekem úgy tűnt, érdekes lenne összehasonlítani, hogy ezek a példák hogyan néznek ki a PowerShell-en. Most És ami a legfontosabb: hasznos lehet azok számára, akik már ismerik Perlt, de most a PS-t tanulják.

Mint tudod, a PowerShell egy nagyon fiatal nyelv, és természetesen más nyelvek sok elemét örökölte, és ezért bizonyos helyeken sokhoz hasonló. Gyakran hallom olyan mondatokat, mint például: „Ó, ellopták a PHP-t!” És „Ez C # egyszerűbb szintaxissal” a PowerShell-kódról. De véleményem szerint a PowerShell leginkább Perlhez hasonló. Ez nem meglepő - Perl volt a PS szerzőinek egyik kedvenc nyelve, és ez nagyszerű - a PS jó tulajdonságainak sok jót köszönhetünk a Perlnek.

A szupersztár, Larry Wall és a Perl kalapjai nagyon kevés olyan embernek és technológiának, akiknek a (pozitív 🙂) szintű hatása volt ezekre az iparra. A világ jobb hely, mert az a fickó született!

Ez kifogás volt 😉 Most menjünk tovább a kódhoz 🙂

Azonnal el kell mondanom - számomra úgy tűnik, hogy ez csak egy jó választás, sok példát sokkal rövidebb ideig tudtam rögzíteni a PS-n, és ami a legfontosabb - érthetőbben (szubjektív módon, természetesen 🙂). Olyan sok területen a Perl könnyedén előtérbe helyezheti a PowerShell-et a kompakt kód szempontjából, talán ezeknek a Perl-példáknak néhányát is sokkal szebb módon lehet írni, tehát örülnék, ha Perl-t ismerő emberek hagyják el építő jellegű megjegyzéseiket 🙂

Csak a leírásokat idézem, a Perl-kód az eredeti üzenetben található.

1. Ellenőrizze, hogy az elem (a függvény első argumentuma, érték szerint átadva) létezik-e a tömbben (a függvény második argumentuma, referenciaként átadva).

# A beépített tartalom nyilatkozatot tartalmaz  $ array - tartalmaz $ elemet

2. Távolítsa el a @arr tömbből azokat az elemeket, amelyek a @skip tömbben vannak.

# Kérdőjel - álnév hol  $ arr | ? ($ skip -nem tartalmaz $ _)

A 3. pont helyett egy gyönyörű (szubjektív szempontból természetesen 😉) szűrőt írtam:

   szűrő Csere-szavak (foreach ($ arg a $ args-ban) ($ pair \u003d $ arg. split ("\u003d", 2) # Jelentkezzen be az érvet 2 részre   $ _ \u003d $ _ - cserélje ki a $ pair [0], $ pair [1] # Cserélje ki az eseményeket egy karakterláncban } $_ # A kapott húrot előállítjuk }

Használjon például így:

   $ text \u003d Get-Content. \\ test1.txt $ text | Cserélje-szavak rossz \u003d jó alma \u003d körte  | Set-Content. \\ Test1.txt

4. Sorolja fel a fájlok és könyvtárak nevét az adott könyvtárba, az utolsó hozzáférés dátuma szerint rendezve. A földgömbök általában a listát fájl és könyvtár neve szerint rendezik. Az utolsó módosítás dátuma szerinti rendezéshez cserélje ki a 8-as számot 9-re.

Valószínűleg mindenki hallott a PowerShellről, de valószínűleg nem mindenkinek volt lehetősége dolgozni vele. Azok számára, akik csak most kezdik eljutni a PowerShell dzsungelébe, adunk egy fordítást egy, a 4sysops.com webhelyen közzétett bejegyzésnek. 7 parancsról beszél, amelyek segítenek azoknak, akik éppen megkezdték a PowerShell használatát. Részletek - üdvözöljük a macskában.

GET-HELP

A legelső és legfontosabb PowerShell-parancsmag a segélyhívás. A Get-Help parancsmag segítségével ellenőrizheti a szintaxist, megtekintheti a használati példákat és a PowerShell-parancsmagok paramétereinek részletes leírását. Ez a parancsmag figyelemre méltó az a tény, hogy egyszerűen beírhatja a Get-Help Services szolgáltatást, hogy megkapja az összes, a szolgáltatásokkal való együttműködésre alkalmas parancsmag listáját.
  Példa:
  PS C: \\\u003e Get-Help szolgáltatás

Bármely parancsmagot kiválaszthat a fenti kérés által megjelenített listából, hogy segítséget kapjon róla. Például
  PS C: \\\u003e Get-Help -Név Get-Service
  Minden információt megkap a Get-Service-parancsmagról (később tárgyaljuk).


GET-Content

  A fájlok tartalmának olvasása a PowerShell elsajátítását próbáló kezdők leggyakoribb követelménye. A fájlok olvasása a PowerShell használatával egyszerűsödik. Még egy laikus is el tudja olvasni a fájl tartalmát, ha azt átadja a Get-Content parancsmaghoz.
  Egy példa.
  PS C: \\\u003e Get-Content C: \\ szkriptek \\ Computers.txt mytestpc1 techibee.com dummynotresolvinghost.com PS C: \\\u003e

További információra van szüksége a parancsmagról? Használja a Get-Help alkalmazást:
  PS C: \\\u003e Get-Help Get-Content - Részletesen

GET-SERVICE

  Ez a parancsmag felsorolja a számítógépre telepített összes szolgáltatást. Segítségével információt szerezhet egy adott szolgáltatásról, szolgáltatáskészletről vagy csak a számítógépen található összes szolgáltatásról.
  Példa:
  PS C: \\\u003e Get-Service wwansvc, spooler Állapotnév DisplayName ------ ---- ----------- Spooler futtatása Spooller futtatása leállt wwansvc WWAN AutoConfig PS C: \\\u003e



  Itt információt kértünk a wwansvc és a spooler két szolgáltatásról
  Megjelenik a szolgáltatás állapotát, nevét és megjelenítési nevét tartalmazó táblázat.
  Láthatjuk, hogy a spool-szolgáltatás fut, és a wwansvc le van állítva

SZOLGÁLTATÁS ÉS SZOLGÁLTATÁS

  A szolgáltatások indítása és leállítása nagyon fontos szempont a munka során windows rendszergazda. A PowerShell beépített parancsmagokkal rendelkezik, amelyek egyszerűsítik az adminisztrátorok munkáját anélkül, hogy meg kellene nyitniuk az MMC-t. Ezekkel a parancsmagokkal leállíthatja / elindíthatja a szolgáltatásokat mind a helyi, mind a távoli számítógépeken.
  példák:
A szolgáltatás indítása / leállítása a helyi számítógépen (a spool-szolgáltatás példaként történő használata):
  PS C: \\\u003e Stop-Service -Név Spooler PS C: \\\u003e Start-Service -Name Spooler

A szolgáltatás indítása / leállítása bekapcsolva távoli számítógép  (Kezelő):
  PS C: \\\u003e $ ServiceObj \u003d Get-Service -ComputerName MyPC1 -Név-spooler PS C: \\\u003e Stop-Service -InputObj $ ServiceObj PS C: \\\u003e Start-Service -InputObj $ ServiceObj

GET-ELJÁRÁS

  Ez a parancsmag megtudja, mely folyamatok futnak a helyi vagy távoli számítógépeken. Megjelenik a név és a folyamat azonosítója, valamint a végrehajtható fájl elérési útja, a vállalat neve, a végrehajtható fájl verziója és a folyamat által használt memória.
  példák:
Információ beszerzése a helyi számítógépen futó folyamatokról:

PS C: \\\u003e Get-Process


Írja be a következő parancsmagot, hogy részletes információkat kapjon a futó folyamatokról
  PS C: \\\u003e Get-Process | Format-List * -Force

Információ beszerzése a távoli számítógépen futó folyamatokról:
  PS C: \\\u003e Get-Process -ComputerName MYPC1 | Format-List * -Force

A MYPC1-et ki kell cserélni annak a számítógépnek a nevére, ahonnan információt szeretne kapni a futó folyamatokról.

STOP-ELJÁRÁS

  Ez a parancsmag leállítja a folyamatot egy helyi vagy távoli számítógépen. Nevet vagy folyamat azonosítót vesz igénybe, és leállítja a folyamatot. Ez akkor hasznos, ha az alkalmazás nem válaszol.
  Példa:
Állítsa le a folyamatot az ID 22608 azonosítóval a helyi számítógépen:
  PS C: \\\u003e Stop-Process -Id 22608
Állítsa le az összes Excel folyamatot a helyi számítógépen:
  PS C: \\\u003e Stop-Process -név excel

tanács: Noha a Stop-Process parancsmag nem rendelkezik -ComputerName paraméterrel, továbbra is felhasználhatja a távoli folyamatok lezárására az alábbi javaslat segítségével:
  PS C: \\\u003e $ Obj \u003d Get-Process -Név excel -Számítógépnév MYPC1 PS C: \\\u003e Stop-Process -InputObject $ Obj

UPD:
  A bejegyzés a portálról szóló cikk fordítását nyújtja