Geek School: A PowerShell objektumainak használata

Tartalomjegyzék:

Geek School: A PowerShell objektumainak használata
Geek School: A PowerShell objektumainak használata

Videó: Geek School: A PowerShell objektumainak használata

Videó: Geek School: A PowerShell objektumainak használata
Videó: La Educación Prohibida - Película Completa HD Oficial 2024, Lehet
Anonim
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.
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ő cikkeket:

  • További információ a Windows PowerShell automatizálásáról
  • A PowerShell-ben található cmdletek használatának elsajátítása

És egész héten maradjon a sorozatban.

tárgyak

Elgondolkodott már arról, hogy mi határozza meg a PowerShell-t, 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 a a 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.

Image
Image

A.Net objektumok ugyanolyanok, mint két apró különbség: az "Alkatrészek" nevezik tulajdonságok és az "utasításokat" nevezik mód. 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.
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óhéj található, amelyek lehetővé teszik, 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

A cikk 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, hogy megkapja az objektum összes metódusának és tulajdonságának listáját. 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 visszaküldi a típusú objektumokat:
A cikk 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, hogy megkapja az objektum összes metódusának és tulajdonságának listáját. 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 visszaküldi a típusú objektumokat:

System.ServiceProcess.ServiceController

Mivel a PowerShell objektumokkal és nem szöveggel foglalkozik, 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

Vegyük észre, hogy van egy cmdlet nevű Stop-Service; vessünk egy pillantást a segítségre.
Vegyük észre, hogy van egy cmdlet nevű Stop-Service; vessünk egy pillantást a segítségre.

Get-Help –Name Stop-Service

Úgy néz ki, hogy az InputObject paraméter bevezeti a ServiceController objektumok tömbjét. Á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.
Úgy néz ki, hogy az InputObject paraméter bevezeti a ServiceController objektumok tömbjét. Á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 –Full

Gyanúink helyesek voltak. Tehát ezen a ponton tudjuk a következőket:
Gyanúink helyesek voltak. Tehát ezen a ponton tudjuk a következőket:
  • A 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.
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-t

Ha bármilyen kérdése van, küldj nekem @taybgibb-et, vagy hagyj egy megjegyzést.

Ajánlott: