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-Help
programu , 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-Help
polecenia 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.com
elementu , 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-Help
polecenia , 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 process
elementu .
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-Help
polecenia 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 process
elementu funkcja zwróciła 12 wyników. Jednak podczas wyszukiwania metody processes
wygenerował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źć more
element .
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-Command
elementu ? Możesz użyć Get-Help
polecenia , aby wyświetlić artykuł pomocy dla Get-Command
elementu , 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
- Czy parametr DisplayName jest pozycyjny
Get-Service
? - Ile zestawów parametrów ma
Get-Process
polecenie cmdlet? - Jakie polecenia programu PowerShell istnieją do pracy z dziennikami zdarzeń?
- Jakie polecenie programu PowerShell umożliwia zwrócenie listy procesów programu PowerShell uruchomionych na komputerze?
- 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.