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 매개 변수가 다음과 임을 의미합니다.- 매개 변수가 대괄호로 묶이기 때문에 위치입니다.
- 전체 매개 변수-값 쌍이 대괄호로 묶이기 때문에 선택 사항입니다.
- 따라서 또는
Get-Mailbox <MailboxIdParameter>
를 사용할Get-Mailbox -Identity <MailboxIdParameter>
수 있습니다.
-
Set-Mailbox [-Identity] <MailboxIdParameter>
는 Identity 매개 변수가 다음과 임을 의미합니다.- 매개 변수가 대괄호로 묶이기 때문에 위치입니다.
- 전체 매개 변수-값 쌍이 대괄호로 묶이지 않으므로 필요합니다.
- 따라서 또는
Set-Mailbox <MailboxIdParameter>
를 사용할Set-Mailbox -Identity <MailboxIdParameter>
수 있습니다.
-
- 대괄호로 묶지 않은 매개 변수-값 쌍이 필요합니다. 예를 들면
-
|
: 매개 변수 값의 파이프 기호는 값 간의 선택을 나타냅니다. 예를 들어 Enabled-Enabled <$true | $false>
매개 변수에 또는$false
값$true
이 있을 수 있음을 나타냅니다.
이러한 명령 규칙은 명령 작성 방법을 이해하는 데 도움이 됩니다. 매개 변수를 나타내는 하이픈을 제외하고 이러한 기호는 Exchange PowerShell에서 cmdlet을 실행할 때 표에 설명된 대로 사용하지 않습니다.
Exchange PowerShell의 매개 변수 집합
매개 변수 집합은 같은 명령에서 함께 사용할 수 있는 매개 변수 그룹입니다. 각 매개 변수 집합에는 다른 매개 변수 집합에서 사용할 수 없는 매개 변수가 하나 이상 포함되어 있지만 매개 변수 집합은 일반적으로 일부 parameters.s를 공유합니다.
많은 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
DsnCode 및 Internal 매개 변수는 첫 번째 매개 변수 집합에서만 사용할 수 있습니다. QuotaMessageType 매개 변수는 두 번째 매개 변수 집합에서만 사용할 수 있습니다. 따라서 동일한 명령에서 다음 매개 변수를 사용할 수 없습니다.
- DsnCode 및 QuotaMessageType.
- Internal 및 QuotaMessageType.
다음 매개 변수는 두 매개 변수 집합에서 모두 사용할 수 있으므로 New-SystemMessage 명령에서 사용할 수 있습니다.
- 언어
- 텍스트
- 확인
- DomainController
- WhatIf
항목은 <CommonParameters>
cmdlet이 거의 모든 cmdlet(예: 자세한 정보 표시)에서 사용할 수 있는 기본 Windows PowerShell 매개 변수를 지원한다는 것을 나타냅니다. 모든 매개 변수 집합의 매개 변수와 함께 공통 매개 변수를 사용할 수 있습니다. 자세한 내용은 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 예제' 는 을 반환합니다
$Server Example
.
변수에 대한 자세한 내용은 about_Variables 및 about_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
배열에서 배열의 10번째 위치 값은 입니다$Red[9]
.대괄호는 변수에 형식을 할당할 수도 있습니다. 예를 들어 라는
$A
변수를 XML로 식별하려면 를 사용합니다$A=[XML] "<Test><A>value</A></Test>"
. 사용할 수Array
있는 변수 형식은 , ,Bool
,Byte
,Char
Char[]
,Decimal
,Double
,Float
Int
,Int[]
,Long
, ,Single
Type
Long[]
RegEx
ScriptBlock
String
, 및 입니다.XML.
{ }
: 중괄호를 사용하여 명령에 식을 포함합니다. 예를 들면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 + 6
은12
과 같습니다.-
: 빼기 기호 연산자는 다른 값에서 한 값을 빼거나(예12 - 6
: 등6
) 음수를-6 * 6
-36
나타냅니다.*
: 다음 작업에 별표 를 사용할 수 있습니다.-
문자열 일치: 예를 들어 입니다
Get-User | Where-Object {$_.Department -like 'Sales*'})
. -
숫자 값 곱하기: 예를 들어 는
6 * 6
와 같습니다36
. -
문자열 값을 지정된 횟수만큼 반복합니다. 예를 들어 는
"Test" * 3
와 같습니다TestTestTest
.
-
문자열 일치: 예를 들어 입니다
/
: 슬래시는 한 값을 다른 값으로 나눕니다. 예를 들면6 / 6
은1
과 같습니다.%
: 백분율 기호에는 다음과 같은 용도가 사용됩니다.- 숫자 계산에서는 나누기 연산자에서 나머지를 반환합니다. 예를 들면
6 % 4
은2
과 같습니다. -
파이프라인에서는 ForEach-Object cmdlet의 약어입니다. 예를 들면
Import-Csv C:\MyFile.csv | ForEach-Object {Set-Mailbox $_.Identity -Name $_.Name}
is the same asImport-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"}
.
- 숫자 계산에서는 나누기 연산자에서 나머지를 반환합니다. 예를 들면