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
파일을 가져옵니다.Filter
및Function
: 모든 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-PSSnapin
및 Import-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 |
입력
명령 이름을 이 cmdlet으로 파이프할 수 있습니다.
출력
이 cmdlet은 CommandInfo 클래스에서 파생된 개체를 반환합니다. 반환되는 개체의 형식은 가져오는 명령 Get-Command
의 형식에 따라 달라집니다.
별칭을 나타냅니다.
애플리케이션 및 파일을 나타냅니다.
cmdlet을 나타냅니다.
함수 및 필터를 나타냅니다.
워크플로를 나타냅니다.
참고
Windows PowerShell에는 다음 별칭이 포함됩니다.Get-Command
gcm
세션
Get-Command
에 이름이 같은 명령을 둘 이상 사용할 수 있는 경우 명령 이름을 입력할 때 실행되는 명령을 반환합니다. 이름이 같은 명령을 실행 순서대로 표시하려면 All 매개 변수를 사용합니다. 자세한 내용은 about_Command_Precedence를 참조하세요.모듈을 자동으로 가져오는 경우 효과는 cmdlet을 사용하는
Import-Module
것과 동일합니다. 모듈은 세션에서 명령, 유형 및 형식 지정 파일을 추가하고 스크립트를 실행할 수 있습니다. 모듈의 자동 가져오기를 사용하도록 설정, 사용 안 함 및 구성하려면 기본 설정 변수를$PSModuleAutoLoadingPreference
사용합니다. 자세한 내용은 about_Preference_Variables 참조하세요.
관련 링크
PowerShell