Megosztás:


2. fejezet – A súgórendszer

A PowerShellben való jártasság felmérésére tervezett kísérletben az informatikai szakemberek két különböző csoportja – kezdők és szakértők – először írásbeli vizsgát kaptak számítógéphez való hozzáférés nélkül. Meglepő módon a teszteredmények összehasonlítható képességeket mutattak mindkét csoportban. Ezt követően egy újabb tesztet is felügyeltek, amely tükrözte az elsőt, de egyetlen lényeges különbséggel: a résztvevők hozzáfértek egy PowerShell-lel felszerelt offline számítógéphez. Az eredmények ezúttal jelentős készségbeli különbséget mutattak a két csoport között.

Milyen tényezők járultak hozzá a két értékelés között megfigyelt eredményekhez?

A szakértők nem mindig tudják a válaszokat, de tudják, hogyan kell kitalálni a válaszokat.

A két teszt eredményeiben megfigyelt eredmények azért voltak, mert a szakértők nem jegyeznek fel több ezer PowerShell-parancsot. Ehelyett a PowerShell súgórendszerét használják, lehetővé téve számukra, hogy szükség esetén felfedezzék és megtanulják a parancsok használatát.

A PowerShell sikerének kulcsa a súgórendszerrel való jártasság elsajátítása.

Hallottam Jeffrey Snovert, a PowerShell létrehozóját, aki több alkalommal is megosztott egy hasonló történetet.

Felfedezhetőség

A PowerShellben összeállított parancsokat parancsmagoknak nevezzük, "command-let", nem pedig "CMD-let". A parancsmagok elnevezési konvenciói egy egyedi Verb-Noun formátumot követnek, hogy könnyen felfedezhetők legyenek. A Get-Process például a futó folyamatok meghatározására szolgáló parancsmag, Get-Service pedig a szolgáltatások listájának lekérésére szolgáló parancsmag. A függvények, más néven szkript parancsmagok és aliasok más típusú PowerShell-parancsok, amelyeket a könyv későbbi részében tárgyalunk. A "PowerShell-parancs" kifejezés a PowerShell bármely parancsát ismerteti, függetlenül attól, hogy parancsmagról, függvényről vagy aliasról van-e szó.

Az operációs rendszer natív parancsokat is futtathat a PowerShellből, például hagyományos parancssori programokat, például ping.exe és ipconfig.exe.

A PowerShell három alapvető parancsmagja

  • Get-Help
  • Get-Command
  • Get-Member (a 3. fejezet foglalkozik)

Gyakran megkérdeznek: "Hogyan állapíthatja meg, hogy mik a parancsok a PowerShellben?". A Get-Help és a Get-Command egyaránt felbecsülhetetlen erőforrások a PowerShell parancsainak felderítéséhez és megértéséhez.

Kérjen segítséget

A PowerShell súgórendszeréről elsőként a Get-Help parancsmag használatát kell tudnia.

Get-Help egy többcélú parancs, amely segít elsajátítani a parancsok használatát, ha megtalálta őket. A Get-Help is használhatja a parancsok megkeresésére, de más és közvetettebb módon, mint a Get-Commandesetében.

Amikor a Get-Help-t használja a parancsok megkereséséhez, először egy helyettesítő karakteres keresést hajt végre a parancsnevekre vonatkozóan a bemenet alapján. Ha ez nem talál egyezést, átfogó, teljes szöveges keresést végez a rendszer összes PowerShell-súgócikkében. Ha ez sem talál eredményt, hibát ad vissza.

A következőképpen használhatja a(z) Get-Help-t a Get-Help parancsmag súgótartalmainak megtekintéséhez.

Get-Help -Name Get-Help

A PowerShell 3.0-s verziójától kezdve a súgótartalmak nem lesznek előre telepítve az operációs rendszerrel. Amikor először futtat Get-Help, egy üzenet megkérdezi, hogy szeretné-e letölteni a PowerShell súgófájljait a számítógépre.

Ha Igen választ ad a Y megnyomásával, az végrehajtja a Update-Help cmdletet, és letölti a súgótartalmat.

Do you want to run Update-Help?
The Update-Help cmdlet downloads the most current Help files for Windows
PowerShell modules, and installs them on your computer. For more information
about the Update-Help cmdlet, see
https:/go.microsoft.com/fwlink/?LinkId=210614.
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"):

Ha nem kapja meg ezt az üzenetet, futtassa a Update-Help rendszergazdaként futó emelt szintű PowerShell-munkamenetből.

A frissítés befejezése után megjelenik a súgócikk.

Szánjon egy kis időt a példa futtatására a számítógépen, tekintse át a kimenetet, és figyelje meg, hogyan rendszerezi a súgórendszer az információkat.

  • NÉV
  • ÁTTEKINTÉS
  • SZINTAXIS
  • LEÍRÁS
  • KAPCSOLÓDÓ HIVATKOZÁSOK
  • MEGJEGYZÉSEK

A kimenet áttekintésekor vegye figyelembe, hogy a súgócikkek gyakran rengeteg információt tartalmaznak, és alapértelmezés szerint nem a teljes súgócikk jelenik meg.

Paraméterek

Ha parancsot futtat a PowerShellben, előfordulhat, hogy további információkat vagy bemenetet kell megadnia a parancshoz. A paraméterek lehetővé teszik olyan beállítások és argumentumok megadását, amelyek megváltoztatják a parancsok viselkedését. Az egyes súgócikkek SZINTAXIS szakasza ismerteti a parancshoz elérhető paramétereket.

Get-Help számos paraméterrel rendelkezik, amelyeket megadhat a teljes súgócikk vagy egy parancs részhalmazának visszaadásához. Az Get-Helpösszes elérhető paraméterének megtekintéséhez tekintse meg a súgócikk SZINTAXIS szakaszát, ahogyan az alábbi példában is látható.

...
SYNTAX
    Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
    | General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
    Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
    Class | Configuration}] [-Component <System.String[]>] [-Full]
    [-Functionality <System.String[]>] [-Path <System.String>] [-Role
    <System.String[]>] [<CommonParameters>]

    Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
    | General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
    Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
    Class | Configuration}] [-Component <System.String[]>] -Detailed
    [-Functionality <System.String[]>] [-Path <System.String>] [-Role
    <System.String[]>] [<CommonParameters>]

    Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
    | General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
    Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
    Class | Configuration}] [-Component <System.String[]>] -Examples
    [-Functionality <System.String[]>] [-Path <System.String>] [-Role
    <System.String[]>] [<CommonParameters>]

    Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
    | General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
    Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
    Class | Configuration}] [-Component <System.String[]>] [-Functionality
    <System.String[]>] -Online [-Path <System.String>] [-Role
    <System.String[]>] [<CommonParameters>]

    Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
    | General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
    Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
    Class | Configuration}] [-Component <System.String[]>] [-Functionality
    <System.String[]>] -Parameter <System.String> [-Path <System.String>]
    [-Role <System.String[]>] [<CommonParameters>]

    Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
    | General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
    Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
    Class | Configuration}] [-Component <System.String[]>] [-Functionality
    <System.String[]>] [-Path <System.String>] [-Role <System.String[]>]
    -ShowWindow [<CommonParameters>]
...

Paraméterkészletek

A Get-Help szakaszának áttekintésekor vegye észre, hogy az információk hatszor ismétlődnek. Mindegyik blokk egy egyedi paraméterkészlet, amely azt jelzi, hogy a Get-Help parancsmag hat különböző paraméterkészletet tartalmaz. Közelebbről megvizsgálva kiderül, hogy az egyes paraméterkészletek legalább egy egyedi paramétert tartalmaznak, így eltérnek a többitől.

A paraméterkészletek kölcsönösen kizárják egymást. Ha olyan egyedi paramétert ad meg, amely csak egy paraméterkészletben létezik, a PowerShell korlátozza a paraméterkészletben található paraméterek használatát. Például nem használhatja a Teljes és a Részletes paramétereit együtt a Get-Help-ben, mert különböző paraméterkészletekhez tartoznak.

Az alábbi paraméterek mindegyike egy másik paraméterkészlethez tartozik a Get-Help parancsmaghoz.

  • Teljes
  • Részletes
  • Példák
  • Online
  • Paraméter
  • Ablak Megjelenítése

A parancs szintaxisa

Ha még csak most ismerkedik a PowerShell-lel, az SZINTAXIS szakaszban szereplő rejtélyes információk — amelyeket szögletes és szögletes zárójelek jellemeznek — megértése túlságosan bonyolultnak tűnhet. Ezeknek a szintaxiselemeknek az elsajátítása azonban elengedhetetlen ahhoz, hogy valaki jártas legyen a PowerShellben. Minél gyakrabban használja a PowerShell súgórendszert, annál könnyebben emlékszik az összes árnyalatra.

Tekintse meg a Get-EventLog parancsmag szintaxisát.

Get-Help Get-EventLog

Az alábbi kimenet a súgócikk releváns részét mutatja be.

...
SYNTAX
    Get-EventLog [-LogName] <System.String> [[-InstanceId]
    <System.Int64[]>] [-After <System.DateTime>] [-AsBaseObject] [-Before
    <System.DateTime>] [-ComputerName <System.String[]>] [-EntryType {Error
    | Information | FailureAudit | SuccessAudit | Warning}] [-Index
    <System.Int32[]>] [-Message <System.String>] [-Newest <System.Int32>]
    [-Source <System.String[]>] [-UserName <System.String[]>]
    [<CommonParameters>]

    Get-EventLog [-AsString] [-ComputerName <System.String[]>] [-List]
    [<CommonParameters>]
...

A szintaxis információi szögletes zárójelpárokat ([]) tartalmaznak. Használatuktól függően ezek a szögletes zárójelek két különböző célt szolgálnak.

  • A szögletes zárójelek közé zárt elemek nem kötelezőek.
  • Az adattípust (például <string[]>) követő üres szögletes zárójelek azt jelzik, hogy a paraméter több, tömbként vagy gyűjteményobjektumként átadott értéket is elfogad.

Pozícióparaméterek

Egyes parancsmagok pozícióparaméterek elfogadására lettek tervezve. A pozícióparaméterek lehetővé teszik egy érték megadását a paraméter nevének megadása nélkül. Ha egy paramétert pozicionálással használ, annak értékét a parancssor megfelelő helyén kell megadnia. Egy paraméter helyadatait a parancs súgócikkének PARAMETERS szakaszában találja. Ha explicit módon adja meg a paraméterneveket, a paramétereket tetszőleges sorrendben használhatja.

A Get-EventLog parancsmag esetében az első paraméterkészlet első paramétere LogName. LogName szögletes zárójelek közé kerül, ami azt jelzi, hogy pozícióparaméter.

Get-EventLog [-LogName] <System.String>

Mivel LogName pozícióparaméter, megadható név vagy pozíció alapján. A paraméter nevéhez kapcsolódó szögletes zárójelek szerint a LogName értékének egyetlen karakterláncnak kell lennie. A paraméternevet és az adattípust egyaránt tartalmazó szögletes zárójelek hiánya azt jelzi, hogy LogName szükséges paraméter ebben a paraméterkészletben.

A paraméterkészlet második paramétere InstanceId. Mind a paraméter neve, mind az adattípus szögletes zárójelben van, ami azt jelzi, hogy InstanceId nem kötelező paraméter.

[[-InstanceId] <System.Int64[]>]

Ezenkívül InstanceId saját szögletes zárójelpárokkal rendelkezik, ami azt jelzi, hogy a LogName paraméterhez hasonló pozícióparaméter. Az adattípust követve a szögletes zárójelek üres készlete azt jelenti, hogy InstanceId több értéket is elfogadhat.

Paraméterek váltása

Az értéket nem igénylő paramétereket kapcsolóparaméternek nevezzük. A kapcsolóparaméterek könnyen azonosíthatók, mert a paraméter neve után nincs adattípus. Kapcsolóparaméter megadásakor annak értéke true. Ha nem ad meg kapcsolóparamétert, annak értéke false.

A második paraméterkészlet tartalmaz egy List paramétert, amely egy kapcsolóparaméter. Amikor megadja a List paramétert, az a helyi számítógépen található eseménynaplók listáját adja vissza.

[-List]

A szintaxis egyszerűsített megközelítése

Létezik egy felhasználóbarátabb módszer, amely ugyanazokat az információkat adja, mint egyes parancsok titokzatos parancsszintaxisa, de egyszerű angol nyelven. A PowerShell a teljes súgócikket adja vissza a Get-HelpTeljes paraméterrel való használatakor, így könnyebben megértheti a parancsok használatát.

Get-Help -Name Get-Help -Full

Szánjon egy kis időt a példa futtatására a számítógépen, tekintse át a kimenetet, és figyelje meg, hogyan rendszerezi a súgórendszer az információkat.

  • NÉV
  • ÁTTEKINTÉS
  • SZINTAXIS
  • LEÍRÁS
  • PARAMÉTEREK
  • BEMENET
  • KIMENETEK
  • MEGJEGYZÉSEK
  • PÉLDÁK
  • KAPCSOLÓDÓ HIVATKOZÁSOK

Ha megadja a Teljes paramétert a Get-Help parancsmaggal, a kimenet több további szakaszt is tartalmaz. Ezen szakaszok közül PARAMÉTEREK gyakran részletes magyarázatot ad az egyes paraméterekre. Ennek az információnak a terjedelme azonban a vizsgált parancstól függően változik.

...
    -Detailed <System.Management.Automation.SwitchParameter>
        Adds parameter descriptions and examples to the basic help display.
        This parameter is effective only when the help files are installed
        on the computer. It has no effect on displays of conceptual ( About_
        ) help.

        Required?                    true
        Position?                    named
        Default value                False
        Accept pipeline input?       False
        Accept wildcard characters?  false

    -Examples <System.Management.Automation.SwitchParameter>
        Displays only the name, synopsis, and examples. This parameter is
        effective only when the help files are installed on the computer. It
        has no effect on displays of conceptual ( About_ ) help.

        Required?                    true
        Position?                    named
        Default value                False
        Accept pipeline input?       False
        Accept wildcard characters?  false

    -Full <System.Management.Automation.SwitchParameter>
        Displays the entire help article for a cmdlet. Full includes
        parameter descriptions and attributes, examples, input and output
        object types, and additional notes.

        This parameter is effective only when the help files are installed
        on the computer. It has no effect on displays of conceptual ( About_
        ) help.

        Required?                    false
        Position?                    named
        Default value                False
        Accept pipeline input?       False
        Accept wildcard characters?  false
...

Amikor az előző parancsot futtatta a Get-Help parancs súgójának megjelenítéséhez, valószínűleg észrevette, hogy a kimenet túl gyorsan görgetve jelenik meg ahhoz, hogy elolvassa.

Ha a PowerShell-konzolt, a Windows Terminált vagy a VS Code-ot használja, és meg kell tekintenie egy súgócikket, a help függvény hasznos lehet. A Get-Help kimenetét a more.comirányítja, és egyszerre egy oldalnyi súgótartalmat jelenít meg. Azt javaslom, hogy használja a help függvényt a Get-Help parancsmag helyett, mert jobb felhasználói élményt nyújt, és kevésbé gépel.

Megjegyzés

Az ISE nem támogatja a more.comhasználatát, ezért a help futtatása ugyanúgy működik, mint Get-Help.

Futtassa az alábbi parancsokat a számítógépén lévő PowerShellben.

Get-Help -Name Get-Help -Full
help -Name Get-Help -Full
help Get-Help -Full

Megfigyelt bármilyen eltérést a kimenetben az előző parancsok futtatásakor?

Az előző példában az első sor a Get-Help parancsmagot használja, a második a help függvényt, a harmadik sor pedig kihagyja a Név paramétert a help függvény használatakor. Mivel Név pozícióparaméter, a harmadik példa a paraméter nevének explicit megjelölése helyett kihasználja a pozícióját.

A különbség az, hogy az utolsó két parancs egyszerre egy oldalon jeleníti meg a kimenetet. A help függvény használatakor nyomja le a szóköz a tartalom következő oldalának megjelenítéséhez, vagy Q a kilépéshez. Ha a PowerShellben interaktívan futó parancsokat le kell mondania, nyomja le Ctrl+C.

Ha gyorsan szeretne információt találni egy adott paraméterről, használja a Paraméter paramétert. Ez a megközelítés a teljes súgócikk helyett csak a paraméterspecifikus információkat tartalmazó tartalmat adja vissza. Ez a legegyszerűbb módja annak, hogy információt találjon egy adott paraméterről.

Az alábbi példa a help függvénnyel és a Paraméter paraméterrel adja vissza a Name paraméterének Get-Helpsúgócikkéből származó információkat.

help Get-Help -Parameter Name

A súgó információi azt mutatják, hogy a Név paraméter pozíciós, és pozícióban történő használat esetén az első pozícióban (nulla pozícióban) kell megadni.

-Name <System.String>
    Gets help about the specified command or concept. Enter the name of a
    cmdlet, function, provider, script, or workflow, such as `Get-Member`,
    a conceptual article name, such as `about_Objects`, or an alias, such
    as `ls`. Wildcard characters are permitted in cmdlet and provider
    names, but you can't use wildcard characters to find the names of
    function help and script help articles.

    To get help for a script that isn't located in a path that's listed in
    the `$env:Path` environment variable, type the script's path and file
    name.

    If you enter the exact name of a help article, `Get-Help` displays the
    article contents.

    If you enter a word or word pattern that appears in several help
    article titles, `Get-Help` displays a list of the matching titles.

    If you enter any text that doesn't match any help article titles,
    `Get-Help` displays a list of articles that include that text in their
    contents.

    The names of conceptual articles, such as `about_Objects`, must be
    entered in English, even in non-English versions of PowerShell.

    Required?                    false
    Position?                    0
    Default value                None
    Accept pipeline input?       True (ByPropertyName)
    Accept wildcard characters?  true

A Név paraméter a paraméter neve melletti <String> adattípus által azonosított sztringértéket vár.

A Get-Help segítségével számos más paramétert is megadhat egy súgócikk egy részhalmazának visszaadásához. A működésük megtekintéséhez futtassa a következő parancsokat a számítógépen.

Get-Help -Name Get-Command -Full
Get-Help -Name Get-Command -Detailed
Get-Help -Name Get-Command -Examples
Get-Help -Name Get-Command -Online
Get-Help -Name Get-Command -Parameter Noun
Get-Help -Name Get-Command -ShowWindow

Általában a help <command name>-t használom a Teljes vagy a Online paraméterrel. Ha csak a példák érdeklik, használja a Példák paramétert. Ha csak egy adott paraméter érdekli, használja a Paraméter paramétert.

Ha a ShowWindow paramétert használja, az egy külön kereshető ablakban jeleníti meg a súgótartalmat. Több monitor esetén áthelyezheti az ablakot egy másik monitorra. A ShowWindow paraméter azonban olyan ismert hibával rendelkezik, amely megakadályozhatja a teljes súgócikk megjelenítését. A ShowWindow paraméterhez grafikus felhasználói felülettel (GUI) rendelkező operációs rendszer is szükséges. Hibaüzenetet ad vissza, amikor a Windows Server Core-on próbálja meg használni.

Ha rendelkezik internet-hozzáféréssel, használhatja helyette az Online paramétert. Az Online paraméter megnyitja a súgócikket az alapértelmezett webböngészőben. A legfrissebb tartalom az online tartalom. A böngésző lehetővé teszi a súgótartalom keresését és más kapcsolódó súgócikkek megtekintését.

Megjegyzés

A Online paraméter nem támogatott About cikkekhez.

help Get-Command -Online

Parancsok keresése a Get-Help parancssal

Ha Get-Helpparancsokat szeretne keresni, adjon meg egy csillag (*) helyettesítő karakterekkel körülvett keresőkifejezést a Név paraméter értékéhez. Az alábbi példa a Név paramétert használja pozícióban.

help *process*
Name                              Category  Module                    Synops
----                              --------  ------                    ------
Enter-PSHostProcess               Cmdlet    Microsoft.PowerShell.Core Con...
Exit-PSHostProcess                Cmdlet    Microsoft.PowerShell.Core Clo...
Get-PSHostProcessInfo             Cmdlet    Microsoft.PowerShell.Core Get...
Debug-Process                     Cmdlet    Microsoft.PowerShell.M... Deb...
Get-Process                       Cmdlet    Microsoft.PowerShell.M... Get...
Start-Process                     Cmdlet    Microsoft.PowerShell.M... Sta...
Stop-Process                      Cmdlet    Microsoft.PowerShell.M... Sto...
Wait-Process                      Cmdlet    Microsoft.PowerShell.M... Wai...
Invoke-LapsPolicyProcessing       Cmdlet    LAPS                      Inv...
ConvertTo-ProcessMitigationPolicy Cmdlet    ProcessMitigations        Con...
Get-ProcessMitigation             Cmdlet    ProcessMitigations        Get...
Set-ProcessMitigation             Cmdlet    ProcessMitigations        Set...

Ebben a forgatókönyvben nem kell hozzáadnia a * helyettesítő karaktereket. Ha Get-Help nem találja a megadott értéknek megfelelő parancsot, teljes szöveges keresést végez az értékben. Az alábbi példa ugyanazokat az eredményeket adja, mint ha a * helyettesítő karaktert a processmindkét végére helyezzük el.

help process

Ha helyettesítő karaktert ad meg az értéken belül, Get-Help csak a megadott mintának megfelelő parancsokat keresi. Nem végez teljes szöveges keresést. Az alábbi parancs nem ad vissza eredményt.

help pr*cess

A PowerShell hibát okoz, ha egy kötőjellel kezdődő értéket ad meg idézőjelek nélkül, mert paraméternévként értelmezi. Ilyen paraméternév nem létezik a Get-Help parancsmaghoz.

help -process

Ha olyan parancsokat próbál keresni, amelyek -processvégződnek, * kell hozzáadnia az érték elejéhez.

help *-process

Amikor Get-HelpPowerShell-parancsokat keres, jobb, ha inkább homályos, mintsem túl specifikus.

Amikor korábban a process keresését végezte, az eredmények csak olyan parancsokat adtak vissza, amelyek a nevükben tartalmazták a process-et. Ha azonban processes-ra keresel, az nem talál egyetlen egyezést sem a parancsnévvel. Ahogy korábban említettem, ha a súgó nem talál találatokat, átfogó teljes szöveges keresést végez a rendszer összes súgócikkében, és visszaadja ezeket az eredményeket. Az ilyen típusú keresések gyakran a vártnál több eredményt eredményeznek, beleértve az Ön számára nem releváns információkat is.

help processes
Name                              Category  Module                    Synops
----                              --------  ------                    ------
Disconnect-PSSession              Cmdlet    Microsoft.PowerShell.Core Dis...
Enter-PSHostProcess               Cmdlet    Microsoft.PowerShell.Core Con...
ForEach-Object                    Cmdlet    Microsoft.PowerShell.Core Per...
Get-PSHostProcessInfo             Cmdlet    Microsoft.PowerShell.Core Get...
Get-PSSessionConfiguration        Cmdlet    Microsoft.PowerShell.Core Get...
New-PSSessionOption               Cmdlet    Microsoft.PowerShell.Core Cre...
New-PSTransportOption             Cmdlet    Microsoft.PowerShell.Core Cre...
Out-Host                          Cmdlet    Microsoft.PowerShell.Core Sen...
Start-Job                         Cmdlet    Microsoft.PowerShell.Core Sta...
Where-Object                      Cmdlet    Microsoft.PowerShell.Core Sel...
Debug-Process                     Cmdlet    Microsoft.PowerShell.M... Deb...
Get-Process                       Cmdlet    Microsoft.PowerShell.M... Get...
Get-WmiObject                     Cmdlet    Microsoft.PowerShell.M... Get...
Start-Process                     Cmdlet    Microsoft.PowerShell.M... Sta...
Stop-Process                      Cmdlet    Microsoft.PowerShell.M... Sto...
Wait-Process                      Cmdlet    Microsoft.PowerShell.M... Wai...
Clear-Variable                    Cmdlet    Microsoft.PowerShell.U... Del...
Convert-String                    Cmdlet    Microsoft.PowerShell.U... For...
ConvertFrom-Csv                   Cmdlet    Microsoft.PowerShell.U... Con...
ConvertFrom-Json                  Cmdlet    Microsoft.PowerShell.U... Con...
ConvertTo-Html                    Cmdlet    Microsoft.PowerShell.U... Con...
ConvertTo-Xml                     Cmdlet    Microsoft.PowerShell.U... Cre...
Debug-Runspace                    Cmdlet    Microsoft.PowerShell.U... Sta...
Export-Csv                        Cmdlet    Microsoft.PowerShell.U... Con...
Export-FormatData                 Cmdlet    Microsoft.PowerShell.U... Sav...
Format-List                       Cmdlet    Microsoft.PowerShell.U... For...
Format-Table                      Cmdlet    Microsoft.PowerShell.U... For...
Get-Unique                        Cmdlet    Microsoft.PowerShell.U... Ret...
Group-Object                      Cmdlet    Microsoft.PowerShell.U... Gro...
Import-Clixml                     Cmdlet    Microsoft.PowerShell.U... Imp...
Import-Csv                        Cmdlet    Microsoft.PowerShell.U... Cre...
Measure-Object                    Cmdlet    Microsoft.PowerShell.U... Cal...
Out-File                          Cmdlet    Microsoft.PowerShell.U... Sen...
Out-GridView                      Cmdlet    Microsoft.PowerShell.U... Sen...
Select-Object                     Cmdlet    Microsoft.PowerShell.U... Sel...
Set-Variable                      Cmdlet    Microsoft.PowerShell.U... Set...
Sort-Object                       Cmdlet    Microsoft.PowerShell.U... Sor...
Tee-Object                        Cmdlet    Microsoft.PowerShell.U... Sav...
Trace-Command                     Cmdlet    Microsoft.PowerShell.U... Con...
Write-Information                 Cmdlet    Microsoft.PowerShell.U... Spe...
Export-BinaryMiLog                Cmdlet    CimCmdlets                Cre...
Get-CimAssociatedInstance         Cmdlet    CimCmdlets                Ret...
Get-CimInstance                   Cmdlet    CimCmdlets                Get...
Import-BinaryMiLog                Cmdlet    CimCmdlets                Use...
Invoke-CimMethod                  Cmdlet    CimCmdlets                Inv...
New-CimInstance                   Cmdlet    CimCmdlets                Cre...
Remove-CimInstance                Cmdlet    CimCmdlets                Rem...
Set-CimInstance                   Cmdlet    CimCmdlets                Mod...
Compress-Archive                  Function  Microsoft.PowerShell.A... Cre...
Get-Counter                       Cmdlet    Microsoft.PowerShell.D... Get...
Invoke-WSManAction                Cmdlet    Microsoft.WSMan.Manage... Inv...
Remove-WSManInstance              Cmdlet    Microsoft.WSMan.Manage... Del...
Get-WSManInstance                 Cmdlet    Microsoft.WSMan.Manage... Dis...
New-WSManInstance                 Cmdlet    Microsoft.WSMan.Manage... Cre...
Set-WSManInstance                 Cmdlet    Microsoft.WSMan.Manage... Mod...
about_Arithmetic_Operators        HelpFile
about_Arrays                      HelpFile
about_Environment_Variables       HelpFile
about_Execution_Policies          HelpFile
about_Functions                   HelpFile
about_Jobs                        HelpFile
about_Logging                     HelpFile
about_Methods                     HelpFile
about_Objects                     HelpFile
about_Pipelines                   HelpFile
about_Preference_Variables        HelpFile
about_Remote                      HelpFile
about_Remote_Jobs                 HelpFile
about_Session_Configuration_Files HelpFile
about_Simplified_Syntax           HelpFile
about_Switch                      HelpFile
about_Variables                   HelpFile
about_Variable_Provider           HelpFile
about_Windows_PowerShell_5.1      HelpFile
about_WQL                         HelpFile
about_WS-Management_Cmdlets       HelpFile
about_Foreach-Parallel            HelpFile
about_Parallel                    HelpFile
about_Sequence                    HelpFile

Amikor processkeresett, 12 találatot adott vissza. A processeskeresésekor azonban 78 találatot eredményezett. Ha a keresés csak egyezést talál, Get-Help a találatok felsorolása helyett a súgótartalmat jeleníti meg.

help *hotfix*
NAME
    Get-HotFix

SYNOPSIS
    Gets the hotfixes that are installed on local or remote computers.


SYNTAX
    Get-HotFix [-ComputerName <System.String[]>] [-Credential
    <System.Management.Automation.PSCredential>] [-Description
    <System.String[]>] [<CommonParameters>]

    Get-HotFix [[-Id] <System.String[]>] [-ComputerName <System.String[]>]
    [-Credential <System.Management.Automation.PSCredential>]
    [<CommonParameters>]


DESCRIPTION
    > This cmdlet is only available on the Windows platform. The
    `Get-HotFix` cmdlet uses the Win32_QuickFixEngineering WMI class to
    list hotfixes that are installed on the local computer or specified
    remote computers.


RELATED LINKS
    Online Version: https://learn.microsoft.com/powershell/module/microsoft.
    powershell.management/get-hotfix?view=powershell-5.1&WT.mc_id=ps-gethelp
    about_Arrays
    Add-Content
    Get-ComputerRestorePoint
    Get-Credential
    Win32_QuickFixEngineering class

REMARKS
    To see the examples, type: "Get-Help Get-HotFix -Examples".
    For more information, type: "Get-Help Get-HotFix -Detailed".
    For technical information, type: "Get-Help Get-HotFix -Full".
    For online help, type: "Get-Help Get-HotFix -Online"

Olyan parancsokat is megtalálhat, amelyek nem rendelkeznek súgócikkekkel Get-Helpformátumban, bár ez a képesség nem ismert széles körben. A more függvény az egyik olyan parancs, amely nem rendelkezik súgócikkvel. Ha meg szeretné győződni arról, hogy a Get-Help-val olyan parancsokat találjon, amelyek nem tartalmaznak súgócikkeket, használja a help függvényt a moremegkereséséhez.

help *more*

A keresés csak egyezést talált, így visszaadta az alapszintű szintaxisadatokat, amelyeket akkor lát, amikor egy parancs nem tartalmaz súgócikket.

NAME
    more

SYNTAX
    more [[-paths] <string[]>]

ALIASES
    None

REMARKS
    None

A PowerShell súgórendszere tartalmaz fogalmi A súgócikkeket is. Frissítenie kell a súgótartalmat a rendszeren, hogy hozzáférjen a a cikkekről. További információt a fejezet Frissítés súgójának szakaszában talál.

Az alábbi paranccsal visszaadhatja a rendszer összes A súgócikkeinek listáját.

help About_*

Ha az eredményeket egy A súgócikkről szóló cikkre korlátozza, Get-Help megjeleníti a cikk tartalmát.

help about_Updatable_Help

Súgó frissítése

Ennek a fejezetnek a korábbi részében frissítette a PowerShell súgócikkeit a számítógépén, amikor először futtatta a Get-Help parancsmagot. A súgótartalom frissítésének beszerzéséhez rendszeresen futtassa a Update-Help parancsmagot a számítógépen.

Fontos

A Windows PowerShell 5.1-ben rendszergazdaként kell futtatnia Update-Help egy emelt szintű PowerShell-munkamenetben.

Az alábbi példában Update-Help letölti a PowerShell súgótartalmat a számítógépre telepített összes modulhoz. A súgótartalom legújabb verziójának letöltéséhez használja a Force paramétert.

Update-Help -Force

Ahogy az alábbi eredmények is mutatják, egy modul hibát adott vissza. A hibák nem gyakoriak, és általában akkor fordulnak elő, ha a modul szerzője nem konfigurálja megfelelően az frissíthető súgót.

Update-Help : Failed to update Help for the module(s) 'BitsTransfer' with UI
culture(s) {en-US} : Unable to retrieve the HelpInfo XML file for UI culture
en-US. Make sure the HelpInfoUri property in the module manifest is valid or
check your network connection and then try the command again.
At line:1 char:1
+ Update-Help
+ ~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (:) [Update-Help], Except
   ion
    + FullyQualifiedErrorId : UnableToRetrieveHelpInfoXml,Microsoft.PowerShe
   ll.Commands.UpdateHelpCommand

Update-Help a súgótartalom letöltéséhez internet-hozzáférés szükséges. Ha a számítógép nem rendelkezik internet-hozzáféréssel, a frissített súgótartalom letöltéséhez és mentéséhez használja a Save-Help parancsmagot egy internet-hozzáféréssel rendelkező számítógépen. Ezután a Update-Help paraméterével adja meg a mentett frissített súgótartalom helyét.

Get-Command (Parancsok lekérése)

Get-Command egy másik többcélú parancs, amely segít megtalálni a parancsokat. Ha paraméterek nélkül futtatja Get-Command, az visszaadja a rendszer összes PowerShell-parancsának listáját. A Get-Command használatával is lekérheti a Get-Help-hez hasonló parancsszintaxisokat.

Hogyan határozhatja meg a Get-Commandszintaxisát? A Get-Help segítségével megjelenítheti a Get-Commandsúgócikkét, ahogyan az a fejezet Súgó szakaszában is látható. A Get-Command-t a szintaxis paraméterrel is használhatja a parancsok szintaxisának megtekintéséhez. Ez a parancsikon segítségével gyorsan megállapíthatja, hogyan használhat parancsokat anélkül, hogy végigjárna a súgó tartalmán.

Get-Command -Name Get-Command -Syntax

A Get-Command a szintaxis paraméterrel való használata tömörebb áttekintést nyújt a paramétereket és értéktípusaikat megjelenítő szintaxisról, anélkül, hogy felsorolná azokat az engedélyezett értékeket, ahogyan azt a Get-Help mutatja.

Get-Command [[-ArgumentList] <Object[]>] [-Verb <string[]>]
[-Noun <string[]>] [-Module <string[]>]
[-FullyQualifiedModule <ModuleSpecification[]>] [-TotalCount <int>]
[-Syntax] [-ShowCommandInfo] [-All] [-ListImported]
[-ParameterName <string[]>] [-ParameterType <PSTypeName[]>]
[<CommonParameters>]

Get-Command [[-Name] <string[]>] [[-ArgumentList] <Object[]>]
[-Module <string[]>] [-FullyQualifiedModule <ModuleSpecification[]>]
[-CommandType <CommandTypes>] [-TotalCount <int>] [-Syntax]
[-ShowCommandInfo] [-All] [-ListImported] [-ParameterName <string[]>]
[-ParameterType <PSTypeName[]>] [<CommonParameters>]

Ha részletesebb információra van szüksége a parancsok használatáról, használja a Get-Help.

help Get-Command -Full

A Get-Help szakasza felhasználóbarát megjelenést tesz lehetővé a paraméterek felsorolt értékeinek kibontásával. Megjeleníti a ténylegesen használható értékeket, így könnyebben megértheti a rendelkezésre álló lehetőségeket.

...
    Get-Command [[-Name] <System.String[]>] [[-ArgumentList]
    <System.Object[]>] [-All] [-CommandType {Alias | Function | Filter |
    Cmdlet | ExternalScript | Application | Script | Workflow |
    Configuration | All}] [-FullyQualifiedModule
    <Microsoft.PowerShell.Commands.ModuleSpecification[]>] [-ListImported]
    [-Module <System.String[]>] [-ParameterName <System.String[]>]
    [-ParameterType <System.Management.Automation.PSTypeName[]>]
    [-ShowCommandInfo] [-Syntax] [-TotalCount <System.Int32>]
    [<CommonParameters>]

    Get-Command [[-ArgumentList] <System.Object[]>] [-All]
    [-FullyQualifiedModule
    <Microsoft.PowerShell.Commands.ModuleSpecification[]>] [-ListImported]
    [-Module <System.String[]>] [-Noun <System.String[]>] [-ParameterName
    <System.String[]>] [-ParameterType
    <System.Management.Automation.PSTypeName[]>] [-ShowCommandInfo]
    [-Syntax] [-TotalCount <System.Int32>] [-Verb <System.String[]>]
    [<CommonParameters>]
...

A súgójának Get-Command szakasza azt mutatja, hogy a Név, Főnévés Verb paraméterek helyettesítő karaktereket fogadnak el.

...
    -Name <System.String[]>
        Specifies an array of names. This cmdlet gets only commands that
        have the specified name. Enter a name or name pattern. Wildcard
        characters are permitted.

        To get commands that have the same name, use the All parameter. When
        two commands have the same name, by default, `Get-Command` gets the
        command that runs when you type the command name.

        Required?                    false
        Position?                    0
        Default value                None
        Accept pipeline input?       True (ByPropertyName, ByValue)
        Accept wildcard characters?  true

    -Noun <System.String[]>
        Specifies an array of command nouns. This cmdlet gets commands,
        which include cmdlets, functions, and aliases, that have names that
        include the specified noun. Enter one or more nouns or noun
        patterns. Wildcard characters are permitted.

        Required?                    false
        Position?                    named
        Default value                None
        Accept pipeline input?       True (ByPropertyName)
        Accept wildcard characters?  true
    -Verb <System.String[]>
        Specifies an array of command verbs. This cmdlet gets commands,
        which include cmdlets, functions, and aliases, that have names that
        include the specified verb. Enter one or more verbs or verb
        patterns. Wildcard characters are permitted.

        Required?                    false
        Position?                    named
        Default value                None
        Accept pipeline input?       True (ByPropertyName)
        Accept wildcard characters?  true
...

Az alábbi példa a * helyettesítő karaktert használja a Get-Command paraméteréhez tartozó értékkel.

Get-Command -Name *service*

Ha helyettesítő karaktereket használ a Get-Command paraméterével, az PowerShell-parancsokat és natív parancsokat ad vissza, ahogyan az az alábbi eredményekben is látható.


CommandType     Name                                               Version
-----------     ----                                               -------
Function        Get-NetFirewallServiceFilter                       2.0.0.0
Function        Set-NetFirewallServiceFilter                       2.0.0.0
Cmdlet          Get-Service                                        3.1.0.0
Cmdlet          New-Service                                        3.1.0.0
Cmdlet          New-WebServiceProxy                                3.1.0.0
Cmdlet          Restart-Service                                    3.1.0.0
Cmdlet          Resume-Service                                     3.1.0.0
Cmdlet          Set-Service                                        3.1.0.0
Cmdlet          Start-Service                                      3.1.0.0
Cmdlet          Stop-Service                                       3.1.0.0
Cmdlet          Suspend-Service                                    3.1.0.0
Application     SecurityHealthService.exe                          10.0.2...
Application     SensorDataService.exe                              10.0.2...
Application     services.exe                                       10.0.2...
Application     services.msc                                       0.0.0.0
Application     TieringEngineService.exe                           10.0.2...
Application     Windows.WARP.JITService.exe                        10.0.2...

A Get-Command eredményeit a CommandType paraméterrel korlátozhatja PowerShell-parancsok használatára.

Get-Command -Name *service* -CommandType Cmdlet, Function, Alias, Script

Egy másik lehetőség lehet a Verb vagy Főnév paraméter használata, vagy mindkettő, mivel csak a PowerShell-parancsok rendelkeznek igékkel és főnevekkel.

Az alábbi példa a számítógépén futó folyamatokat használó parancsok megtalálásához használja a Get-Command-t. Használja a főnév paramétert, és adja meg a Process értékét.

Get-Command -Noun Process
CommandType     Name                                               Version
-----------     ----                                               -------
Cmdlet          Debug-Process                                      3.1.0.0
Cmdlet          Get-Process                                        3.1.0.0
Cmdlet          Start-Process                                      3.1.0.0
Cmdlet          Stop-Process                                       3.1.0.0
Cmdlet          Wait-Process                                       3.1.0.0

Összefoglalás

Ebben a fejezetben megtanulta, hogyan lehet megtalálni a parancsokat Get-Help és Get-Command. Azt is megtanulta, hogyan használhatja a súgórendszert a parancsok használatának megismeréséhez, ha megtalálta őket. Emellett megtanulta, hogyan frissítheti a súgórendszert a számítógépen, amikor új súgótartalmak érhetők el.

Felülvizsgálat

  1. A DisplayName paramétere Get-Service pozícionális?
  2. Hány paraméterkészlettel rendelkezik a Get-Process parancsmag?
  3. Milyen PowerShell-parancsok léteznek az eseménynaplók használatához?
  4. Mi a PowerShell-parancs a számítógépen futó PowerShell-folyamatok listájának visszaadására?
  5. Hogyan frissítheti a PowerShell súgótartalmat a számítógépen?

Hivatkozások

Az ebben a fejezetben tárgyalt fogalmakkal kapcsolatos további információkért olvassa el az alábbi PowerShell-súgócikkeket.

Következő lépések

A következő fejezetben megismerheti az objektumokat, tulajdonságokat, metódusokat és a Get-Member parancsmagot.