about_Command_Syntax

간단한 설명

PowerShell에서 사용되는 구문 다이어그램에 대해 설명합니다.

자세한 설명

Get-HelpGet-Command cmdlet은 명령을 올바르게 구성하는 데 도움이 되는 구문 다이어그램을 표시합니다. 이 문서에서는 구문 다이어그램을 해석하는 방법을 설명합니다.

명령에 대한 구문 가져오기

명령에 Get-Help 대한 구문을 가져오는 방법에는 두 가지가 있습니다 Get-Command.

Get-Command

Get-Command 명령을 사용하여 시스템의 모든 명령에 대한 정보를 가져올 수 있습니다. 구문 매개 변수를 사용하여 명령에 대한 구문을 가져옵니다.

Get-Command Get-Command -Syntax
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[]>] [-UseFuzzyMatching]
 [-FuzzyMinimumDistance <uint>] [-UseAbbreviationExpansion]
 [<CommonParameters>]

Get-Help

Get-Help 명령은 구문, cmdlet 및 매개 변수에 대한 자세한 설명 및 예제를 포함하여 PowerShell 명령에 대한 자세한 정보를 제공합니다. 출력 Get-Help 명령은 명령에 대한 간략한 설명과 구문으로 시작합니다.

Get-Help Get-Command

구문 설명에 집중하도록 다음 출력이 단축되었습니다.

NAME
    Get-Command

SYNOPSIS
    Gets all commands.

SYNTAX

    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>]
    [-UseAbbreviationExpansion] [-UseFuzzyMatching] [<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>]
...

의 출력은 .의 Get-HelpGet-Command출력과 약간 다릅니다. CommandType 매개 변수에 대한 구문의 차이점을 확인합니다. Get-Command 는 매개 변수 형식을 [CommandTypes] 열거형으로 표시하고 Get-Help 열거형에 사용할 수 있는 값을 표시합니다.

매개 변수 집합

PowerShell 명령의 매개 변수는 매개 변수 집합에 나열됩니다. PowerShell 명령에는 하나 이상의 매개 변수 집합이 있을 수 있습니다. Get-Command cmdlet에는 이전 예제와 같이 두 개의 매개 변수 집합이 있습니다.

일부 cmdlet 매개 변수는 매개 변수 집합에 고유하며 다른 매개 변수 집합은 여러 매개 변수 집합에 표시됩니다. 각 매개 변수 집합은 유효한 명령의 형식을 나타냅니다. 매개 변수 집합에는 명령에서 함께 사용할 수 있는 매개 변수만 포함됩니다. 동일한 명령에서 매개 변수를 사용할 수 없는 경우 별도의 매개 변수 집합에 나열됩니다.

예를 들어 Get-Random cmdlet에는 다음 매개 변수 집합이 있습니다.

$cmd = Get-Command Get-Random
$cmd.ParameterSets |
    Select-Object Name, IsDefault, @{n='Parameters';e={$_.ToString()}} |
    Format-Table -Wrap
Name                       IsDefault Parameters
----                       --------- ----------
RandomNumberParameterSet        True [[-Maximum] <Object>] [-SetSeed <int>]
                                     [-Minimum <Object>] [-Count <int>]
                                     [<CommonParameters>]
RandomListItemParameterSet     False [-InputObject] <Object[]> [-SetSeed <int>]
                                     [-Count <int>] [<CommonParameters>]
ShuffleParameterSet            False [-InputObject] <Object[]> -Shuffle
                                     [-SetSeed <int>] [<CommonParameters>]
  • 첫 번째 매개 변수 집합은 하나 이상의 난수를 반환하며 최소, 최대값 및 개수 매개 변수가있습니다.
  • 두 번째 매개 변수 집합은 개체 집합에서 임의로 선택된 개체를 반환하며 InputObjectCount 매개 변수를 포함합니다.
  • 세 번째 매개 변수 집합에는 카드 데크를 섞는 것과 같이 임의 순서로 개체 컬렉션을 반환하는 Shuffle 매개 변수가 있습니다.
  • 모든 매개 변수 집합에는 SetSeed 매개 변수와 공통 매개 변수가 있습니다.

이러한 매개 변수 집합은 동일한 명령에서 InputObject 및 Count 매개 변수를 사용할 수 있지만 최대 매개 변수와 순서 섞기 매개 변수를 함께 사용할 수는 없다는 것을 보여 줍니다.

모든 cmdlet에는 기본 매개 변수 집합도 있습니다. 기본 매개 변수 집합은 매개 변수 집합에 고유한 매개 변수를 지정하지 않을 때 사용됩니다. 예를 들어 매개 변수 없이 사용하는 Get-Random 경우 PowerShell은 RandomNumberParameterSet 매개 변수 집합을 사용하고 있다고 가정하고 난수를 반환합니다.

구문 다이어그램의 기호

구문 다이어그램에는 명령 이름, 명령 매개 변수 및 매개 변수 값이 나열됩니다.

구문 다이어그램은 다음 기호를 사용합니다.

  • 하이픈 - 은 매개 변수 이름을 나타냅니다. 명령에서 구문 다이어그램과 같이 중간 공백이 없는 매개 변수 이름 바로 앞에 하이픈을 입력합니다.

    예를 들어 Name 매개 변수를 사용하려면 다음을 Get-Command입력합니다Get-Command -Name.

  • 꺾쇠 괄호는 < > 자리 표시자 텍스트를 나타냅니다. 명령에 꺾쇠 괄호 또는 자리 표시자 텍스트를 입력하지 않습니다. 대신 설명한 항목으로 바꿉니다.

    꺾쇠 괄호 안의 자리 표시자는 매개 변수가 사용하는 값의 .NET 형식을 식별합니다. 예를 들어 cmdlet의 Name 매개 변수를 Get-Command 사용하려면 쉼표(,)로 구분된 하나 이상의 문자열로 바꿉 <string[]> 니다.

  • .NET 형식에 [] 추가된 대괄호는 매개 변수가 해당 형식의 하나 이상의 값을 수락할 수 있음을 나타냅니다. 값을 쉼표로 구분된 목록으로 입력합니다.

    예를 들어 cmdlet의 NameValue 매개 변수는 New-Alias 각각 하나의 문자열만 사용합니다.

    New-Alias [-Name] <string> [-Value] <string>
    
    New-Alias -Name MyAlias -Value mycommand.exe
    

    그러나 Get-ProcessName 매개 변수는 하나 이상의 문자열을 사용할 수 있습니다.

    Get-Process [-Name] <string[]>
    
    Get-Process -Name Explorer, Winlogon, Services
    
  • 값이 없는 매개 변수

    일부 매개 변수는 입력을 허용하지 않으므로 매개 변수 값이 없습니다. 값이 없는 매개 변수는 스위치 매개 변수입니다. 스위치 매개 변수는 부울 값처럼 사용됩니다. 기본값은 .입니다 $false. switch 매개 변수를 사용하면 값이 .로 $true설정됩니다.

    예를 들어 ListImported 매개 변수는 Get-Command switch 매개 변수입니다. ListImported 매개 변수를 사용하는 경우 cmdlet은 현재 세션의 모듈에서 가져온 명령만 반환합니다.

    Get-Command [-ListImported]
    
  • 매개 변수 주위의 대괄호는 [ ] 선택적 항목을 나타냅니다. 매개 변수 및 해당 값은 선택 사항일 수 있습니다. 예를 들어 CommandType 매개 변수 Get-Command 와 해당 값은 모두 선택 사항이므로 대괄호로 묶습니다.

    Get-Command [-CommandType <CommandTypes>]
    

    매개 변수 이름 주위의 대괄호는 매개 변수 값이 아니라 매개 변수 이름이 선택 사항임을 나타냅니다. 이러한 매개 변수를 위치 매개 변수라고 합니다. 값이 올바른 매개 변수에 바인딩되려면 매개 변수 값을 올바른 순서로 표시해야 합니다.

    예를 들어 cmdletNew-Alias 경우 NameValue 매개 변수 값은 필수이지만 매개 변수 이름 -Name-Value값은 선택 사항입니다.

    New-Alias [-Name] <string> [-Value] <string>
    
    New-Alias MyAlias mycommand.exe
    

    각 매개 변수 집합에서 매개 변수는 위치 순서로 표시됩니다. 명령의 매개 변수 순서는 선택적 매개 변수 이름을 생략하는 경우에만 중요합니다. 매개 변수 이름을 생략하면 PowerShell은 위치 및 형식별로 매개 변수에 값을 할당합니다. 매개 변수 위치에 대한 자세한 내용은 about_Parameters 참조하세요.

  • 중괄호는 {} 매개 변수에 유효한 값 집합인 "열거형"을 나타냅니다.

    중괄호의 값은 세로 막대 |로 구분됩니다. 이러한 막대는 배타적 OR 선택 항목을 나타내므로 중괄호 안에 나열된 값 집합에서 하나의 값만 선택할 수 있습니다.

    예를 들어 cmdlet의 구문 New-Alias 에는 Option 매개 변수에 대한 다음 값 열거형이 포함됩니다.

    New-Alias -Option {None | ReadOnly | Constant | Private | AllScope}
    

    중괄호 및 세로 막대는 Option 매개 변수 AllScopeReadOnly 에 대해 나열된 값 중 하나를 선택할 수 있음을 나타냅니다.

    New-Alias -Option ReadOnly
    

참고 항목