Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A PowerShell egy parancssori rendszerhéj és egy szkriptnyelv. A PowerShell a Windowson indult el, hogy megkönnyítse a felügyeleti feladatok automatizálását. Most platformfüggetlen, és különböző feladatokhoz használható.
A PowerShell egyedivé teszi, hogy szöveg helyett .NET-objektumokat fogad el és ad vissza. Ez a funkció megkönnyíti a különböző parancsok csatlakoztatását egy folyamatban.
Mire használható a PowerShell?
A PowerShell kezdetben csak Windows rendszerű volt. Most már platformfüggetlen, és különböző feladatokhoz használható, például:
- Felhőfelügyelet. A PowerShell a felhőbeli erőforrások kezelésére használható. Lekérheti például az információkat, frissítheti vagy üzembe helyezheti az új erőforrásokat.
- CI/CD. A folyamatos integrációs/folyamatos üzembehelyezési folyamat részeként is használható.
- Az Active Directory és az Exchange feladatainak automatizálása. Ezzel szinte bármilyen feladatot automatizálhat Windows rendszeren, például felhasználókat hozhat létre az Active Directoryban és postaládákat az Exchange-ben.
Ki használja a PowerShellt?
A PowerShell egy hatékony eszköz, amely számos szerepkörben dolgozó felhasználóknak nyújt segítséget. A PowerShellt hagyományosan a rendszergazdák használták. Most már a DevOpsnak, a Cloud Opsnek és még a fejlesztőknek is nevező felhasználók használják.
PowerShell-parancsmagok
A PowerShell több száz előre telepített parancsot tartalmaz. A PowerShell-parancsokat parancsmagoknak nevezzük (ejtsd: command-lets).
Az egyes parancsmagok neve egy Verb-Noun párból áll. Például: Get-Process. Ez az elnevezési konvenció megkönnyíti a parancsmagok megértését. Emellett megkönnyíti a keresett parancs megkeresését is. Ha használni kívánt parancsmagot keres, szűrhet az igére vagy a főnévre.
Parancsmagok használata a PowerShell megismeréséhez
Amikor először veszi fel a PowerShellt, az ijesztőnek tűnhet, mivel úgy tűnik, hogy annyira tanulni kell. A PowerShell úgy lett kialakítva, hogy segítsen egy kicsit egyszerre tanulni, ahogy szüksége van rá.
A PowerShell olyan parancsmagokat tartalmaz, amelyek segítenek a PowerShell felderítésében. A három parancsmag használatával megtudhatja, hogy milyen parancsok érhetők el, mit tesznek, és milyen típusokon működnek.
-
Get-Verb. A parancs futtatása azoknak az igéknek a listáját adja vissza, amelyeket a legtöbb parancs betart. A válasz tartalmazza ezeknek az igéknek a leírását. Mivel a legtöbb parancs ezt az elnevezési konvenciot követi, elvárásokat támaszt a parancsok végrehajtásával kapcsolatban. Ez a parancs segít kiválasztani a megfelelő parancsot, és hogy mit nevezhet el egy parancsnak saját parancsok létrehozásakor. -
Get-Command. Ez a parancs lekéri a számítógépre telepített összes parancs listáját. -
Get-Member. Objektumalapú kimeneten működik, és képes felderíteni, hogy milyen objektumok, tulajdonságok és metódusok érhetők el egy parancshoz. -
Get-Help. A parancs argumentumként való meghívása egy parancs nevével egy súgóoldalt jelenít meg, amely a parancs különböző részeit ismerteti.
Ezekkel a parancsokkal szinte bármit felfedezhet, amit tudnia kell a PowerShellről.
Parancs
Az ige a PowerShell egyik fontos fogalma. Ez egy elnevezési szabvány, amelyet a legtöbb parancsmag követ. Ez egy elnevezési szabvány is, amely a saját parancsok írásakor várható. Az ötlet az, hogy az Igét mondja ki, hogy mit próbál tenni, például olvasni vagy esetleg módosítani az adatokat. A PowerShell az igék szabványosított listáját tartalmazza. Az összes lehetséges igék teljes listájának lekéréséhez használja a Get-Verb parancsmagot:
Get-Verb
A parancsmag az igék hosszú listáját adja vissza. A leírás kontextust biztosít az ige rendeltetéséhez. A kimenet első néhány sora a következő:
Verb AliasPrefix Group Description
---- ----------- ----- -----------
Add a Common Adds a resource to a container, or attaches an item to another item
Clear cl Common Removes all the resources from a container but does not delete the container
Close cs Common Changes the state of a resource to make it inaccessible, unavailable, or unusab…
Copy cp Common Copies a resource to another name or to another container
Enter et Common Specifies an action that allows the user to move into a resource
Exit ex Common Sets the current environment or context to the most recently used context
...
Parancsok keresése Get-Command
A Get-Command parancsmag a rendszeren telepített összes elérhető parancs listáját adja vissza. A lista nagy lehet. A válasz paraméterek vagy segéd parancsmagok használatával történő szűrésével korlátozhatja a visszaadandó információk mennyiségét.
Név szűrése
Különböző paraméterekkel szűrheti a kimenetet Get-Command . A szűrés lehetővé teszi bizonyos tulajdonságokkal rendelkező parancsok keresését. A Név paraméterrel név szerint kereshet meg egy adott parancsot.
Get-Command -Name Get-Process
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Get-Process 7.0.0.0 Microsoft.PowerShell.Management
Mi a teendő, ha meg szeretné találni a folyamatokkal működő összes parancsot? A sztring más formáihoz helyettesítő karaktert * is használhat. Például:
Get-Command -Name *-Process
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Debug-Process 7.0.0.0 Microsoft.PowerShell.Management
Cmdlet Get-Process 7.0.0.0 Microsoft.PowerShell.Management
Cmdlet Start-Process 7.0.0.0 Microsoft.PowerShell.Management
Cmdlet Stop-Process 7.0.0.0 Microsoft.PowerShell.Management
Cmdlet Wait-Process 7.0.0.0 Microsoft.PowerShell.Management
Szűrés főnévre és igére
Vannak más paraméterek is, amelyek az igére és a főnévre szűrnek. A parancs nevének igerésze a bal szélső rész. Az igének a parancsmag által visszaadott Get-Verb értékek egyikének kell lennie. A parancsok jobb szélső része a főnév. A főnév bármi lehet.
Szűrés az igére. A parancsban
Get-Processaz igerész a következőGet. Az igerészre való szűréshez használja az Ig paramétert.Get-Command -Verb 'Get'Ez a példa felsorolja az összes parancsot, amely az igét
Gethasználja.Szűrjön főnévre. A parancsban
Get-Processa főnév a következőProcess. A főnévre való szűréshez használja a Főnév paramétert. Az alábbi példa az összes főnévvel rendelkező parancsmagot adja vissza a betűvel kezdődőenU.Get-Command -Noun U*
A paraméterek kombinálásával szűkítheti a keresést, például:
Get-Command -Verb Get -Noun U*
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Get-UICulture 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet Get-Unique 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet Get-Uptime 7.0.0.0 Microsoft.PowerShell.Utility
Találatok szűrése segítő parancsmagokkal
Az eredmények szűréséhez más parancsmagokat is használhat.
Select-Object. Ez a sokoldalú parancs segít kiválasztani egy vagy több objektum adott tulajdonságait. A visszakapott elemek számát is korlátozhatja. Az alábbi példa az aktuális munkamenetben elérhető első 5 parancs Név és Forrás tulajdonságértékeit adja vissza.Get-Command | Select-Object -First 5 -Property Name, SourceName Source ---- ------ Add-AppPackage Appx Add-AppPackageVolume Appx Add-AppProvisionedPackage Dism Add-AssertionOperator Pester Add-ProvisionedAppPackage DismTovábbi információ: Select-Object.
Where-Object. Ez a parancsmag lehetővé teszi a visszaadott objektumok szűrését a tulajdonságok értékei alapján. A parancs egy tulajdonság értékét tesztelő kifejezést vesz fel. Az alábbi példa az összes folyamatot visszaadja, ahol aProcessNamekezdő érték apkövetkező: .Get-Process | Where-Object {$_.ProcessName -like "p*"}A
Get-Processparancsmag folyamatobjektumok gyűjteményét adja vissza. A válasz szűréséhez a kimenetet a következőre kell átirányítaniWhere-Object: . A piping azt jelenti, hogy két vagy több parancs egy cső|karakteren keresztül csatlakozik. Az egyik parancs kimenete a következő parancs bemeneteként lesz elküldve. A szűrőkifejezésWhere-Objectaz operátort használja a-likebetűvelpkezdődő folyamatok egyeztetésére.
Objektumok felfedezése Get-Member
Miután megtalálta a kívánt parancsmagot, többet szeretne tudni arról, hogy milyen kimenetet hoz létre. A Get-Member parancsmag megjeleníti egy objektum típusát, tulajdonságait és metódusait. A vizsgálandó kimenet becsúszása Get-Member.
Get-Process | Get-Member
Az eredmény megjeleníti a visszaadott típust, valamint TypeName az objektum összes tulajdonságát és metódusát. Íme egy részlet egy ilyen eredményből:
TypeName: System.Diagnostics.Process
Name MemberType Definition
---- ---------- ----------
Handles AliasProperty Handles = Handlecount
Name AliasProperty Name = ProcessName
...
A MemberType paraméterrel korlátozhatja a visszaadott adatokat.
Get-Process | Get-Member -MemberType Method
Alapértelmezés szerint a PowerShell csak néhány tulajdonságot jelenít meg. Az előző példában a , MemberTypeés Definition a Nametagok láthatók. Megadhatja Select-Object a megtekinteni kívánt tulajdonságokat. Például csak a Name tulajdonságokat Definition szeretné megjeleníteni:
Get-Process | Get-Member | Select-Object Name, Definition
Keresés paramétertípus szerint
Get-Member
Get-Process folyamat típusú objektumokat ad vissza. A ParameterType paraméter használható Get-Command más parancsok megkeresésére, amelyek bemenetként folyamatobjektumokat használnak.
Get-Command -ParameterType Process
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Debug-Process 7.0.0.0 Microsoft.PowerShell.Managem…
Cmdlet Enter-PSHostProcess 7.1.0.0 Microsoft.PowerShell.Core
Cmdlet Get-Process 7.0.0.0 Microsoft.PowerShell.Managem…
Cmdlet Get-PSHostProcessInfo 7.1.0.0 Microsoft.PowerShell.Core
Cmdlet Stop-Process 7.0.0.0 Microsoft.PowerShell.Managem…
Cmdlet Wait-Process 7.0.0.0 Microsoft.PowerShell.Managem…
A parancsok kimeneti típusának ismerete segíthet szűkíteni a kapcsolódó parancsok keresését.