18Aug
Az objektumok megértése az egyik legfontosabb fogalom a "Get" PowerShell számára. Csatlakozzon hozzánk, miközben tárgyakat tárunk fel, és hogyan teszik a PowerShellet jobbra, mint bármely más kagyló ma.
Olvassa el a sorozatban szereplő korábbi cikkeket:
- Ismerje meg a Windows automatizálását a PowerShell segítségével
- A PowerShell
-ben lévő cmdletek használatának tanulása A hét minden részében maradjon hangolva.
Tárgyak
Elgondolkodott már arról, hogy mi állítja a PowerShell-et, mint egy hagyományos Linux shell, mint például a Bash, vagy akár a régi parancssori prompt? A válasz nagyon egyszerű: a hagyományos kagyló kimeneti szövege, ami megnehezíti a formázáshoz és a szűréshez hasonló dolgokat. Természetesen vannak olyan eszközök, amelyek segítenek abban, hogy megkapja a munkát( a sed és a grep eszébe jut), de a nap végén, ha bármilyen nehéz szöveget szeretne feldolgozni, ismernie kell a rendszeres kifejezéseket, mint aa kezed hátán.
A PowerShell kihasználja az alapul szolgáló. Net keretrendszert, és más megközelítést alkalmaz, objektumok helyett szövegeket használ. Az objektumok csak egy ábrázolást jelentenek valaminek. Ezek azok a részek és cselekvések gyűjteményei, amelyek felhasználhatók. Vessünk egy pillantást a kerékpár alkatrészeire, és hogyan használjuk őket.
A. Net objektumok ugyanolyanok, mint két apró különbség: az "Alkatrészek" tulajdonságok és az "utasítások" módszerek .Ha egy Windows szolgáltatás objektumként szeretnénk képviselni, úgy döntenénk, hogy három tulajdonsággal kell leírni: Service Name, State and Description. A szolgáltatással is kölcsönhatásba kell lépnünk, így az objektumot Start, Stop és Pause módszerrel adhatjuk meg.
Az objektum tulajdonságait és módszereit megtekintheti a Get-Member cmdlet használatával. Az olyan objektumok, amelyeket egy PowerShell cmdlet kimenetek nagyrészt alapulnak a. Net keretrendszer típusai, de létrehozhat saját objektumokat, ha olyan nyelvet szeretne használni, mint a C # vagy a PSObject típusát.
A csővezeték
Rengeteg Linux csomópontú héj található, amely lehetővé teszi, hogy elküldjük a szöveget, amelyet egy parancs kimenetként adja hozzá a következő parancshoz. A PowerShell ezt a következő szintre emeli, lehetővé téve, hogy az egyik cmdlet által kiadott objektumokat adja át, és adja át őket a következő parancsmagba. A trükk tudni fogja, hogy milyen típusú objektum található a cmdlet, ami nagyon könnyű a Get-Member cmdlet használatakor.
Get-Service |Get-Member
Ennek a cikknek a határain kívül eső okokból a tulajdonságokat és a módszereket közösen osztálytagoknak hívják, ami megmagyarázza, hogy miért használja a Get-Member cmdletet egy objektum összes metódusának és tulajdonságának listájához. A Get-Member cmdlet ugyanakkor egy másik fontos információt, az objektumot is tartalmaz. A fenti képernyőképen láthatjuk, hogy a Get-Service a következő típusokat viszi vissza:
System. ServiceProcess. ServiceController
Mivel a PowerShell objektumokkal foglalkozik, és nem szöveggel, nem minden cmdlet kapcsolható össze a csővezetéken keresztül [1].Ez azt jelenti, hogy meg kell találnunk egy cmdletet, amely elfogadja a System. ServiceProcess. ServiceController objektumot a csővezetékből.
Get-Command -ParameterType System. ServiceProcess. ServiceController
Figyeld meg, hogy van egy cmdlet nevű Stop-Service;vessünk egy pillantást a segítségre.
Get-Help -Name Stop-Service
Úgy tűnik, hogy az InputObject paraméter bevitelként töltötte be a ServiceController objektumokat.Általában, ha egy InputObject nevű paramétert lát, elfogadja a Pipeline bemenetet, de csak azért, hogy biztosan vessünk egy pillantást az adott paraméter teljes segítségére.
Get-Help -Name Stop-Service-teljes
A gyanúink helyesek voltak. Tehát ezen a ponton tudjuk a következőket:
- Get-Service visszaadja a ServiceController objektumokat
- A Stop-Service egy InputObject nevű paraméter, amely bemenetként egy vagy több ServiceControllert fogad be.
- Az InputObject paraméter elfogadja a csővezeték bemenetet.
Ezen információk felhasználásával a következőket tehetjük:
Get-Service -Name "Apple Mobile Device" |Stop-Service
Ez az egész ebben az időben emberek. Legközelebb nézzük meg, hogyan formázhatjuk, szűrhetjük és összehasonlíthatjuk a csővezetékben lévő tárgyakat.
Házi feladat
- Olvassa el az Object Pipeline
Ha bármilyen kérdése van, küldj nekem @taybgibb-et, vagy hagyj egy megjegyzést.