Exchange cmdlet 구문

Exchange cmdlet 참조 문서에서는 cmdlet의 주요 측면을 설명하는 표준화된 방법을 사용합니다. 예시:

  • cmdlet에서 사용할 수 있는 매개 변수입니다.
  • 각 매개 변수가 허용하는 값입니다.
  • 함께 사용할 수 있는 매개 변수와 별도로 사용해야 하는 매개 변수입니다.

이 문서에서는 이러한 규칙과 Exchange PowerShell에서 명령을 실행하는 데 필요한 구문에 대해 설명합니다.

Exchange PowerShell의 명령 규칙

Exchange PowerShell 도움말은 규칙을 따라 필수 또는 선택적 정보와 명령을 실행할 때 매개 변수 및 값을 입력하는 방법을 나타냅니다. 이러한 명령 규칙은 다음 목록에 설명되어 있습니다.

  • -: 하이픈은 매개 변수를 나타냅니다. 예를 들면 -Identity와 같습니다.
  • < >꺾쇠 괄호는 매개 변수에 사용할 수 있는 값을 나타냅니다. 예: -Location <ServerName> 또는 -Enabled <$true | $false>.
  • [ ]: 대괄호는 선택적 매개 변수와 해당 값을 나타냅니다. 예: [-WhatIf] 또는 [-ResultSize <Unlimited>].
    • 대괄호로 묶이지 않은 매개 변수-값 쌍이 필요합니다. 예를 들면 -Password <SecureString>와 같습니다.
    • 매개 변수 이름 주위의 대괄호는 매개 변수 이름을 지정하지 않고 매개 변수 값을 사용할 수 있는 위치 매개 변수를 나타냅니다. 위치 매개 변수는 필수 또는 선택 사항입니다. 예시:
      • Get-Mailbox [[-Identity] <MailboxIdParameter>] Identity 매개 변수가 다음과 같음을 의미합니다.
        • 매개변수가 대괄호로 묶여 있기 때문에 위치가 지정됩니다.
        • 전체 매개 변수-값 쌍이 대괄호로 묶여 있으므로 선택 사항입니다.
        • 따라서 or 를 Get-Mailbox <MailboxIdParameter>사용할 Get-Mailbox -Identity <MailboxIdParameter> 수 있습니다.
      • Set-Mailbox [-Identity] <MailboxIdParameter> Identity 매개 변수가 다음과 같음을 의미합니다.
        • 매개 변수가 대괄호로 묶여 있기 때문에 위치가 지정됩니다.
        • 전체 매개 변수-값 쌍이 대괄호로 묶여 있지 않기 때문에 필요합니다.
        • 따라서 or 를 Set-Mailbox <MailboxIdParameter>사용할 Set-Mailbox -Identity <MailboxIdParameter> 수 있습니다.
  • |: 매개 변수 값의 파이프 기호는 값 간의 선택을 나타냅니다. 예를 들어 -Enabled <$true | $false>Enabled 매개 변수 $true 에 값 또는 $false.

이러한 명령 규칙은 명령 작성 방법을 이해하는 데 도움이 됩니다. 매개 변수를 나타내는 하이픈을 제외하고 Exchange PowerShell에서 cmdlet을 실행할 때 표에 설명된 이러한 기호를 사용하지 않습니다.

Exchange PowerShell의 매개 변수 집합

매개 변수 집합은 같은 명령에서 함께 사용할 수 있는 매개 변수 그룹입니다. 각 매개 변수 집합에는 다른 매개 변수 집합에서 사용할 수 없는 매개 변수가 하나 이상 포함되어 있지만 매개 변수 집합은 일반적으로 일부 매개 변수를 공유합니다.

많은 cmdlet에는 매개 변수가 하나만 설정되어 있습니다. 즉, 모든 매개 변수를 서로 사용할 수 있습니다. 다른 cmdlet에는 여러 매개 변수 집합이 있습니다. 즉, 일부 매개 변수는 다른 매개 변수와 함께 사용할 수 없습니다. 예를 들어 New-SystemMessage cmdlet에서 다음 매개 변수 집합을 사용할 수 있다고 가정합니다.

New-SystemMessage -DsnCode <EnhancedStatusCode> -Internal <Boolean> -Language <CultureInfo> -Text <String> [-Confirm] [-DomainController <Fqdn>] [-WhatIf] <CommonParameters>

New-SystemMessage -QuotaMessageType <QuotaMessageType> -Language <CultureInfo> -Text <String> [-Confirm] [-DomainController <Fqdn>] [-WhatIf] <CommonParameters>

다음 매개 변수는 첫 번째 매개 변수 집합에서 사용할 수 있으므로 동일한 명령에서 사용할 수 있습니다.

  • DsnCode
  • 내부
  • 언어
  • 텍스트
  • 확인
  • DomainController
  • WhatIf

다음 매개 변수는 두 번째 매개 변수 집합에서 사용할 수 있으므로 동일한 명령에서 사용할 수 있습니다.

  • QuotaMessageType
  • 언어
  • 텍스트
  • 확인
  • DomainController
  • WhatIf

DsnCodeInternal 매개 변수는 첫 번째 매개 변수 집합에서만 사용할 수 있습니다. QuotaMessageType 매개 변수는 두 번째 매개 변수 집합에서만 사용할 수 있습니다. 따라서 동일한 명령에서 다음 매개 변수를 사용할 수 없습니다.

  • DsnCodeQuotaMessageType.
  • InternalQuotaMessageType.

다음 매개 변수는 두 매개 변수 집합에서 모두 사용할 수 있으므로 모든 New-SystemMessage 명령에서 사용할 수 있습니다.

  • 언어
  • 텍스트
  • 확인
  • DomainController
  • WhatIf

이 항목은 <CommonParameters> cmdlet이 거의 모든 cmdlet에서 사용할 수 있는 기본 Windows PowerShell 매개 변수(예: Verbose)를 지원함을 나타냅니다. 공통 매개 변수를 모든 매개 변수 집합의 매개 변수와 함께 사용할 수 있습니다. 자세한 내용은 about_CommonParameters를 참조하세요.

Exchange PowerShell의 따옴표

Exchange PowerShel에서는 작은따옴표(') 또는 큰따옴표(")를 사용하여 공백이 포함된 매개 변수 값을 묶습니다. 예를 들어 다음 명령은 동일하게 작동합니다.

  • Get-ReceiveConnector -Identity "Contoso Receive Connector"

  • Get-ReceiveConnector -Identity 'Contoso Receive Connector'

이전 예제에서 값을 작은따옴표 또는 큰따옴표로 묶지 않으면 PowerShell이 각 단어를 새 인수(Identity 매개 변수 Receive 의 값이자 지정되지 않은 위치 매개 변수의 값으로 간주Contoso)로 처리하기 때문에 명령이 실패합니다. 이 예에서 오류는 다음과 같습니다.

'Receive' 인수를 허용하는 위치 매개 변수를 찾을 수 없습니다.

일반 텍스트 값의 경우 작은따옴표와 큰따옴표는 별로 중요하지 않습니다. 그러나 변수가 관련된 경우 선택이 중요합니다.

  • 큰따옴표: 변수는 실제 값으로 대체됩니다.
  • 작은따옴표: 변수는 문자 그대로 처리됩니다.

예를 들어, $Server = Mailbox01 사용하는 따옴표에 따라 다음과 같은 출력이 생성됩니다.

  • "$Server 예제" 의 결과는 Mailbox01 Example.
  • '$Server Example'의 결과는 다음과 같습니다.$Server Example

변수에 대한 자세한 내용은 about_Variablesabout_Automatic_Variables를 참조하세요.

Exchange PowerShell의 이스케이프 문자

모든 프로그래밍 언어에서 이스케이프 문자 는 특수 문자를 해당 언어의 일반 기능이 아닌 문자 그대로 식별하는 데 사용됩니다. Exchange PowerShell에서 텍스트 문자열을 큰따옴표로 묶을 때 이스케이프 문자는 뒷따옴표 이스케이프 문자( ' )가 됩니다.

예를 들어 출력 The price is $23을 원하는 경우 "가격은 '$23'입니다."라는 값을 입력합니다. $는 PowerShell에서 변수를 정의하므로 달러 기호 문자($)에는 이스케이프 문자가 필요합니다.

문자열을 작은따옴표로 묶을 경우 특수 문자만 걱정하면 되는 작은따옴표 문자 자체뿐입니다. 작은따옴표 두 개를 이스케이프해야 '' 합니다( ).

예를 들어 출력 Don't confuse two single quotation marks with a double quotation mark!을 원하는 경우 '작은따옴표 두 개와 큰따옴표를 혼동하지 마세요!' 값을 입력합니다.

Exchange PowerShell의 명령 연산자

다음 목록에는 Exchange 명령에 사용할 수 있는 유효한 연산자가 나와 있습니다. 이러한 기호 중 일부는 이전의 Exchange PowerShell의 명령 규칙 섹션에서 설명했습니다. 그러나 이러한 기호는 연산자로 사용할 때 의미가 다릅니다. 예를 들어 매개 변수를 나타내는 빼기 기호는 수학 연산자로도 사용할 수 있습니다.

  • =: 등호는 할당 문자입니다. 등호의 오른쪽 값이 왼쪽 변수에 할당됩니다. 예를 들면 $x = Get-Mailbox와 같습니다. 등호가 있는 다른 문자를 사용할 수도 있습니다.

    • +=: 등호의 오른쪽 값을 왼쪽 변수의 현재 값에 더합니다.
    • -=: 왼쪽 변수의 전류에서 등호의 오른쪽 값을 뺍니다.
    • *=: 등호 왼쪽에 있는 변수의 현재 값을 오른쪽에 지정된 값을 곱합니다.
    • /=: 등호 왼쪽에 있는 변수의 현재 값을 오른쪽에 지정된 값으로 나눕니다.
    • %=: 등호 왼쪽에 있는 변수의 현재 값을 오른쪽에 지정된 값으로 수정합니다.
  • :: 콜론을 사용하여 매개 변수 이름과 매개 변수 값을 구분합니다. 예를 들면 -Enabled:$True와 같습니다.

    • 콜론 구분 기호는 작동하며 거의 모든 매개 변수-값 쌍에서 선택 사항입니다.
    • 스위치 매개 변수에 콜론 구분 기호가 필요합니다. 스위치 매개 변수에 대한 자세한 내용은 about_Parameters를 참조하세요.
  • !: 느낌표는 논리 NOT 연산자입니다. 결합된 쌍 != 은 "같지 않음"을 의미합니다.

  • [ ]: 대괄호는 배열 위치의 인덱스 값을 지정합니다. 인덱스 값은 항상 0에서 시작하는 오프셋입니다. 예를 들어 배열에서 $Red배열의 $Red[9]10번째 위치는 입니다.

    대괄호는 변수에 유형을 할당할 수도 있습니다. 예를 들어 XML이라는 변수를 $A 식별하려면 를 사용합니다 $A=[XML] "<Test><A>value</A></Test>". 사용 가능한 Array변수 유형은 , BoolByteCharChar[]DecimalDoubleFloatIntInt[]LongLong[]RegExSingleScriptBlockStringTypeXML.

  • { }: 중괄호를 사용하여 명령에 식을 포함합니다. 예를 들면 Get-Process | Where {$_.HandleCount -gt 400}와 같습니다.

  • |: 파이프 기호를 사용하여 한 명령의 출력을 다른 명령으로 파이프합니다. 예를 들면 Get-Mailbox -Server SRV1 | Set-Mailbox -ProhibitSendQuota 2GB와 같습니다.

  • >: 오른쪽 꺾쇠 괄호를 사용하여 명령 출력을 파일로 보냅니다. 파일이 이미 있는 경우 내용을 덮어씁니다. 예를 들면 Get-TransportRule > "C:\My Documents\TransportRules.txt"와 같습니다.

  • >>: 이중 오른쪽 꺾쇠 괄호를 사용하여 명령의 출력을 기존 파일에 추가합니다. 파일이 없으면 새 파일이 만들어집니다. 예를 들면 Get-TransportRule >> "C:\My Documents\TransportRules.txt"와 같습니다.

  • ": 큰따옴표를 사용하여 공백이 포함된 텍스트 문자열을 묶습니다. 앞에서 설명한 대로 변수는 실제 값으로 대체됩니다.

  • $: 달러 기호는 변수를 나타냅니다. 예를 들어 값 10으로 이름이 $Blue 지정된 변수를 만들려면 를 사용합니다 $Blue = 10. 변수를 저장한 후 매개 변수 값으로 사용할 수 있습니다.

  • @: at 기호는 결합형 배열을 참조합니다. 자세한 내용은 about_Arrays를 참조하세요.

  • $( ): 괄호가 있는 달러 기호는 명령 대체를 나타냅니다. 한 명령어의 출력을 다른 명령어의 인수로 사용하려는 경우 명령어 대체를 사용할 수 있습니다. 예를 들면 Get-ChildItem $(Read-Host -Prompt "Enter FileName: ")와 같습니다.

  • ..: 이중 마침표는 값 범위를 나타냅니다. 예를 들어 배열에 여러 개의 인덱스가 있는 경우 명령을 실행 $Blue[2..5]하여 두 번째와 다섯 번째 인덱스 사이의 모든 인덱스 값을 반환할 수 있습니다.

  • +: 더하기 기호 연산자는 두 개의 값을 함께 추가합니다. 예를 들면 6 + 612과 같습니다.

  • -: 빼기 기호 연산자는 다른 값에서 한 값을 빼거나(예: 12 - 6 같음6) 음수를 나타냅니다(예-6 * 6: 같음).-36

  • *: 다음 작업에 별표를 사용할 수 있습니다.

    • 문자열 일치: 예: Get-User | Where-Object {$_.Department -like 'Sales*'}).
    • 숫자 값 곱하기: 예를 들어 6 * 6 같음 36
    • 문자열 값을 지정된 횟수만큼 반복합니다. 예를 들어 "Test" * 3 같음 TestTestTest
  • /슬래시는 한 값을 다른 값으로 나눕니다. 예를 들면 6 / 61과 같습니다.

  • %: 퍼센트 기호는 다음과 같은 용도로 사용됩니다.

    • 숫자 계산에서는 나눗셈 연산자로부터 나머지를 반환합니다. 예를 들면 6 % 42과 같습니다.
    • 파이프라인에서는 ForEach-Object cmdlet의 약어입니다. 예를 들면 Import-Csv C:\MyFile.csv | ForEach-Object {Set-Mailbox $_.Identity -Name $_.Name} is the same as Import-Csv C:\MyFile.csv | % {Set-Mailbox $_.Identity -Name $_.Name}과 같습니다.
    • ?물음표는 Where-Object cmdlet의 약어입니다. 예를 들어, Get-Alias | Where-Object {$_.Definition -eq "Clear-Host"}Get-Alias | ? {$_.Definition -eq "Clear-Host"}.|