mi a PowerShell?
- 05/22/2020
- 5 perc olvasni
-
- j
- s
- s
a PowerShell egy cross-platform automatizálás, valamint a konfigurációs menedzsment keretrendszer, amely egy parancssori váz parancsnyelv. Ellentétben a legtöbb kagyló, amely elfogadja és vissza szöveget, PowerShell épül a tetején a. net Common Language Runtime (CLR), és elfogadja és visszatér .NETobjects., Ez az alapvető változás teljesen új eszközöket és módszereket hoz az automatizáláshoz.
A kimenet objektum alapú
a hagyományos parancssori interfészekkel ellentétben a PowerShell parancsmagokat úgy tervezték, hogy foglalkozzanak objects.An objektum strukturált információ, amely több, mint a karakterlánc megjelenő thescreen. Parancs kimenet mindig hordoz extra információt, hogy tudja használni, ha szüksége van rá.
Ha a múltban szövegfeldolgozó eszközöket használt az adatok feldolgozásához, akkor azt fogja találni, hogy a PowerShellben való használat során nem megfelelően viselkednek., A legtöbb esetben nincs szükség szövegfeldolgozó eszközökre a konkrét információk kinyeréséhez. Az adatok egy részét közvetlenül a standard PowerShell objectsyntax segítségével érheti el.
A parancscsalád bővíthető
interfészek, mint például a cmd.exe
ne adjon módot a beépített parancskészlet közvetlen kiterjesztésére. Létrehozhat külső parancssori eszközöket, amelyek a cmd.exe
alatt futnak. De ezeknek a külső eszközöknek nincs olyan szolgáltatása, mint például a Help integration. cmd.exe
nem tudja automatikusan, hogy ezek a külső eszközök érvényes parancsok.,
a PowerShell parancsok cmdlets néven ismertek. Minden cmdlet külön-külön használható, de őkerő akkor valósul meg, ha összetett feladatokat hajt végre. Mint sok kagyló, a PowerShell is adelérést biztosít a számítógép fájlrendszeréhez. A PowerShell szolgáltatók lehetővé teszik, hogy hozzáférjen másokhozadatboltok, például a rendszerleíró adatbázis vagy a tanúsítványtárolók, olyan könnyen, ahogy hozzáfér a fájlrendszerhez.
saját parancsmagot és funkciómodulokat hozhat létre lefordított kód vagy szkriptek segítségével. A modulok kiegészíthetik a shell-tmdletekkel és szolgáltatókkal., A PowerShell támogatja az UNIXshell szkriptek és a cmd.exe
kötegelt fájlokhoz hasonló szkripteket is.
támogatása parancs álnevek
PowerShell támogatja álnevek hivatkozni parancsok alternatív nevek. Az Aliasing lehetővé teszi a felhasználók számáratapasztalat más kagylókban, hogy olyan közös parancsneveket használjanak, amelyeket már ismertek a Hasonlóhozoperációk PowerShellben.
az Aliasing új nevet társít egy másik parancshoz. Például a Powershellnek van egy belsőfunkciója Clear-Host
, amely törli a kimeneti ablakot., A cls
vagyclear
alias parancsot parancssorba írhatja be. A PowerShell értelmezi ezeket az álneveket, és aClear-Host
függvényt futtatja.
Ez a funkció segít a felhasználóknak megtanulni PowerShell. Először is, a legtöbb cmd.exe
és a Unix-felhasználóknak nagyobb a parancsok száma, amelyeket a felhasználók már név szerint ismernek. A PowerShell ekvivalensek nem termelhetnekfüggőleges eredmények. Az eredmények azonban elég közel vannak ahhoz, hogy a felhasználók a thePowerShell parancs nevének ismerete nélkül dolgozhassanak., Az “izommemória” a frusztráció másik fő forrása az új tanulás soránkommand shell. Ha évek óta használja a cmd.exe
parancsot, akkor reflexíven írja be a cls
parancsot. A Clear-Host
alias nélkül hibaüzenetet kap, és nem fogja tudni, mit kell tennie a kimenet törléséhez.
A PowerShell kezeli a konzol bemenetét, és a
parancs beírásakor a PowerShell mindig közvetlenül feldolgozza a parancssori bemenetet. A powershellalformázza a képernyőn megjelenő kimenetet is., Ez a különbség azért jelentős, mert ezcsökkenti az egyes cmdletekhez szükséges munkát. Ez biztosítja, hogy mindig ugyanúgy csinálhassa a dolgokatbármilyen cmdlettel. A Cmdlet fejlesztőknek nem kell kódot írniuk a parancssori argumentumok elemzéséhez vagyformálja a kimenetet.
a hagyományos parancssori eszközöknek saját rendszereik vannak a segítség kérésére és megjelenítésére. Néhány command-line eszköz a/?
– t használja a Súgó megjelenítésének elindításához; mások a-?
,/H
, vagy akár//
., Néhányan segítséget jelenítenek meg a GUI ablakban, nem pedig a konzol kijelzőjén. Ha thewrong paramétert használ, előfordulhat, hogy az eszköz figyelmen kívül hagyja, amit gépelt, majd automatikusan elkezdi végrehajtani a feladatot.Mivel a PowerShell automatikusan elemzi és feldolgozza a parancssort, a -?
paraméter mindigazt jelenti, hogy”Mutass nekem segítséget ehhez a parancshoz”.
Megjegyzés
Ha Grafikus alkalmazást futtat PowerShellben, megnyílik az alkalmazás ablaka.A PowerShell csak akkor lép közbe, ha feldolgozza a megadott parancssori bemenetet, vagy az applicationoutput visszatért a konzol ablakába., Nem befolyásolja az alkalmazás belső működését.
PowerShell van egy csővezeték
csővezetékek vitathatatlanul a legértékesebb fogalom használt parancssori interfészek. Ha megfelelően használják, a csővezetékek csökkentik a komplex parancsok használatának erőfeszítéseit, és megkönnyítik a munkafolyamat látását. A csővezeték minden parancsa átmegy a kimeneten, elemenként, a következő parancsra. Commandsdon nem kell kezelni több elem egy időben. Az eredmény csökken az erőforrás-fogyasztás ésaz a képesség, hogy azonnal kimenetet kapjon.,
a csővezetékekhez használt jelölés hasonló a más héjakban használt jelöléshez. Első pillantásra eznem lehet nyilvánvaló, hogy a csővezetékek mennyire különböznek a PowerShellben. Bár a képernyőn megjelenik a szöveg, a PowerShell objektumokat, nem szöveget csövez a parancsok között.,
például, ha a Out-Host
cmdlet-et használja a kimenetek oldalonkénti megjelenítésének kényszerítéséreegy másik parancs, a kimenet ugyanúgy néz ki, mint a képernyőn megjelenő normál szöveg, bontva intopages:
Get-ChildItem | Out-Host -Paging
Lapozás csökkenti a CPU kihasználtságát is, mivel a feldolgozás a Out-Host
cmdlet, amikor egy teljes oldal készen áll a megjelenítésre. A csővezetékben azt megelőző parancsmagok szüneteltetik a végrehajtástamíg a következő kimeneti oldal elérhető.,
objektumok a csővezetékben
ha parancsmagot futtat PowerShellben, akkor szöveges kimenetet lát, mert a konzolablakban szövegként kell megjeleníteni a objektumokat. Előfordulhat, hogy a szöveges kimenet nem jeleníti meg a kimeneti objektum összes tulajdonságát.
például vegye figyelembe aGet-Location
cmdlet értéket. A szöveges kimenet az információk összefoglalása, nem pedig a Get-Location
által visszaküldött objektum teljes ábrázolása. A kimenet fejlécét hozzáadjákaz a folyamat, amely formázza a képernyőn megjelenő adatokat.,
Get-Location
Path----C:\
Get-Member
cmdlet információkat jelenít meg aGet-Location
által visszaküldött objektumról.
Get-Location | Get-Member
Get-Location
visszaad egy pathinfo objektumot, amely tartalmazza az aktuális elérési utat és egyéb információkat.
beépített súgórendszer
hasonló a Unix man
oldalakhoz, a PowerShell részletes súgócikkeket tartalmaz, amelyek magyarázzák a Powershellconcepteket és a parancsszintaxist., A Get-Help parancsmag segítségével jelenítheti meg ezeket a cikkeket a commandprompt-ban, vagy megtekintheti a cikkek legfrissebb verzióit a PowerShell dokumentációbanonline.
Ha többet szeretne megtudni PowerShell, lásd a Learning PowerShell részben ezen az oldalon.