Get-Command (Polski)

Moduł: Microsoft.PowerShell.Core

Uzyskuje wszystkie polecenia.

Syntaktyka

Get-Command >] >] >] >] <Object>] >] >] 
Get-Command <String>] >] >] <Object>] >] >] 

Opis

Ccmdlet Get-Command pobiera wszystkie polecenia, które są zainstalowane na komputerze, w tym cmdletów, aliasów, funkcji, filtrów, skryptów i aplikacji. Get-Command Pobiera polecenia z modułów PowerShell oraz polecenia, które zostały zaimportowane z innych sesji. Aby pobrać tylko polecenia, które zostały zaimportowane do bieżącej sesji, użyj parametru ListImported.

Bez parametrów, Get-Command pobierane są wszystkie polecenia cmdlets, funkcje i aliasy zainstalowane na komputerze. Get-Command * Pobiera wszystkie typy poleceń, w tym wszystkie pliki niebędące plikami PowerShell w zmiennej środowiskowej Path ($env:Path), które wymienia w typie polecenia Application.

Get-Command która używa dokładnej nazwy polecenia, bez znaków wieloznacznych, automatycznie importuje moduł, który zawiera polecenie, dzięki czemu można go natychmiast użyć. Aby włączyć, wyłączyć i skonfigurować automatyczne importowanie modułów, użyj zmiennej preferencji $PSModuleAutoLoadingPreference. Więcej informacji można znaleźć w temacie about_Preference_Variables.

Get-Command pobiera dane bezpośrednio z kodu polecenia, w przeciwieństwie do Get-Help, który pobiera informacje z tematów pomocy.

Począwszy od Windows PowerShell 5.0, wyniki działania cmdleta Get-Command domyślnie wyświetlają kolumnę Version. Nowa właściwość Version została dodana do klasy CommandInfo.

Przykłady

Przykład 1: Pobierz cmdlets, funkcje i aliasy

To polecenie pobiera cmdlets, funkcje i aliasy PowerShell, które są zainstalowane na komputerze.

Get-Command

Przykład 2: Pobierz polecenia w bieżącej sesji

Ta komenda używa parametru ListImported, aby uzyskać tylko polecenia w bieżącej sesji.

Get-Command -ListImported

Przykład 3: Pobierz cmdlety i wyświetl je w kolejności

To polecenie pobiera wszystkie cmdlety, sortuje je alfabetycznie według rzeczownika w nazwie cmdletu, a następnie wyświetla je w grupach opartych na rzeczowniku. Takie wyświetlanie może pomóc w znalezieniu cmdletów dla danego zadania.

Get-Command -Type Cmdlet | Sort-Object -Property Noun | Format-Table -GroupBy Noun

Przykład 4: Pobierz polecenia w module

To polecenie używa parametru Module, aby uzyskać polecenia w Microsoft.PowerShell.Securityand Microsoft.PowerShell.Utility modules.

Get-Command -Module Microsoft.PowerShell.Security, Microsoft.PowerShell.Utility

Przykład 5: Uzyskaj informacje o cmdlecie

Ta komenda uzyskuje informacje o cmdlecie Get-AppLockerPolicy. Importuje również modułAppLocker, który dodaje wszystkie polecenia z modułu AppLocker do bieżącej sesji.

Get-Command Get-AppLockerPolicy

Gdy moduł jest importowany automatycznie, efekt jest taki sam jak przy użyciu cmdletu Import-Module.Moduł może dodawać polecenia, typy i pliki formatowania oraz uruchamiać skrypty w sesji. Aby włączyć, wyłączyć i skonfigurować automatyczne importowanie modułów, należy użyć zmiennej preferencji $PSModuleAutoLoadingPreference. Aby uzyskać więcej informacji, zobacz about_Preference_Variables.

Przykład 6: Uzyskaj składnię cmdleta

To polecenie wykorzystuje parametry ArgumentList i Syntax, aby uzyskać składnię Get-ChildItemcmdleta, gdy jest on używany w napędzie Cert:. Dysk Cert: jest dyskiem PowerShell, który dostawca certyfikatów dodaje do sesji.

Get-Command -Name Get-Childitem -Args Cert: -Syntax

Porównując składnię wyświetlaną na wyjściu ze składnią, która jest wyświetlana po pominięciu parametru Args (ArgumentList), można zauważyć, że dostawca certyfikatów dodaje dynamiczny parametr CodeSigningCert do cmdletu Get-ChildItem cmdlet.

Więcej informacji na temat dostawcy certyfikatów można znaleźć w części about_Certificate_Provider.

Przykład 7: Uzyskaj parametry dynamiczne

Polecenie w przykładzie wykorzystuje funkcję Get-DynamicParameters do uzyskania parametrów dynamicznych, które dostawca certyfikatów dodaje do cmdletu Get-ChildItem cmdlet, gdy jest on używany w napędzie Cert:.

function Get-DynamicParameters{ param ($Cmdlet, $PSDrive) (Get-Command -Name $Cmdlet -ArgumentList $PSDrive).ParameterSets | ForEach-Object {$_.Parameters} | Where-Object { $_.IsDynamic } | Select-Object -Property Name -Unique}Get-DynamicParameters -Cmdlet Get-ChildItem -PSDrive Cert:Name----CodeSigningCert

Funkcja Get-DynamicParameters w tym przykładzie pobiera dynamiczne parametry cmdletu. Jest to alternatywa dla metody użytej w poprzednim przykładzie. Parametr dynamiczny może być dodany do acmdleta przez inny cmdlet lub provider.

Przykład 8: Pobierz wszystkie polecenia wszystkich typów

Ta komenda pobiera wszystkie polecenia wszystkich typów na komputerze lokalnym, w tym pliki wykonywalne w ścieżkach zmiennej środowiskowej Path ($env:path).

Get-Command *

Zwraca obiekt ApplicationInfo (System.Management.Automation.ApplicationInfo) dla każdego pliku, a nie obiekt FileInfo (System.IO.FileInfo).

Przykład 9: Pobierz cmdlets używając nazwy parametru i typu

To polecenie pobiera cmdlets, które mają parametr, którego nazwa zawiera Auth i którego typ toAuthenticationMechanism.

Get-Command -ParameterName *Auth* -ParameterType AuthenticationMechanism

Możesz użyć polecenia takiego jak to, aby znaleźć cmdlety, które pozwalają określić metodę, która jest używana do uwierzytelniania użytkownika.

ParametrType odróżnia parametry, które przyjmują wartość AuthenticationMechanism od tych, które przyjmują parametr AuthenticationLevel, nawet jeśli mają podobne nazwy.

Przykład 10: Uzyskaj alias

Ten przykład pokazuje, jak używać cmdletu Get-Command z aliasem.

Get-Command -Name dirCommandType Name ModuleName----------- ---- ----------Alias dir -> Get-ChildItem

Pomimo, że jest to typowe zastosowanie dla cmdletów i funkcji, Get-Command pobiera również skrypty, funkcje, aliasy i pliki wykonywalne.

Wyniki polecenia pokazują specjalny widok wartości właściwości Name dla aliasów. Widok ten pokazuje alias i pełną nazwę polecenia.

Przykład 11: Pobierz składnię z aliasu

Przykład ten pokazuje, jak uzyskać składnię wraz ze standardową nazwą aliasu.

Wyjście polecenia pokazuje alias oznaczony etykietą ze standardową nazwą, a następnie składnię.

Get-Command -Name dir -Syntaxdir (alias) -> Get-ChildItemdir <string>] <string>] >] >] >] dir <string>] -LiteralPath <string> >] >] >] 

Przykład 12: Pobierz wszystkie instancje polecenia Notatnik

Ten przykład wykorzystuje parametr All polecenia Get-Command cmdlet, aby wyświetlić wszystkie instancje poleceniaNotepad na komputerze lokalnym.

Get-Command Notepad -All | Format-Table CommandType, Name, DefinitionCommandType Name Definition----------- ---- ----------Application notepad.exe C:\WINDOWS\system32\notepad.exeApplication NOTEPAD.EXE C:\WINDOWS\NOTEPAD.EXE

Parametr All jest przydatny, gdy w sesji znajduje się więcej niż jedno polecenie o tej samej nazwie.

Zaczynając od Windows PowerShell 3.0, domyślnie, gdy sesja zawiera wiele poleceń o tej samej nazwie, Get-Command pobiera tylko to polecenie, które jest uruchamiane po wpisaniu nazwy polecenia. Z parametrem All, Get-Command pobiera wszystkie polecenia o podanej nazwie i zwraca je w kolejności pierwszeństwa wykonania. Aby uruchomić polecenie inne niż pierwsze na liście, wpisz pełną kwalifikowaną ścieżkę do polecenia.

Więcej informacji o pierwszeństwie poleceń, zobacz about_Command_Precedence.

Przykład 13: Uzyskaj nazwę modułu, który zawiera cmdlet

To polecenie uzyskuje nazwę modułu, w którym powstał Get-Date cmdlet.Polecenie wykorzystuje właściwość ModuleName wszystkich poleceń.

(Get-Command Get-Date).ModuleNameMicrosoft.PowerShell.Utility

Ten format polecenia działa na polecenia w modułach PowerShell, nawet jeśli nie są one zaimportowane do sesji.

Przykład 14: Pobierz cmdlety i funkcje, które mają typ wyjściowy

Get-Command -Type Cmdlet | Where-Object OutputType | Format-List -Property Name, OutputType

To polecenie pobiera cmdlety i funkcje, które mają typ wyjściowy oraz typ obiektów, które zwracają.

Pierwsza część polecenia pobiera wszystkie cmdlety. Operator potoku (|) wysyła cmdlety do cmdletaWhere-Object, który wybiera tylko te, w których właściwość OutputType jest wypełniona. Inny operator potoku wysyła wybrane obiekty cmdletów do cmdleta Format-List , który wyświetla nazwę i typ wyjścia każdego cmdleta na liście.

Właściwość OutputType obiektu CommandInfo ma wartość non-null tylko wtedy, gdy cmdletcode definiuje atrybut OutputType dla cmdleta.

Przykład 15: Pobierz polecenia cmdlet, które pobierają określony typ obiektu jako dane wejściowe

Get-Command -ParameterType (((Get-NetAdapter)).PSTypeNames)CommandType Name ModuleName----------- ---- ----------Function Disable-NetAdapter NetAdapterFunction Enable-NetAdapter NetAdapterFunction Rename-NetAdapter NetAdapterFunction Restart-NetAdapter NetAdapterFunction Set-NetAdapter NetAdapter

To polecenie znajduje polecenia cmdlet, które pobierają obiekty adaptera sieciowego jako dane wejściowe. Możesz użyć tego formatu polecenia, aby znaleźć polecenia cmdlet, które akceptują typ obiektów zwracanych przez dowolne polecenie.

Polecenie wykorzystuje wewnętrzną właściwość PSTypeNames wszystkich obiektów, która pobiera typy opisujące dany obiekt. Aby uzyskać właściwość PSTypeNames adaptera sieciowego, a nie właściwośćPSTypeNames kolekcji adapterów sieciowych, polecenie używa notacji tablicowej, aby uzyskać pierwszy adapter sieciowy, który zwróci cmdlet.

Przykład 16: Uzyskaj polecenia przy użyciu dopasowania rozmytego

W tym przykładzie nazwa polecenia celowo zawiera literówkę jako „get-commnd”.Używając przełącznika -UseFuzzyMatching, cmdlet określił, że najlepszym dopasowaniem było Get-Command, a następnie inne natywne polecenia w systemie, które były podobne.

Get-Command get-commnd -UseFuzzyMatchingCommandType Name Version Source----------- ---- ------- ------Cmdlet Get-Command 6.2.0.0 Microsoft.PowerShell.CoreApplication getconf 0.0.0.0 /usr/bin/getconfApplication command 0.0.0.0 /usr/bin/command

Parametry

-Wszystkie

Wskazuje, że ten cmdlet pobiera wszystkie polecenia, w tym polecenia tego samego typu, które mają taką samą nazwę. Domyślnie Get-Command pobierane są tylko polecenia uruchamiane po wpisaniu nazwy polecenia.

Aby uzyskać więcej informacji na temat metody, której PowerShell używa do wyboru polecenia do uruchomienia, gdy wiele poleceń ma tę samą nazwę, zobacz about_Command_Precedence.Informacje na temat nazw poleceń kwalifikowanych przez moduły i uruchamiania poleceń, które nie są domyślnie uruchamiane z powodu konfliktu nazw, można znaleźć w temacie about_Modules.

Parametr ten został wprowadzony w Windows PowerShell 3.0.

W Windows PowerShell 2.0, Get-Command domyślnie pobiera wszystkie polecenia.

Typ: SwitchParameter
Pozycja: Named
Default value: None
Accept pipeline input: True
Accept wildcard characters: False
-ArgumentList

Podajemy tablicę argumentów. Ten cmdlet pobiera informacje o cmdlecie lub funkcji, gdy jest ona używana z określonymi parametrami („argumentami”). Aliasem dla ArgumentList jest Args.

Aby wykryć parametry dynamiczne, które są dostępne tylko wtedy, gdy używane są pewne inne parametry, ustaw wartość ArgumentList na parametry, które wywołują parametry dynamiczne.

Aby wykryć parametry dynamiczne, które dostawca dodaje do cmdleta, ustaw wartość parametruArgumentList na ścieżkę w dysku dostawcy, taką jak WSMan:, HKLM: lub Cert:. Jeżeli polecenie jest cmdletem dostawcy PowerShell, należy wprowadzić tylko jedną ścieżkę w każdym poleceniu. Polecenia providercmdlet zwracają tylko dynamiczne parametry dla pierwszej ścieżki wartość ArgumentList. Aby uzyskać informacje na temat cmdletów provider, zobacz about_Providers.

Typ: Obiekt
Alias: Args
Pozycja: 1
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-CommandType

Określa typy poleceń, które pobiera ten cmdlet. Podaj jeden lub więcej typów poleceń. UżyjCommandType lub jego aliasu, Type. Domyślnie Get-Command pobiera wszystkie cmdlety, funkcje i aliasy.

Dopuszczalne wartości dla tego parametru to:

  • Alias. Uzyskuje aliasy wszystkich poleceń PowerShell. Aby uzyskać więcej informacji, zobacz about_Aliases.
  • All. Wyświetla wszystkie typy poleceń. Ta wartość parametru jest odpowiednikiem Get-Command *.
  • Application. Pobiera pliki niebędące plikami PowerShell, znajdujące się w ścieżkach wymienionych w zmiennej środowiskowej Path ($env:path), w tym pliki .txt, .exe i .dll. Więcej informacji o zmiennej środowiskowejPath można znaleźć w about_Environment_Variables.
  • Cmdlet. Wyświetla wszystkie polecenia cmdlet.
  • Skrypta zewnętrzne. Pobiera wszystkie pliki .ps1 znajdujące się w ścieżkach wymienionych w zmiennej środowiskowej Path ($env:path).
  • Filtr i funkcja. Pobiera wszystkie zaawansowane i proste funkcje i filtry PowerShell.
  • Skrypty. Pobiera wszystkie bloki skryptów. Aby uzyskać skrypty PowerShell (pliki .ps1), należy użyć wartości ExternalScript.
Type: CommandTypes
Aliases: Type
Accepted values: Alias, Function, Filter, Cmdlet, ExternalScript, Application, Script, Workflow, Configuration, All
Position: Named
Default value: None
Accept pipeline input: True
Accept wildcard characters: False
-FullyQualifiedModule

Określa moduły o nazwach, które są określone w postaci obiektów ModuleSpecification, opisanych w sekcji Remarks konstruktora ModuleSpecification (Hashtable).Na przykład, parametr FullyQualifiedModule akceptuje nazwę modułu, która jest określona w jednym z następujących formatów:

  • @{ModuleName = "modulename"; ModuleVersion = "version_number"}
  • @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}

ModuleName i ModuleVersion są wymagane, ale Guid jest opcjonalny.

Nie można określić parametru FullyQualifiedModule w tym samym poleceniu co parametr Moduleleparameter. Te dwa parametry wzajemnie się wykluczają.

Typ: ModuleSpecification
Pozycja: Named
Default value: None
Accept pipeline input: True
Accept wildcard characters: False
-ListImported

Wskazuje, że ten cmdlet pobiera tylko polecenia w bieżącej sesji.

Począwszy od PowerShell 3.0, domyślnie Get-Command pobiera wszystkie zainstalowane polecenia, w tym między innymi polecenia w bieżącej sesji. W PowerShell 2.0 pobierane są tylko polecenia w bieżącej sesji.

Parametr ten został wprowadzony w Windows PowerShell 3.0.

Typ: SwitchParameter
Pozycja: Named
Default value: None
Accept pipeline input: True
Accept wildcard characters: False
-Module

Wskazuje tablicę modułów. Ten cmdlet pobiera polecenia, które pochodzą z określonych modułów.Podaj nazwy modułów lub obiektów modułów.

Ten parametr przyjmuje wartości łańcuchowe, ale wartością tego parametru może być również obiekt PSModuleInfoobject, taki jak obiekty, które zwracają cmdlety Get-Module i Import-PSSession.

Type: String
Aliases: PSSnapin
Position: Named
Default value: None
Accept pipeline input: True
Accept wildcard characters: True
Nazwa

Wskazuje tablicę nazw. Ten cmdlet pobiera tylko polecenia, które mają podaną nazwę. Podaj nazwę lub wzór nazwy. Dozwolone są znaki wieloznaczne.

Aby uzyskać polecenia o tej samej nazwie, należy użyć parametru Wszystkie. Jeśli dwa polecenia mają tę samą nazwę, domyślnie Get-Command zostanie pobrane polecenie, które zostanie uruchomione po wpisaniu nazwy polecenia.

Typ: Ciąg
Pozycja: 0
Default value: None
Accept pipeline input: True
Accept wildcard characters: True
Noun

Określa tablicę rzeczowników poleceń. Ten cmdlet pobiera polecenia, które zawierają polecenia cmdlet, funkcje i aliasy, których nazwy zawierają podany rzeczownik. Wprowadź jeden lub więcej rzeczowników lub wzorców rzeczowników. Dozwolone są znaki wieloznaczne.

Type: String
Pozycja: Named
Default value: None
Accept pipeline input: True
Accept wildcard characters: True
-ParameterName

Określa tablicę nazw parametrów. Ten cmdlet pobiera polecenia w sesji, które mają określone parametry. Podaj nazwę parametru lub alias parametru. Obsługiwane są znaki wieloznaczne.

Parametry ParameterName i ParameterType wyszukują tylko polecenia w bieżącej sesji.

Ten parametr został wprowadzony w Windows PowerShell 3.0.

Typ: Ciąg
Pozycja: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: True
-ParameterType

Określa tablicę nazw parametrów. Ten cmdlet pobiera polecenia w sesji, które mają parametry określonego typu. Podaj pełną nazwę lub częściową nazwę typu parametru. Obsługiwane są znaki wieloznaczne.

Parametry ParameterName i ParameterType wyszukują tylko polecenia w bieżącej sesji.

Parametr ten został wprowadzony w Windows PowerShell 3.0.

Typ: PSTypeName
Pozycja: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: True
-ShowCommandInfo

Wskazuje, że ten cmdlet wyświetla informacje o poleceniu.

Ten parametr został wprowadzony w Windows PowerShell 5.0.

Typ: SwitchParameter
Pozycja: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Syntaktyka

Wskazuje, że ten cmdlet pobiera tylko następujące określone dane o poleceniu:

  • Alias. Uzyskuje standardową nazwę i składnię.
  • Cmdlets. Uzyskuje składnię.
  • Funkcje i filtry. Uzyskuje definicję funkcji.
  • Skrypty i aplikacje lub pliki. Uzyskuje ścieżkę i nazwę pliku.
Typ: SwitchParameter
Pozycja: Named
Default value: None
Accept pipeline input: True
Accept wildcard characters: False
-TotalCount

Określa liczbę poleceń do pobrania. Możesz użyć tego parametru, aby ograniczyć wyjście acommand.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: True
Accept wildcard characters: False
-UseAbbreviationExpansion

Wskazuje użycie dopasowania znaków w poleceniu do wyszukiwania z dużymi literami w poleceniu. Na przykład, i-psdf będzie pasować do Import-PowerShellDataFile ponieważ każdy ze znaków do znalezienia pasuje do wielkiej litery w wyniku. Kiedy używasz tego typu dopasowania, wszelkie symbole wieloznaczne nie będą skutkowały dopasowaniem.

Typ: SwitchParameter
Pozycja: Named
Default value: None
Accept pipeline input: True
Accept wildcard characters: False
-UseFuzzyMatching

Wskazuje użycie algorytmu dopasowania rozmytego podczas wyszukiwania poleceń. Kolejność wyników jest od najbardziej zbliżonego do najmniej prawdopodobnego dopasowania. Nie należy używać znaków wieloznacznych z dopasowaniem rozmytym, ponieważ będzie ono próbowało dopasować komendy, które mogą zawierać te znaki.

Typ: SwitchParameter
Pozycja: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Verb

Podajemy tablicę czasowników poleceń. Ten cmdlet pobiera polecenia, które zawierają polecenia cmdlet, funkcje i aliasy, których nazwy zawierają określony czasownik. Wprowadź jeden lub więcej czasowników lub wzorców czasowników. Dozwolone są znaki wieloznaczne.

Type: String
Position: Named
Default value: None
Accept pipeline input: True
Accept wildcard characters: True

Inputs

String

Do tego cmdleta można przesyłać nazwy poleceń.

Outputs

CommandInfo

Ten cmdlet zwraca obiekty wywodzące się z klasy CommandInfo. Typ zwracanego obiektu zależy od typu polecenia, które Get-Command dostaje.

AliasInfo

Opowiada aliasom.

ApplicationInfo

Opowiada aplikacjom i plikom.

CmdletInfo

Opowiada cmdletom.

FunctionInfo

Opowiada o funkcjach i filtrach.

Uwagi

  • Gdy więcej niż jedno polecenie o tej samej nazwie jest dostępne dla sesji, Get-Command zwraca polecenie, które zostanie uruchomione po wpisaniu nazwy polecenia. Aby uzyskać polecenia o tej samej nazwie, wymienione w kolejności wykonywania, użyj parametru Wszystkie. Aby uzyskać więcej informacji, zobaczabout_Command_Precedence.
  • Gdy moduł jest importowany automatycznie, efekt jest taki sam jak przy użyciu polecenia Import-Modulecmdlet. Moduł może dodawać polecenia, typy i pliki formatujące oraz uruchamiać skrypty w sesji.Aby włączyć, wyłączyć i skonfigurować automatyczne importowanie modułów, użyj zmiennej preferencji$PSModuleAutoLoadingPreference. Aby uzyskać więcej informacji, zobaczabout_Preference_Variables.
  • Export-PSSession
  • Get-Help
  • Get-Member
  • Get-PSDrive
  • Import-PSSession
  • about_Command_Precedence

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *