다음을 통해 공유


Get-Command

모든 명령을 가져옵니다.

구문

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

Description

cmdlet은 Get-Command cmdlet, 별칭, 함수, 필터, 스크립트 및 애플리케이션을 포함하여 컴퓨터에 설치된 모든 명령을 가져옵니다. Get-Command 는 PowerShell 모듈의 명령과 다른 세션에서 가져온 명령을 가져옵니다. 현재 세션으로 가져온 명령만 가져오려면 ListImported 매개 변수를 사용합니다.

매개 변수 Get-Command 가 없으면 컴퓨터에 설치된 모든 cmdlet, 함수 및 별칭을 가져옵니다. Get-Command * 는 애플리케이션 명령 유형에 나열된 Path 환경 변수()$env:PATH의 모든 비 PowerShell 파일을 포함하여 모든 유형의 명령을 가져옵니다.

Get-Command 와일드카드 문자 없이 명령의 정확한 이름을 사용하는 경우 명령을 즉시 사용할 수 있도록 명령이 포함된 모듈을 자동으로 가져옵니다. 모듈의 자동 가져오기를 사용하도록 설정, 사용 안 함 및 구성하려면 기본 설정 변수를 $PSModuleAutoLoadingPreference 사용합니다. 자세한 내용은 about_Preference_Variables 참조하세요.

Get-Command 는 도움말 항목에서 해당 정보를 가져오는 것과 달리 Get-Help명령 코드에서 직접 해당 데이터를 가져옵니다.

Windows PowerShell 5.0부터 cmdlet의 Get-Command 결과에는 기본적으로 버전 열이 표시됩니다. CommandInfo 클래스에 새 Version 속성이 추가되었습니다.

예제

예제 1: cmdlet, 함수 및 별칭 가져오기

이 명령은 컴퓨터에 설치된 PowerShell cmdlet, 함수 및 별칭을 가져옵니다.

Get-Command

예제 2: 현재 세션에서 명령 가져오기

이 명령은 ListImported 매개 변수를 사용하여 현재 세션의 명령만 가져옵니다.

Get-Command -ListImported

예제 3: cmdlet을 가져와 순서대로 표시

이 명령은 모든 cmdlet을 가져오고 cmdlet 이름의 명사로 사전순으로 정렬한 다음 명사 기반 그룹에 표시합니다. 이 표시는 작업에 대한 cmdlet을 찾는 데 도움이 될 수 있습니다.

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

예제 4: 모듈에서 명령 가져오기

이 명령은 Module 매개 변수를 사용하여 Microsoft.PowerShell.Security 및 Microsoft.PowerShell.Utility 모듈에서 명령을 가져옵니다.

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

예제 5: cmdlet에 대한 정보 가져오기

이 명령은 cmdlet에 Get-AppLockerPolicy 대한 정보를 가져옵니다. 또한 AppLocker 모듈을 가져와 AppLocker 모듈의 모든 명령을 현재 세션에 추가합니다.

Get-Command Get-AppLockerPolicy

모듈을 자동으로 가져오는 경우 효과는 Import-Module cmdlet을 사용하는 것과 동일합니다. 모듈은 세션에서 명령, 유형 및 형식 지정 파일을 추가하고 스크립트를 실행할 수 있습니다. 모듈의 자동 가져오기를 사용하도록 설정, 사용 안 함 및 구성하려면 기본 설정 변수를 $PSModuleAutoLoadingPreference 사용합니다. 자세한 내용은 about_Preference_Variables 참조하세요.

예제 6: cmdlet의 구문 가져오기

이 명령은 ArgumentList구문 매개 변수를 사용하여 Cert: 드라이브에서 사용될 때 cmdlet의 구문을 Get-ChildItem 가져옵니다. 인증서: 드라이브는 인증서 공급자가 세션에 추가하는 PowerShell 드라이브입니다.

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

출력에 표시되는 구문을 Args(ArgumentList) 매개 변수를 생략할 때 표시되는 구문과 비교하면 인증서 공급자동적 매개 변수인 CodeSigningCert를 cmdlet에 추가하는 것을 볼 수 Get-ChildItem 있습니다.

인증서 공급자에 대한 자세한 내용은 about_Certificate_Provider 참조하세요.

예제 7: 동적 매개 변수 가져오기

이 예제의 명령은 함수를 Get-DynamicParameters 사용하여 인증서 공급자가 Cert: 드라이브에서 사용될 때 cmdlet에 추가하는 Get-ChildItem 동적 매개 변수를 가져옵니다.

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

이 예제의 함수는 Get-DynamicParameters cmdlet의 동적 매개 변수를 가져옵니다. 이는 이전 예제에서 사용된 메서드의 대안입니다. 동적 매개 변수는 다른 cmdlet 또는 공급자가 cmdlet에 추가할 수 있습니다.

예제 8: 모든 형식의 모든 명령 가져오기

이 명령은 Path 환경 변수($env:PATH)의 경로에 있는 실행 파일을 포함하여 로컬 컴퓨터의 모든 형식에 대한 모든 명령을 가져옵니다.

Get-Command *

FileInfo 개체(System.IO.FileInfo)가 아닌 각 파일에 대해 ApplicationInfo 개체(System.Management.Automation.ApplicationInfo)를 반환합니다.

예제 9: 매개 변수 이름 및 형식을 사용하여 cmdlet 가져오기

이 명령은 이름에 Auth가 포함되고 AuthenticationMechanism 형식인 매개 변수가 있는 cmdlet을 가져옵니다.

Get-Command -ParameterName *Auth* -ParameterType AuthenticationMechanism

이 명령과 같은 명령을 사용하여 사용자를 인증하는 데 사용되는 메서드를 지정할 수 있는 cmdlet을 찾을 수 있습니다.

ParameterType 매개 변수는 AuthenticationMechanism 값을 사용하는 매개 변수를 비슷한 이름을 가진 경우에도 AuthenticationLevel 매개 변수를 사용하는 매개 변수와 구분합니다.

예제 10: 별칭 가져오기

이 예제에서는 별칭과 Get-Command 함께 cmdlet을 사용하는 방법을 보여 줍니다.

Get-Command -Name dir

CommandType     Name                                               ModuleName
-----------     ----                                               ----------
Alias           dir -> Get-ChildItem

일반적으로 cmdlet 및 함수에서 사용되지만 스크립트, Get-Command 함수, 별칭 및 실행 파일도 가져옵니다.

명령의 출력은 별칭에 대한 Name 속성 값의 특수 보기를 보여 줍니다. 보기에는 별칭과 전체 명령 이름이 표시됩니다.

예제 11: 메모장 명령의 모든 인스턴스 가져오기

이 예제에서는 cmdlet의 Get-Command All 매개 변수를 사용하여 로컬 컴퓨터에 명령의 Notepad 모든 인스턴스를 표시합니다.

Get-Command Notepad -All | Format-Table CommandType, Name, Definition

CommandType     Name           Definition
-----------     ----           ----------
Application     notepad.exe    C:\WINDOWS\system32\notepad.exe
Application     NOTEPAD.EXE    C:\WINDOWS\NOTEPAD.EXE

All 매개 변수는 세션에 이름이 같은 명령이 두 개 이상 있는 경우에 유용합니다.

Windows PowerShell 3.0부터는 기본적으로 세션에 동일한 이름의 여러 명령이 포함된 경우 명령 이름을 Get-Command 입력할 때 실행되는 명령만 가져옵니다. All 매개 변수 Get-Command사용하여 지정된 이름의 모든 명령을 가져오고 실행 우선 순위 순서로 반환합니다. 목록의 첫 번째 경로가 아닌 다른 명령을 실행하려면 명령에 정규화된 경로를 입력합니다.

명령 우선 순위에 대한 자세한 내용은 about_Command_Precedence 참조하세요.

예제 12: cmdlet을 포함하는 모듈의 이름 가져오기

이 명령은 cmdlet이 시작된 모듈 Get-Date 의 이름을 가져옵니다. 이 명령은 모든 명령의 ModuleName 속성을 사용합니다.

(Get-Command Get-Date).ModuleName

Microsoft.PowerShell.Utility

이 명령 형식은 세션으로 가져오지 않더라도 PowerShell 모듈의 명령에서 작동합니다.

예제 13: 출력 형식이 있는 cmdlet 및 함수 가져오기

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

이 명령은 출력 형식과 반환되는 개체의 형식이 있는 cmdlet 및 함수를 가져옵니다.

명령의 첫 번째 부분은 모든 cmdlet을 가져옵니다. 파이프라인 연산자(|)는 cmdlet에 Where-Object cmdlet을 보내 OutputType 속성이 채워진 cmdlet만 선택합니다. 다른 파이프라인 연산자는 선택한 cmdlet 개체를 cmdlet으로 Format-List 보내 목록에 각 cmdlet의 이름과 출력 형식을 표시합니다.

CommandInfo 개체의 OutputType 속성은 cmdlet 코드가 cmdlet에 대한 OutputType 특성을 정의하는 경우에만 null이 아닌 값을 줍니다.

예제 14: 특정 개체 형식을 입력으로 사용하는 cmdlet 가져오기

Get-Command -ParameterType (((Get-NetAdapter)[0]).PSTypeNames)

CommandType     Name                                               ModuleName
-----------     ----                                               ----------
Function        Disable-NetAdapter                                 NetAdapter
Function        Enable-NetAdapter                                  NetAdapter
Function        Rename-NetAdapter                                  NetAdapter
Function        Restart-NetAdapter                                 NetAdapter
Function        Set-NetAdapter                                     NetAdapter

이 명령은 net 어댑터 개체를 입력으로 사용하는 cmdlet을 찾습니다. 이 명령 형식을 사용하여 명령이 반환하는 개체의 형식을 허용하는 cmdlet을 찾을 수 있습니다.

이 명령은 개체를 설명하는 형식을 가져오는 모든 개체의 PSTypeNames 내장 속성을 사용합니다. net 어댑터 컬렉션의 PSTypeNames 속성이 아닌 net 어댑터의 PSTypeNames 속성을 가져오기 위해 명령은 배열 표기법을 사용하여 cmdlet이 반환하는 첫 번째 net 어댑터를 가져옵니다. net 어댑터 컬렉션의 PSTypeNames 속성이 아닌 net 어댑터의 PSTypeNames 속성을 가져오기 위해 명령은 배열 표기법을 사용하여 cmdlet이 반환하는 첫 번째 net 어댑터를 가져옵니다.

매개 변수

-All

이 cmdlet은 이름이 같은 동일한 형식의 명령을 포함하여 모든 명령을 가져옵니다. 기본적으로 Get-Command 명령 이름을 입력할 때 실행되는 명령만 가져옵니다.

PowerShell에서 명령을 검색하는 순서에 대한 자세한 내용은 about_Command_Precedence 참조하세요. 이름 충돌로 인해 기본적으로 실행되지 않는 모듈 정규화된 명령 이름 및 실행 명령에 대한 자세한 내용은 about_Modules 참조하세요.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

Windows PowerShell 2.0 Get-Command 에서는 기본적으로 모든 명령을 가져옵니다.

형식:SwitchParameter
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-ArgumentList

인수 배열을 지정합니다. 이 cmdlet은 지정된 매개 변수("인수")와 함께 사용될 때 cmdlet 또는 함수에 대한 정보를 가져옵니다. ArgumentList별칭은 Args입니다.

특정 다른 매개 변수를 사용할 때만 사용할 수 있는 동적 매개 변수를 검색하려면 ArgumentList 값을 동적 매개 변수를 트리거하는 매개 변수로 설정합니다.

공급자가 cmdlet에 추가하는 동적 매개 변수를 검색하려면 ArgumentList 매개 변수 값을 공급자 드라이브의 경로(예: , HKLM:또는 Cert:)로 WSMan:설정합니다. 명령이 PowerShell 공급자 cmdlet인 경우 각 명령에 하나의 경로만 입력합니다. 공급자 cmdlet은 ArgumentList 값 의 첫 번째 경로에 대한 동적 매개 변수만 반환합니다. 공급자 cmdlet에 대한 자세한 내용은 about_Providers 참조하세요.

형식:Object[]
별칭:Args
Position:1
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-CommandType

이 cmdlet이 가져오는 명령 유형을 지정합니다. 하나 이상의 명령 유형을 입력합니다. CommandType 또는 해당 별칭인 Type을 사용합니다. 기본적으로 Get-Command 모든 cmdlet, 함수 및 별칭을 가져옵니다.

이 매개 변수에 허용되는 값은 다음과 같습니다.

  • Alias: 모든 PowerShell 명령의 별칭을 가져옵니다. 자세한 내용은 about_Aliases를 참조하세요.

  • All: 모든 명령 형식을 가져옵니다. 이 매개 변수 값은 .에 해당합니다 Get-Command *.

  • Application: 환경 변수의 $env:PATH 폴더에서 PowerShell이 아닌 실행 파일을 검색합니다. Windows에서 실행 파일에는 환경 변수에 나열된 파일 확장명이 $env:PATHEXT 있습니다. 자세한 내용은 about_Environment_Variables 참조하세요.

  • Cmdlet: 모든 cmdlet을 가져옵니다.

  • ExternalScript: 경로 환경 변수($env:PATH)에 나열된 경로모든 .ps1 파일을 가져옵니다.

  • FilterFunction: 모든 PowerShell 고급 및 단순 함수 및 필터를 가져옵니다.

  • Script: 모든 스크립트 블록을 가져옵니다. PowerShell 스크립트(파일).ps1 를 얻으려면 이 값을 사용합니다 ExternalScript .

  • Workflow: 모든 워크플로를 가져옵니다. 워크플로에 대한 자세한 내용은 Windows PowerShell 워크플로 소개를 참조하세요.

이러한 값은 플래그 기반 열거형으로 정의됩니다. 이 매개 변수를 사용하여 여러 값을 결합하여 여러 플래그를 설정할 수 있습니다. 값은 CommandType 매개 변수에 값 배열 또는 해당 값의 쉼표로 구분된 문자열로 전달될 수 있습니다. cmdlet은 이진 OR 연산을 사용하여 값을 결합합니다. 값을 배열로 전달하는 것이 가장 간단한 옵션이며 값에 대한 탭 완성을 사용할 수도 있습니다.

형식:CommandTypes
별칭:Type
허용되는 값:Alias, Function, Filter, Cmdlet, ExternalScript, Application, Script, Workflow, Configuration, All
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-FullyQualifiedModule

값은 모듈 이름, 전체 모듈 사양 또는 모듈 파일 경로일 수 있습니다.

값이 경로인 경우 경로는 정규화되거나 상대적일 수 있습니다. 상대 경로는 using 문을 포함하는 스크립트를 기준으로 확인됩니다.

값이 이름 또는 모듈 사양인 경우 PowerShell은 PSModulePath에서 지정된 모듈을 검색합니다.

모듈 사양은 다음 키가 있는 해시 테이블입니다.

  • ModuleName - 필수 모듈 이름을 지정합니다.

  • GUID - 선택 사항 모듈의 GUID를 지정합니다.

  • 또한 아래 세 가지 키 중 하나 이상을 지정해야 합니다 .

    • ModuleVersion - 모듈의 허용 가능한 최소 버전을 지정합니다.

    • MaximumVersion - 모듈의 허용되는 최대 버전을 지정합니다.

    • RequiredVersion - 모듈의 정확한 필수 버전을 지정합니다. 다른 버전 키에는 사용할 수 없습니다.

Module 매개 변수와 동일한 명령에는 FullyQualifiedModule 매개 변수를 지정할 수 없습니다. 두 매개 변수는 함께 사용할 수 없습니다.

형식:ModuleSpecification[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-ListImported

이 cmdlet은 현재 세션의 명령만 가져옵니다.

PowerShell 3.0부터 기본적으로 Get-Command 현재 세션의 명령을 포함하여 설치된 모든 명령을 가져옵니다. PowerShell 2.0에서는 현재 세션의 명령만 가져옵니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Module

모듈 배열을 지정합니다. 이 cmdlet은 지정된 모듈 또는 스냅인에서 온 명령을 가져옵니다. 모듈 또는 스냅인의 이름을 입력합니다.

이 매개 변수는 문자열 값을 사용하지만 이 매개 변수의 값은 PSModuleInfo 또는 PSSnapinInfo 개체(예: , Get-PSSnapinImport-PSSession cmdlet이 반환하는 Get-Module개체)일 수도 있습니다.

이 매개 변수는 이름, 모듈 또는 별칭 인 PSSnapin으로 참조할 수 있습니다. 선택한 매개 변수 이름은 명령 출력에 영향을 주지 않습니다.

형식:String[]
별칭:PSSnapin
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:True

-Name

이름 배열을 지정합니다. 이 cmdlet은 지정된 이름을 가진 명령만 가져옵니다. 이름 또는 이름 패턴을 입력합니다. 와일드카드 문자를 사용할 수 있습니다.

이름이 같은 명령을 얻으려면 All 매개 변수를 사용합니다. 기본적으로 Get-Command 두 명령의 이름이 같으면 명령 이름을 입력할 때 실행되는 명령을 가져옵니다.

형식:String[]
Position:0
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:True

-Noun

명령 명사 배열을 지정합니다. 이 cmdlet은 지정된 명사 이름을 포함하는 cmdlet, 함수 및 별칭을 포함하는 명령을 가져옵니다. 명사 또는 명사 패턴을 하나 이상 입력합니다. 와일드카드 문자를 사용할 수 있습니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:True

-ParameterName

매개 변수 이름의 배열을 지정합니다. 이 cmdlet은 지정된 매개 변수가 있는 세션의 명령을 가져옵니다. 매개 변수 이름 또는 매개 변수 별칭을 입력합니다. 와일드카드 문자가 지원됩니다.

ParameterName 및 ParameterType 매개 변수는 현재 세션의 명령만 검색합니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:True

-ParameterType

매개 변수 이름의 배열을 지정합니다. 이 cmdlet은 지정된 형식의 매개 변수가 있는 세션에서 명령을 가져옵니다. 매개 변수 형식의 전체 이름 또는 부분 이름을 입력합니다. 와일드카드 문자가 지원됩니다.

ParameterName 및 ParameterType 매개 변수는 현재 세션의 명령만 검색합니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:PSTypeName[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:True

-ShowCommandInfo

이 cmdlet에 명령 정보가 표시됨을 나타냅니다.

이 매개 변수는 Windows PowerShell 5.0에서 도입되었습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Syntax

이 cmdlet은 명령에 대해 지정된 다음 데이터만 가져옵니다.

  • 별칭은 표준 이름을 가져옵니다.
  • Cmdlet. 구문을 가져옵니다.
  • 함수 및 필터. 함수 정의를 가져옵니다.
  • 스크립트 및 애플리케이션 또는 파일. 경로 및 파일 이름을 가져옵니다.
형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-TotalCount

가져올 명령 수를 지정합니다. 이 매개 변수를 사용하여 명령의 출력을 제한할 수 있습니다.

형식:Int32
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Verb

명령 동사의 배열을 지정합니다. 이 cmdlet은 지정된 동사를 포함하는 이름을 가진 cmdlet, 함수 및 별칭을 포함하는 명령을 가져옵니다. 하나 이상의 동사 또는 동사 패턴을 입력합니다. 와일드카드 문자를 사용할 수 있습니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:True

입력

String

명령 이름을 이 cmdlet으로 파이프할 수 있습니다.

출력

CommandInfo

이 cmdlet은 CommandInfo 클래스에서 파생된 개체를 반환합니다. 반환되는 개체의 형식은 가져오는 명령 Get-Command 의 형식에 따라 달라집니다.

AliasInfo

별칭을 나타냅니다.

ApplicationInfo

애플리케이션 및 파일을 나타냅니다.

CmdletInfo

cmdlet을 나타냅니다.

FunctionInfo

함수 및 필터를 나타냅니다.

WorkflowInfo

워크플로를 나타냅니다.

참고

Windows PowerShell에는 다음 별칭이 포함됩니다.Get-Command

  • gcm

  • 세션 Get-Command 에 이름이 같은 명령을 둘 이상 사용할 수 있는 경우 명령 이름을 입력할 때 실행되는 명령을 반환합니다. 이름이 같은 명령을 실행 순서대로 표시하려면 All 매개 변수를 사용합니다. 자세한 내용은 about_Command_Precedence를 참조하세요.

  • 모듈을 자동으로 가져오는 경우 효과는 cmdlet을 사용하는 Import-Module 것과 동일합니다. 모듈은 세션에서 명령, 유형 및 형식 지정 파일을 추가하고 스크립트를 실행할 수 있습니다. 모듈의 자동 가져오기를 사용하도록 설정, 사용 안 함 및 구성하려면 기본 설정 변수를 $PSModuleAutoLoadingPreference 사용합니다. 자세한 내용은 about_Preference_Variables 참조하세요.