10Aug

Geek Iskola: A PowerShellben található cmdletek használatának elsajátítása

click fraud protection

Ha az ipconfig vagy a ping parancsot használta a parancssorban, akkor félúton lesz PowerShell ninja.Így jöjjön és csatlakozzon hozzánk, miközben felfedezzük a cmdleteket a Geek Iskola telepítésében.

Mindenképpen nézze meg az első cikkünket a PowerShell bemutatásával kapcsolatban, és egész héten maradjon a többi sorozatunkon.

Az

cmdlet anatómiája A sorozat első részében egy cmdletet láttunk, amely így néz ki:

Update-Help

A PowerShell cmdleteknek Verb-Noun szintaxisa van, ami fent látható.Fontos megjegyezni, hogy a főnév mindig egyedülálló, habár a cmdlet több eredményt eredményezhet. A PowerShellben található jogi igék listájának megtekintéséhez használhatja a Get-Verb cmdletet.

A jogi igék ismerete és az egyszemélyes főregényre való emlékezés valóban segít a cmdlet nevének kitalálásában. Például tegyük fel, hogy -t szeretnénk -nek beszerezni az szolgáltatások listáját és azok állapotát - ez így van, olyan egyszerű, mint a Get-Service. Szerinted mi -t kapnánk az folyamatok listáját - ez így van, a Get-Process megteszi a trükket.

instagram viewer

Get-Process

Ez nagyon egyszerűen működik bármilyen technológiával. Ha például betöltötte az Exchange-cmdleteket, könnyen megkaphatjuk a postaládák listáját a kiszolgálón:

Get-Mailbox

Van azonban kivétel. A cserét félretéve, minden más technikai specifikus parancsra előtagra van szükség. Például, ha szeretnénk elérni azokat a felhasználókat, akik jelenleg bejelentkeznek a Távoli asztalon keresztül, írjuk be:

Get-RDUserSession

Az alábbi képernyőképen látható.

Megjegyzés: Ez a képernyőkép egy Server 2012 dobozon készült, mivel ott találja a legtöbb technológiai modulot.

Egész idővel egy cikket olvastam Don Jones, a PowerShell keresztapja, ahol elmagyarázta, hogy az Exchange elküldött, mielőtt ezt az előtagot hozzáadta a cmdlethez, ezért soha nem hajtotta végre őket, és soha nem fog.

Aliases

A PowerShell másik funkciója az, hogy többféle módon futtathatja ugyanazokat a parancsokat - aliasokat, ha akarod. Az a félelmetes dolog, hogy ezek tartalmazzák a parancssorban számos parancsot, valamint néhány Linux aliasot. Például a PowerShell-ben a következőket használhatjuk:

Get-ChildItem

A parancssor használatához használt? Ne aggódj, ők fedettek.

Van egy Linux háttér? Ott fedeztek is ott.

Ha pár éve szkripteltél, hajlamos lustavá válni, és nagyon sokat kezdesz használni az aliasokat, de ez nem segít az újonnan érkezőknek, akik el fogják olvasni a kódot. Ha látni szeretnéd, hogy az álnév alatt melyik parancsot használják, használhatja az alábbiakat:

Get-Alias-nevek

Ha viszont úgy érzi, hogy ideje felállni a játékot, akkor a definíciós paramétert használhatjaaz összes álnév a cmdlethez:

Get-ChildItem-Definiálás Get-ChildItem

Ha más háttérből származik, akkor a következő álneveket adhatja hozzá:

New-Alias ​​-Name icanhazfilez -Value Get-ChildItem

Nyilvánvaló,a "icanhazfilez" nevet az új alias és a Get-ChildItem nevével kell kicserélni a parancsmaggal, amellyel a fedél alatt kell futnia.

Egy dolog megjegyezni, hogy minden olyan álnevet elveszít, amelyet a shell bezárásakor definiált. Ezzel megkerülheti a definíciót a profilszkripthez.

csonkolási paraméterek

A Windows PowerShell lehetővé teszi a paraméternevek csonkolását mindaddig, amíg nem válik kétértelművé, vagyis addig a pontig, amíg a PowerShell már nem tudja meghatározni, hogy melyik paraméterről beszél. Például:

Get-Service -Name "Apple Mobile Device" -KomputerName localhost

Ugyanaz, mint:

Get-Service -A "Apple Mobile Device" -Com localhost

Ha véletlenül a paraméterek nevek túlságosan egyértelműekhibát fog kapni.

Legacy parancsok

Végül a PowerShell-ben továbbra is működnek a parancsok, amelyeket ismer és szeret.

ping www.google.com

Csak emlékezz arra, hogy az örökölt alkalmazások, például a ping kimenet egy karakterláncot tartalmaznak, és gyakran van egy jobb módja annak, hogy ugyanazt a dolgot használják a PowerShell cmdlet használatával.

A hosszú szövegszerkesztés helyett egy objektum marad, amelyet a Geek School holnapi kiadásában fogunk megnézni.