Megosztás a következőn keresztül:


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.

Felfedező

A PowerShellben lefordított parancsokat parancsmagoknak nevezzük, amelyeket "command-let" néven ejtenek ki, nem pedig "CMD-let" néven. A parancsmagok elnevezési konvenciója egy egyedi Verb-Főnév formátumot követ, hogy könnyen felfedezhetőek legyenek. Például a parancsmag határozza meg, Get-Process hogy mely folyamatok futnak, és Get-Service a parancsmag a szolgáltatások listájának lekéréséhez. 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 a 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 hatálya alá tartozik)

Gyakran kérdezik tőlem: "Hogyan állapíthatja meg, hogy mik a parancsok a PowerShellben?". Get-Command Mindkettő Get-Help felbecsülhetetlen erőforrás a PowerShell parancsainak felderítéséhez és megértéséhez.

Get-Help

A PowerShell súgórendszeréről az első dolog, amit tudnia kell, hogy hogyan használhatja a Get-Help parancsmagot.

Get-Help egy többcélú parancs, amely segít a parancsok használatának elsajátításában, ha megtalálta őket. A parancsok megkeresésére is használható Get-Help , de más és közvetettebb módon is, ha összehasonlítjuk a parancsokat Get-Command.

Get-Help A parancsok megkeresésekor először helyettesítő karaktereket keres a parancsnevekben 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.

Így tekintheti Get-Help meg a parancsmag súgótartalmat Get-Help .

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 első alkalommal fut Get-Help , egy üzenet megkérdezi, hogy szeretné-e letölteni a PowerShell súgófájljait a számítógépre.

Az Igen válasz az Y billentyű lenyomásával végrehajtja a Update-Help parancsmagot, é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 Update-Help rendszergazdaként egy 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
  • SZINOPSZIS
  • 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ócikk SZINTAXIS szakasza a parancs elérhető paramétereit ismerteti.

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

...
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

Amikor áttekinti a SZINTAXIS szakaszt Get-Help, figyelje meg, 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 együtt a Teljes és részletes paramétereket Get-Help , 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
  • ShowWindow

A parancs szintaxisa

Ha még csak most ismerkedik a PowerShell-lel, a SZINTAXIS szakaszban a titkosítási információk – szögletes és szögletes zárójelek – megértése elsöprőnek tűnhet. Ezeknek a szintaxiselemeknek a elsajátítása azonban elengedhetetlen ahhoz, hogy a PowerShell jártas legyen. Minél gyakrabban használja a PowerShell súgórendszert, annál könnyebben emlékszik az összes árnyalatra.

Tekintse meg a parancsmag szintaxisát Get-EventLog .

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.
  • Egy adattípust (például <string[]>) követő üres szögletes zárójelkészlet azt jelzi, 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 PARAMÉTEREK szakaszában találja. Ha explicit módon adja meg a paraméterneveket, a paramétereket tetszőleges sorrendben használhatja.

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

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

Mivel a LogName egy pozícióparaméter, megadható név vagy pozíció alapján. A paraméter nevét követő szögletes zárójelek szerint a LogName értékének egyetlen sztringnek kell lennie. A paraméternevet és az adattípust egyaránt tartalmazó szögletes zárójelek hiánya azt jelzi, hogy a LogName az adott paraméterkészlet kötelező paramétere.

A paraméterkészlet második paramétere az InstanceId. A paraméternév és az adattípus is teljesen szögletes zárójelek közé van zárva, ami azt jelzi, hogy az InstanceId nem kötelező paraméter.

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

Az InstanceId emellett saját szögletes zárójelpárokkal is 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 az 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. A List paraméter megadásakor a rendszer visszaadja a helyi számítógépen található eseménynaplók listáját.

[-List]

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

Van egy felhasználóbarátabb módszer, amely ugyanazokat az információkat szerzi be, mint egyes parancsok titkosítási parancsszintaxisa, kivéve az egyszerű angol nyelvet. A PowerShell a teljes súgócikket adja vissza a Teljes paraméter használatakorGet-Help, í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
  • SZINOPSZIS
  • SZINTAXIS
  • LEÍRÁS
  • PARAMÉTEREK
  • BEMENETEK
  • KIMENETEK
  • MEGJEGYZÉSEK
  • PÉLDÁK
  • KAPCSOLÓDÓ HIVATKOZÁSOK

A teljes paraméter parancsmaggal való megadásával a Get-Help kimenet több további szakaszt is tartalmaz. Ezek közül a szakaszok közül a 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 parancs súgójának megjelenítéséhez Get-Help , 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 kimenetet Get-Help a következőre 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 kevesebb a gépelés.

Feljegyzés

Az ISE nem támogatja a használatát more.com, ezért a futtatás help ugyanúgy működik, mint Get-Helpa .

Futtassa az alábbi parancsokat a PowerShellben a számítógépen.

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álata során. Mivel a Név egy pozícióparaméter, a harmadik példa kihasználja a pozícióját a paraméter nevének explicit megjelölése helyett.

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

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 Paraméter paraméterrel rendelkező függvényt használja a névparaméter súgócikkéből származó információk visszaadásáhozGet-Help.

help Get-Help -Parameter Name

A súgó információi azt mutatják, hogy a Név paraméter pozícióban van, és pozícióbeli 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 adattípus által <String> azonosított sztringértéket vár.

Számos más paramétert is megadhat Get-Help a 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 Teljes vagy az Online paraméterrel használomhelp <command name>. 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. Ha több monitorral rendelkezik, áthelyezheti az ablakot egy másik figyelőbe. A ShowWindow paraméternek azonban van egy ismert hibája, 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. Az online tartalom a legfrissebb 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.

Feljegyzés

Az Online paraméter nem támogatott a About cikkek esetében.

help Get-Command -Online

Parancsok keresése a Get-Help használatával

A parancsok Get-Helpmegkereséséhez adjon meg egy keresési kifejezést csillag (*) helyettesítő karakterekkel a Név paraméter értékéhez. Az alábbi példa a Name 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 helyettesítő karaktereket hozzáadnia * . Ha Get-Help nem találja a megadott értéknek megfelelő parancsot, teljes szöveges keresést végez az adott értékben. Az alábbi példa ugyanazokat az eredményeket hozza létre, mint a * helyettesítő karakter megadása az egyes végpontokon process.

help process

Ha helyettesítő karaktert ad meg az értéken belül, Get-Help csak a megadott mintának megfelelő parancsokat keres. 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. A parancsmaghoz Get-Help nincs ilyen paraméternév.

help -process

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

help *-process

Ha PowerShell-parancsokat Get-Helpkeres, jobb, ha nem túl konkrét, hanem homályos.

Amikor korábban keresett process , az eredmények csak a nevükben szereplő process parancsokat eredményezték. Ha azonban rákeres processes, az nem talál egyezést a parancsnevekhez. 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 rákeresett process, 12 találatot adott vissza. A keresés processessorán azonban 78 találatot eredményezett. Ha a keresés csak egy találatot talál, Get-Help a keresési eredmények 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 találhat, amelyekhez nem tartoznak súgócikkek Get-Help, bár ez a funkció nem általánosan ismert. A more függvény az egyik parancs, amely nem rendelkezik súgócikkvel. Ha meg szeretné győződni arról, hogy olyan parancsokat Get-Help talál, amelyek nem tartalmaznak súgócikkeket, használja a függvényt a help kereséshez more.

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 is tartalmaz fogalmi Tudnivalók súgócikkeket. A Névjegy cikkek beszerzéséhez frissítenie kell a rendszeren található súgótartalmat. További információ: A fejezet frissítési súgó szakasza.

Az alábbi paranccsal visszaadhatja a rendszer összes About súgócikkének listáját.

help About_*

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

help about_Updatable_Help

Súgó frissítése

A fejezet korábbi részében frissítette a PowerShell súgócikkeit a számítógépen a parancsmag első futtatásakor Get-Help . 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 futnia 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 Force paraméter használatával győződjön meg arról, hogy a súgótartalom legújabb verzióját tölti le.

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 az Save-Help internet-hozzáféréssel rendelkező számítógépen található parancsmagot. Ezután a SourcePath paraméter Update-Help használatával adja meg a mentett frissített súgótartalom helyét.

Get-Command

Get-Command egy másik többcélú parancs, amely segít megtalálni a parancsokat. Ha paraméterek nélkül futtat Get-Command , az visszaadja a rendszer összes PowerShell-parancsának listáját. A parancsszintaxis a következőhöz Get-Helphasonló módon is Get-Command lekérhető.

Hogyan határozhatja meg a szintaxist Get-Command? A jelen fejezet Súgó beolvasása szakaszában látható módon megjelenítheti Get-Help a súgócikketGet-Command. Get-Command A Szintaxis paraméterrel bármely parancs szintaxisát megtekintheti. 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 Szintaxis paraméterrel való használat Get-Command tömörebb áttekintést nyújt a paramétereket és értéktípusaikat megjelenítő szintaxisról anélkül, hogy felsorolja azokat az engedélyezett értékeket, mint például Get-Help a megjelenítés.

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 következőt Get-Help: .

help Get-Command -Full

A SZINTAXIS szakasz Get-Help felhasználóbarátabb megjelenítést biztosít a paraméterek számbavételi é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ó PARAMETERS szakasza azt mutatja, hogy a Név, a Főnév és az Ig paraméter helyettesítő karaktereket Get-Command fogad 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 Név paraméter értékével Get-Command.

Get-Command -Name *service*

Ha helyettesítő karaktereket használ a Név paraméterrel Get-Command, 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 CommandType paraméterrel a PowerShell-parancsok eredményeit Get-Command korlátozhatja.

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

Egy másik lehetőség lehet a Verb vagy a 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 olyan parancsokat keres Get-Command a számítógépen, amelyek folyamatokkal működnek. Használja a főnév paramétert, és adja meg Process annak é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

Összegzés

Ebben a fejezetben megtanulta, hogyan kereshet parancsokat a következővel 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.

Áttekintés

  1. A pozíció DisplayName paramétereGet-Service?
  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.