Udostępnij za pośrednictwem


Rozdział 2 — System pomocy

W eksperymencie zaprojektowanym do oceny biegłości w programie PowerShell dwie odrębne grupy specjalistów IT — początkujących i ekspertów — po raz pierwszy otrzymały egzamin pisemny bez dostępu do komputera. Co zaskakujące, wyniki testów wskazywały porównywalne umiejętności w obu grupach. Następnie administrowano kolejnym testem, dublując pierwszy, ale z jedną kluczową różnicą: uczestnicy mieli dostęp do komputera w trybie offline wyposażonego w program PowerShell. Wyniki wykazały znaczącą lukę w umiejętnościach między dwiema grupami tym razem.

Jakie czynniki przyczyniły się do zaobserwowanych wyników między dwiema ocenami?

Eksperci nie zawsze znają odpowiedzi, ale wiedzą, jak ustalić odpowiedzi.

Wyniki obserwowane w wynikach tych dwóch testów były spowodowane tym, że eksperci nie zapamiętują tysięcy poleceń programu PowerShell. Zamiast tego mogą korzystać z systemu Pomocy w programie PowerShell, umożliwiając im odnajdywanie i uczenie się używania poleceń w razie potrzeby.

Bycie biegłym w systemie Pomocy jest kluczem do sukcesu w programie PowerShell.

Słyszałem Jeffrey Snover, twórca programu PowerShell, wielokrotnie dzieliłem się podobną historią.

Odnajdywania

Skompilowane polecenia w programie PowerShell są nazywane poleceniami cmdlet, wymawiane jako "command-let", a nie "CMD-let". Konwencja nazewnictwa poleceń cmdlet jest zgodna z pojedynczym formatem czasownika-rzeczownika , dzięki czemu można je łatwo odnaleźć. Na przykład Get-Process polecenie cmdlet określa, jakie procesy są uruchomione, i Get-Service jest poleceniem cmdlet do pobrania listy usług. Funkcje, znane również jako polecenia cmdlet skryptu i aliasy to inne typy poleceń programu PowerShell, które zostały omówione w dalszej części tej książki. Termin "Polecenie programu PowerShell" opisuje dowolne polecenie w programie PowerShell, niezależnie od tego, czy jest to polecenie cmdlet, funkcja, czy alias.

Można również uruchamiać natywne polecenia systemu operacyjnego z poziomu programu PowerShell, takie jak tradycyjne programy wiersza polecenia, takie jak ping.exe i ipconfig.exe.

Trzy podstawowe polecenia cmdlet w programie PowerShell

  • Get-Help
  • Get-Command
  • Get-Member (opisane w rozdziale 3)

Często pytam: "Jak dowiedzieć się, jakie polecenia są w programie PowerShell?". Zarówno Get-Help , jak i Get-Command są nieocenionymi zasobami do odnajdywania i rozumienia poleceń w programie PowerShell.

Get-Help

Najpierw musisz wiedzieć o systemie Pomocy w programie PowerShell, jak używać Get-Help polecenia cmdlet .

Get-Help to wielozadaniowe polecenie, które pomaga dowiedzieć się, jak używać poleceń po ich znalezieniu. Można również użyć Get-Help polecenia do lokalizowania poleceń, ale w inny i bardziej pośredni sposób w porównaniu z Get-Command.

Podczas używania Get-Help polecenia do lokalizowania poleceń początkowo wykonuje wieloznaczne wyszukiwanie nazw poleceń na podstawie danych wejściowych. Jeśli nie znajdzie żadnych dopasowań, przeprowadzi kompleksowe wyszukiwanie pełnotekstowe we wszystkich artykułach pomocy programu PowerShell w systemie. Jeśli również nie można odnaleźć żadnych wyników, zwraca błąd.

Poniżej przedstawiono sposób Get-Help wyświetlania zawartości pomocy dla Get-Help polecenia cmdlet.

Get-Help -Name Get-Help

Począwszy od programu PowerShell w wersji 3.0, zawartość pomocy nie jest wstępnie zainstalowana w systemie operacyjnym. Po uruchomieniu Get-Help po raz pierwszy zostanie wyświetlony komunikat z pytaniem, czy chcesz pobrać pliki pomocy programu PowerShell na komputer.

Odpowiedź tak przez naciśnięcie Y powoduje wykonanie Update-Help polecenia cmdlet, pobranie zawartości pomocy.

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"):

Jeśli ten komunikat nie zostanie wyświetlony, uruchom polecenie Update-Help z sesji programu PowerShell z podwyższonym poziomem uprawnień uruchomionej jako administrator.

Po zakończeniu aktualizacji zostanie wyświetlony artykuł pomocy.

Pośmiń chwilę, aby uruchomić przykład na komputerze, przejrzeć dane wyjściowe i zobaczyć, jak system pomocy organizuje informacje.

  • NAZWA
  • STRESZCZENIE
  • SKŁADNIA
  • OPIS
  • POWIĄZANE LINKI
  • UWAGI

Podczas przeglądania danych wyjściowych należy pamiętać, że artykuły pomocy często zawierają ogromną ilość informacji i to, co zobaczysz domyślnie, nie jest całym artykułem pomocy.

Parametry

Po uruchomieniu polecenia w programie PowerShell może być konieczne podanie dodatkowych informacji lub danych wejściowych polecenia. Parametry umożliwiają określenie opcji i argumentów, które zmieniają zachowanie polecenia. Sekcja SKŁADNIa każdego artykułu pomocy zawiera opis dostępnych parametrów polecenia.

Get-Help zawiera kilka parametrów, które można określić, aby zwrócić cały artykuł pomocy lub podzbiór polecenia. Aby wyświetlić wszystkie dostępne parametry dla Get-Helpprogramu , zobacz sekcję SKŁADNI w artykule pomocy, jak pokazano w poniższym przykładzie.

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

Zestawy parametrów

Podczas przeglądania sekcji SKŁADNI dla Get-Helppolecenia zwróć uwagę, że informacje są powtarzane sześć razy. Każdy z tych bloków jest pojedynczym zestawem parametrów wskazującym, że Get-Help polecenie cmdlet zawiera sześć odrębnych zestawów parametrów. Bliższe spojrzenie pokazuje, że każdy zestaw parametrów zawiera co najmniej jeden unikatowy parametr, co różni się od innych.

Zestawy parametrów wykluczają się wzajemnie. Po określeniu unikatowego parametru, który istnieje tylko w jednym zestawie parametrów, program PowerShell ogranicza użycie parametrów zawartych w tym zestawie parametrów. Na przykład nie można używać parametrów Get-Help Pełne i Szczegółowe razem, ponieważ należą one do różnych zestawów parametrów.

Każdy z poniższych parametrów należy do innego zestawu parametrów dla Get-Help polecenia cmdlet.

  • Pełny
  • Szczegółowe
  • Przykłady
  • Tryb online
  • Parametr
  • Pokażwindow

Składnia polecenia

Jeśli dopiero zaczynasz korzystać z programu PowerShell, zrozumienie tajemniczych informacji — charakteryzujących się nawiasami kwadratowymi i kątowymi — w sekcji SKŁADNI może wydawać się przytłaczające. Jednak zapoznanie się z tymi elementami składni jest niezbędne, aby stać się biegłym w programie PowerShell. Im częściej używasz systemu Pomocy programu PowerShell, tym łatwiej jest zapamiętać wszystkie niuanse.

Wyświetl składnię Get-EventLog polecenia cmdlet.

Get-Help Get-EventLog

W poniższych danych wyjściowych przedstawiono odpowiednią część artykułu pomocy.

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

Informacje o składni zawierają pary nawiasów kwadratowych ([]). W zależności od ich użycia te nawiasy kwadratowe służą dwóm różnym celom.

  • Elementy ujęte w nawiasy kwadratowe są opcjonalne.
  • Pusty zestaw nawiasów kwadratowych po typie danych, takim jak <string[]>, wskazuje, że parametr może akceptować wiele wartości przekazywanych jako tablica lub obiekt kolekcji.

Parametry pozycyjne

Niektóre polecenia cmdlet są przeznaczone do akceptowania parametrów pozycyjnych. Parametry pozycyjne umożliwiają podanie wartości bez określania nazwy parametru. W przypadku używania parametru pozycjonalnie należy określić jego wartość w poprawnym położeniu w wierszu polecenia. Informacje pozycyjne dotyczące parametru można znaleźć w sekcji PARAMETERS artykułu pomocy polecenia. Po jawnym określeniu nazw parametrów można użyć parametrów w dowolnej kolejności.

Get-EventLog W przypadku polecenia cmdlet pierwszy parametr w pierwszym zestawie parametrów to LogName. LogName jest ujęta w nawiasy kwadratowe, co wskazuje, że jest to parametr pozycyjny.

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

Ponieważ LogName jest parametrem pozycyjnym, można określić go według nazwy lub pozycji. Zgodnie z nawiasami kątowymi po nazwie parametru wartość LogName musi być pojedynczym ciągiem. Brak nawiasów kwadratowych otaczających zarówno nazwę parametru, jak i typ danych wskazuje, że LogName jest wymaganym parametrem w tym konkretnym zestawie parametrów.

Drugi parametr w tym zestawie parametrów to InstanceId. Zarówno nazwa parametru, jak i typ danych są całkowicie ujęte w nawiasy kwadratowe, co oznacza, że InstanceId jest opcjonalnym parametrem.

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

Ponadto , InstanceId ma własną parę nawiasów kwadratowych, wskazując, że jest to parametr pozycyjny podobny do parametru LogName . Po typie danych pusty zestaw nawiasów kwadratowych oznacza, że Identyfikator wystąpienia może akceptować wiele wartości.

Parametry przełącznika

Parametr, który nie wymaga wartości, jest nazywany parametrem przełącznika. Można łatwo zidentyfikować parametry przełącznika, ponieważ nie ma żadnego typu danych po nazwie parametru. Po określeniu parametru przełącznika jego wartość to true. Jeśli nie określisz parametru przełącznika, jego wartość to false.

Drugi zestaw parametrów zawiera parametr List , który jest parametrem przełącznika. Po określeniu parametru Lista zwraca listę dzienników zdarzeń na komputerze lokalnym.

[-List]

Uproszczone podejście do składni

Istnieje bardziej przyjazna dla użytkownika metoda uzyskiwania tych samych informacji co składnia polecenia tajemniczego dla niektórych poleceń, z wyjątkiem zwykłego języka angielskiego. Program PowerShell zwraca pełny artykuł pomocy podczas korzystania Get-Help z parametru Full , co ułatwia zrozumienie użycia polecenia.

Get-Help -Name Get-Help -Full

Pośmiń chwilę, aby uruchomić przykład na komputerze, przejrzeć dane wyjściowe i zobaczyć, jak system pomocy organizuje informacje.

  • NAZWA
  • STRESZCZENIE
  • SKŁADNIA
  • OPIS
  • PARAMETRY
  • DANE WEJŚCIOWE
  • DANE WYJŚCIOWE
  • UWAGI
  • PRZYKŁADY
  • POWIĄZANE LINKI

Określając pełny parametr za Get-Help pomocą polecenia cmdlet, dane wyjściowe zawierają kilka dodatkowych sekcji. W tych sekcjach parametry często zawierają szczegółowe wyjaśnienie dla każdego parametru. Jednak zakres tych informacji różni się w zależności od konkretnego polecenia, które badasz.

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

Po uruchomieniu poprzedniego polecenia, aby wyświetlić pomoc dla Get-Help polecenia, prawdopodobnie zauważysz, że dane wyjściowe przewijane zbyt szybko, aby go odczytać.

Jeśli używasz konsoli programu PowerShell, Terminal Windows lub PROGRAMU VS Code i musisz wyświetlić artykuł pomocy, help funkcja może być przydatna. Przesyła potokowe dane wyjściowe Get-Help do more.comelementu , wyświetlając jedną stronę zawartości pomocy naraz. Zalecam użycie help funkcji zamiast Get-Help polecenia cmdlet, ponieważ zapewnia lepsze środowisko użytkownika i jest mniej do pisania.

Uwaga

Narzędzie ISE nie obsługuje używania metody more.com, dlatego uruchomienie help działa tak samo jak Get-Help.

Uruchom każde z poniższych poleceń w programie PowerShell na komputerze.

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

Czy podczas uruchamiania poprzednich poleceń zaobserwowano jakiekolwiek różnice w danych wyjściowych?

W poprzednim przykładzie pierwszy wiersz używa Get-Help polecenia cmdlet, drugi używa help funkcji, a trzeci wiersz pomija parametr Name podczas korzystania z help funkcji. Ponieważ nazwa jest parametrem pozycyjnym, trzeci przykład wykorzystuje swoją pozycję zamiast jawnie określać nazwę parametru.

Różnica polega na tym, że ostatnie dwa polecenia wyświetlają dane wyjściowe na jednej stronie naraz. W przypadku korzystania z help funkcji naciśnij spację, aby wyświetlić następną stronę zawartości lub Q, aby zakończyć działanie. Jeśli musisz zakończyć dowolne polecenie uruchomione interaktywnie w programie PowerShell, naciśnij Ctrl+C.

Aby szybko znaleźć informacje o określonym parametrze, użyj parametru Parametr . To podejście zwraca zawartość zawierającą tylko informacje specyficzne dla parametrów, a nie cały artykuł pomocy. Jest to najprostszy sposób znajdowania informacji o określonym parametrze.

W poniższym przykładzie użyto help funkcji z parametrem Parametr , aby zwrócić informacje z artykułu pomocy dla parametru Name parametru Get-Help.

help Get-Help -Parameter Name

Informacje pomocy pokazują, że parametr Name jest pozycyjny i musi być określony w pierwszej pozycji (pozycja zero) w przypadku użycia pozycji.

-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

Parametr Name oczekuje wartości ciągu zidentyfikowanej przez <String> typ danych obok nazwy parametru.

Istnieje kilka innych parametrów, które można określić za pomocą polecenia , Get-Help aby zwrócić podzbiór artykułu pomocy. Aby zobaczyć, jak działają, uruchom następujące polecenia na komputerze.

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

Zazwyczaj używam help <command name> z parametrem Full lub Online . Jeśli interesuje Cię tylko przykład, użyj parametru Przykłady . Jeśli interesuje Cię tylko określony parametr, użyj parametru Parametr .

W przypadku korzystania z parametru ShowWindow wyświetla zawartość pomocy w osobnym oknie z możliwością wyszukiwania. Możesz przenieść to okno do innego monitora, jeśli masz wiele monitorów. Jednak parametr ShowWindow ma znaną usterkę, która może uniemożliwić wyświetlenie całego artykułu pomocy. Parametr ShowWindow wymaga również systemu operacyjnego z graficznym interfejsem użytkownika (GUI). Zwraca błąd podczas próby użycia go w systemie Windows Server Core.

Jeśli masz dostęp do Internetu, możesz zamiast tego użyć parametru Online . Parametr Online otwiera artykuł pomocy w domyślnej przeglądarce internetowej. Zawartość online jest najbardziej aktualną zawartością. Przeglądarka umożliwia wyszukiwanie zawartości pomocy i wyświetlanie innych powiązanych artykułów pomocy.

Uwaga

Parametr online nie jest obsługiwany w artykułach About (Informacje).

help Get-Command -Online

Znajdowanie poleceń za pomocą polecenia Get-Help

Aby znaleźć polecenia za pomocą Get-Helppolecenia , określ termin wyszukiwania otoczony gwiazdką (*) symbolami wieloznacznymi dla wartości parametru Name . W poniższym przykładzie użyto parametru Name pozycjonalnie.

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

W tym scenariuszu nie trzeba dodawać symboli * wieloznacznych. Jeśli Get-Help nie można znaleźć polecenia pasującego do podanej wartości, wykonuje wyszukiwanie pełnotekstowe dla tej wartości. Poniższy przykład generuje te same wyniki co określanie symbolu * wieloznacznych na każdym końcu processelementu .

help process

Po określeniu symbolu wieloznakowego w wartości Get-Help wyszukiwane są tylko polecenia zgodne ze podanym wzorcem. Nie wykonuje wyszukiwania pełnotekstowego. Następujące polecenie nie zwraca żadnych wyników.

help pr*cess

Program PowerShell generuje błąd, jeśli określisz wartość rozpoczynającą się od kreski bez ujęć go w cudzysłów, ponieważ interpretuje ją jako nazwę parametru. Dla polecenia cmdlet nie istnieje żadna taka nazwa parametru Get-Help .

help -process

Jeśli próbujesz wyszukać polecenia kończące się ciągiem -process, musisz dodać element * na początku wartości.

help *-process

Podczas wyszukiwania poleceń programu PowerShell za pomocą Get-Helppolecenia lepiej być niejasne, a nie zbyt szczegółowe.

Po wyszukaniu wcześniej process wyniki zwróciły tylko polecenia, które zostały uwzględnione process w ich nazwie. Jeśli jednak wyszukasz ciąg processes, nie znajdzie żadnych dopasowań dla nazw poleceń. Jak wspomniano wcześniej, gdy pomoc nie znajdzie żadnych dopasowań, wykonuje kompleksowe wyszukiwanie pełnotekstowe każdego artykułu pomocy w systemie i zwraca te wyniki. Ten typ wyszukiwania często generuje więcej wyników niż oczekiwano, w tym informacje, które nie są istotne dla Ciebie.

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

Po wyszukaniu processelementu funkcja zwróciła 12 wyników. Jednak podczas wyszukiwania metody processeswygenerowało 78 wyników. Jeśli wyszukiwanie znajdzie tylko jedno dopasowanie, Get-Help wyświetla zawartość pomocy zamiast wyświetlać wyniki wyszukiwania.

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"

Możesz również znaleźć polecenia, które nie mają artykułów pomocy w programie Get-Help, chociaż ta funkcja nie jest powszechnie znana. Funkcja more jest jednym z poleceń, które nie mają artykułu pomocy. Aby potwierdzić, że polecenia nie Get-Help zawierają artykułów pomocy, użyj help funkcji , aby znaleźć moreelement .

help *more*

Wyszukiwanie znalazło tylko jedno dopasowanie, dlatego zwróciło podstawowe informacje o składni widoczne, gdy polecenie nie ma artykułu pomocy.

NAME
    more

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

ALIASES
    None

REMARKS
    None

System pomocy programu PowerShell zawiera również artykuły pomocy dotyczące pojęć. Aby uzyskać artykuły Informacje , należy zaktualizować zawartość pomocy w systemie. Aby uzyskać więcej informacji, zobacz sekcję Aktualizowanie pomocy w tym rozdziale.

Użyj następującego polecenia, aby zwrócić listę wszystkich artykułów pomocy about w systemie.

help About_*

Po ograniczeniu wyników do jednego artykułu Get-Help Pomocy — informacje zostanie wyświetlona zawartość tego artykułu.

help about_Updatable_Help

Aktualizowanie pomocy

Wcześniej w tym rozdziale zaktualizowano artykuły pomocy programu PowerShell na komputerze przy pierwszym uruchomieniu Get-Help polecenia cmdlet. Należy okresowo uruchamiać polecenie Update-Help cmdlet na komputerze, aby uzyskać aktualizacje zawartości pomocy.

Ważne

W programie Windows PowerShell 5.1 należy uruchomić Update-Help go jako administrator w sesji programu PowerShell z podwyższonym poziomem uprawnień.

W poniższym przykładzie Update-Help pobiera zawartość pomocy programu PowerShell dla wszystkich modułów zainstalowanych na komputerze. Należy użyć parametru Force , aby upewnić się, że pobrana jest najnowsza wersja zawartości pomocy.

Update-Help -Force

Jak pokazano w poniższych wynikach, moduł zwrócił błąd. Błędy nie są rzadkością i zwykle występują, gdy autor modułu nie konfiguruje prawidłowo aktualizowalnej pomocy.

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 wymaga dostępu do Internetu w celu pobrania zawartości pomocy. Jeśli komputer nie ma dostępu do Internetu, użyj Save-Help polecenia cmdlet na komputerze z dostępem do Internetu, aby pobrać i zapisać zaktualizowaną zawartość pomocy. Następnie użyj parametru SourcePath polecenia , Update-Help aby określić lokalizację zapisanej zaktualizowanej zawartości pomocy.

Get-Command

Get-Command to kolejne polecenie wielozadaniowe, które ułatwia znajdowanie poleceń. Po uruchomieniu Get-Command bez żadnych parametrów zwraca listę wszystkich poleceń programu PowerShell w systemie. Możesz również użyć Get-Command polecenia , aby uzyskać składnię polecenia podobną do Get-Help.

Jak określić składnię dla Get-Commandelementu ? Możesz użyć Get-Help polecenia , aby wyświetlić artykuł pomocy dla Get-Commandelementu , jak pokazano w sekcji Get-Help w tym rozdziale. Można również użyć Get-Command z parametrem Składnia , aby wyświetlić składnię dla dowolnego polecenia. Ten skrót ułatwia szybkie określenie, jak używać polecenia bez przechodzenia przez zawartość pomocy.

Get-Command -Name Get-Command -Syntax

Użycie parametru Get-Command Składnia zapewnia bardziej zwięzły widok składni, który pokazuje parametry i ich typy wartości, bez wyświetlania określonych dozwolonych wartości, takich jak Get-Help pokazano.

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

Jeśli potrzebujesz bardziej szczegółowych informacji na temat używania polecenia, użyj polecenia Get-Help.

help Get-Command -Full

Sekcja SKŁADNIa zawiera Get-Help bardziej przyjazny dla użytkownika ekran, rozszerzając wyliczone wartości parametrów. Przedstawia rzeczywiste wartości, których można użyć, co ułatwia zrozumienie dostępnych opcji.

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

Sekcja PARAMETERS pomocy w celu Get-Command wyświetlenia, że parametry Name, Noun i Verb akceptują symbole wieloznaczne .

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

W poniższym przykładzie użyto symbolu * wieloznakowego z wartością parametru Name parametru Get-Command.

Get-Command -Name *service*

Gdy używasz symboli wieloznacznych z parametrem Name parametru Get-Command, zwraca polecenia programu PowerShell i polecenia natywne, jak pokazano w poniższych wynikach.


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

Wyniki poleceń Get-Command programu PowerShell można ograniczyć przy użyciu parametru CommandType .

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

Inną opcją może być użycie parametru Czasownik lub Noun albo oba te polecenia, ponieważ tylko polecenia programu PowerShell mają czasowniki i czasowniki.

W poniższym przykładzie użyto Get-Command polecenia do znajdowania poleceń na komputerze, które współpracują z procesami. Użyj parametru Noun i określ Process jako jego wartość.

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

Podsumowanie

W tym rozdziale przedstawiono sposób znajdowania poleceń za pomocą Get-Help poleceń i Get-Command. Wiesz również, jak używać systemu pomocy, aby zrozumieć, jak używać poleceń po ich znalezieniu. Ponadto przedstawiono sposób aktualizowania systemu pomocy na komputerze, gdy jest dostępna nowa zawartość pomocy.

Wykonaj przegląd

  1. Czy parametr DisplayName jest pozycyjnyGet-Service?
  2. Ile zestawów parametrów ma Get-Process polecenie cmdlet?
  3. Jakie polecenia programu PowerShell istnieją do pracy z dziennikami zdarzeń?
  4. Jakie polecenie programu PowerShell umożliwia zwrócenie listy procesów programu PowerShell uruchomionych na komputerze?
  5. Jak zaktualizować zawartość pomocy programu PowerShell przechowywaną na komputerze?

Informacje

Aby dowiedzieć się więcej na temat pojęć omówionych w tym rozdziale, przeczytaj następujące artykuły pomocy programu PowerShell.

Następne kroki

W następnym rozdziale poznasz obiekty, właściwości, metody i Get-Member polecenie cmdlet.