Синтаксис командлетов ExchangeExchange cmdlet syntax

В справочных материалах по командлетам Exchange используется стандартизированный метод, описывающий ключевые аспекты командлета.Exchange cmdlet reference topics use a standardized method that describes key aspects about the cmdlet. Пример:For example:

  • Параметры, доступные в командлете.Parameters that are available on the cmdlet.

  • Значения, принимаемые каждым параметром.Values that each parameter accepts.

  • Параметры, которые можно использовать совместно, и параметры, которые необходимо использовать отдельно.Parameters that can be used together, and parameters that need to be used separately.

В данной статье описываются эти соглашения, а также синтаксис, необходимый для выполнения команд в Exchange PowerShell.This topic explains these conventions, and also the syntax that's required to run commands in Exchange PowerShell.

Соглашения о командах в Exchange PowerShellCommand conventions in Exchange PowerShell

Справка по Exchange PowerShell следует соглашениям, указывающим обязательные и необязательные параметры, а также способы ввода параметров и значений при выполнении команды. Эти соглашения о командах перечислены в представленной ниже таблице.Exchange PowerShell help follows conventions that indicate what's required or optional, and how to enter parameters and values when you run a command. These command conventions are listed in the following table.

СимволSymbol ОписаниеDescription
- Дефис обозначает параметр.A hyphen indicates a parameter. Например, -Identity.For example, -Identity.
< > Угловые скобки обозначают допустимые значения параметра.Angle brackets indicate the possible values for a parameter. Например, -Location <ServerName> или <$true | $false.>For example, -Location <ServerName> or -Enabled <$true | $false>.
[ ] Квадратные скобки обозначают необязательные параметры и их значения.Square brackets indicate optional parameters and their values. Например, [-WhatIf] или [-ResultSize <Unlimited>].For example, [-WhatIf] or [-ResultSize <Unlimited>].
Пары "параметр-значение", не заключенные в квадратные скобки, являются обязательными.Parameter-value pairs that aren't enclosed in square brackets are required. Например, -Password <SecureString>.For example, -Password <SecureString>.
Если само имя параметра заключено в квадратные скобки, то есть параметр является позиционным (можно использовать значение параметра без указания параметра), а позиционные параметры могут быть обязательными или необязательными.If the parameter name itself is enclosed in square brackets, that indicates the parameter is a positional parameter (you can use the parameter value without specifying the parameter), and positional parameters can be required or optional.
Например, Get-Mailbox [[-Identity] <MailboxIdParameter>] это означает, что параметр Identity является позиционным (так как он заключен в квадратные скобки) и необязательный (так как вся пару "параметр-значение" заключена в квадратные скобки), поэтому вы можете использовать Get-Mailbox -Identity <MailboxIdParameter> или. Get-Mailbox <MailboxIdParameter>For example, Get-Mailbox [[-Identity] <MailboxIdParameter>] means the Identity parameter is positional (because it's enclosed in square brackets) and optional (because the whole parameter-value pair is enclosed in square brackets), so you can use Get-Mailbox -Identity <MailboxIdParameter> or Get-Mailbox <MailboxIdParameter>. Аналогично Set-Mailbox [-Identity] <MailboxIdParameter> , это означает, что параметр Identity является позиционным (так как он заключен в квадратные скобки) и обязателен (так как вся комбинация parameter-value не заключена в квадратные скобки), поэтому вы можете использовать Set-Mailbox -Identity <MailboxIdParameter> или Set-Mailbox <MailboxIdParameter>.Similarly, Set-Mailbox [-Identity] <MailboxIdParameter> means the Identity parameter is positional (because it's enclosed in square brackets) and required (because the whole parameter-value pair is not enclosed in square brackets), so you can use Set-Mailbox -Identity <MailboxIdParameter> or Set-Mailbox <MailboxIdParameter>.
| Вертикальная черта в значениях параметров указывает на возможность выбора между значениями.Pipe symbols in parameter values indicate a choice between values. Например, < | $true $false> указывает, что параметр Enabled может иметь значение $true или. $falseFor example, -Enabled <$true | $false> indicates the Enabled parameter can have the value $true or $false.

Эти соглашения о командах помогут вам понять структуру команды. При выполнении командлетов в Exchange PowerShell указанные выше символы (за исключением дефиса, обозначающего параметр) используются не так, как показано в таблице.These command conventions help you understand how a command is constructed. With the exception of the hyphen that indicates a parameter, you don't use these symbols as they're described in the table when you run cmdlets in Exchange PowerShell.

Наборы параметров в Exchange PowerShellParameter sets in Exchange PowerShell

Наборы параметров представляют собой группы параметров, которые можно использовать вместе в одной команде.Parameter sets are groups of parameters that can be used with each other in the same command. Несмотря на то что наборы параметров обычно совместно используют некоторые параметры, каждый набор параметров содержит по крайней мере один параметр, недоступный в других наборах параметров, и не может использоваться с некоторыми параметрами в разных наборах параметров.Although parameter sets typically share some parameters, each parameter set contains at least one parameter that isn't available in the other parameter sets, and can't be used with some of the parameters in different parameter sets.

У многих командлетов есть только один набор параметров, то есть все доступные параметры можно использовать одновременно. У других командлетов есть несколько наборов параметров. Это означает, что некоторые параметры выполняют функции, несовместимые с другими параметрами. Например, для командлета New-SystemMessage доступны следующие наборы параметров:Many cmdlets have only one parameter set, which means that all available parameters can be used with each other. Other cmdlets have several parameter sets, which indicates some parameters perform functions that are incompatible with other parameters. For example, suppose the following parameter sets are available on the New-SystemMessage cmdlet:

New-SystemMessage -DsnCode <EnhancedStatusCode> -Internal <$true | $false> -Language <CultureInfo> -Text <String> [-Confirm] [-DomainController <Fqdn>] [-WhatIf] <COMMON PARAMETERS>

New-SystemMessage -Language <CultureInfo> -QuotaMessageType <WarningMailboxUnlimitedSize| WarningPublicFolderUnlimitedSize | WarningMailbox | WarningPublicFolder | ProhibitSendMailbox | ProhibitPostPublicFolder | ProhibitSendReceiveMailBox> -Text <String> [-Confirm] [-DomainController <Fqdn>] [-WhatIf] <COMMON PARAMETERS>

У этого командлета есть два отдельных набора параметров.This cmdlet has two separate parameter sets. В зависимости от записей эти параметры можно использовать вместе в одной команде:Based on the entries, you can use these parameters together in the same command:

  • DsnCodeDsnCode

  • ВнутренняяInternal

  • LanguageLanguage

  • TextText

  • ConfirmConfirm

  • ПриобрелDomainController

  • WhatIfWhatIf

Кроме того, вы можете использовать в одной команде следующие параметры:And you can use these parameters together in the same command:

  • LanguageLanguage

  • QuotaMessageTypeQuotaMessageType

  • TextText

  • ConfirmConfirm

  • ПриобрелDomainController

  • WhatIfWhatIf

Однако не удастся использовать в одной команде следующие параметры:But you can't use these parameters together in the same command:

  • DsnCode и QuotaMessageType.DsnCode and QuotaMessageType.

  • Внутренние и QuotaMessageType.Internal and QuotaMessageType.

Эта <COMMON PARAMETERS> запись указывает на то, что командлет поддерживает основные параметры Windows PowerShell, доступные практически в любом командлете (например, Debug).The <COMMON PARAMETERS> entry indicates the cmdlet supports the basic Windows PowerShell parameters that are available on virtually any cmdlet (for example, Debug). С параметрами из набора параметров можно использовать общие параметры.You can use common parameters with parameters from any parameter set. Дополнительные сведения см. в разделе абаут_коммонпараметерс.For more information, see about_CommonParameters.

Кавычки в Exchange PowerShellQuotation marks in Exchange PowerShell

В Exchange PowerShell можно заключать значения параметров, содержащие пробелы, в одиночные ( ' ) или двойные ( " ) кавычки. Например, следующие команды работают одинаковым образом:In Exchange PowerShell, you use single quotation marks ( ' ) or double quotation marks ( " ) to enclose parameter values that contain spaces. For example, the following commands behave the same:

  • Get-ReceiveConnector -Identity "Contoso Receive Connector"

  • Get-ReceiveConnector -Identity 'Contoso Receive Connector'

Если не заключить значение Contoso Receive Connector в кавычки, Exchange PowerShell пытается обрабатывать каждое слово как новый аргумент, а команда завершится с ошибками.If you don't enclose the value Contoso Receive Connector in quotes, Exchange PowerShell tries to treat each word as a new argument, and the command will fail. В этом примере возникнет следующая ошибка:In this example, you'll receive an error that looks like this:

A positional parameter cannot be found that accepts argument 'Receive'

Если значение содержит переменные, необходимо тщательно выбирать между одинарными кавычками и двойными кавычками.If the value contains variables, you need choose carefully between single quotes and double quotes. Например, предположим, что у вас есть переменная $Server с именем, имеющая значение Mailbox01.For example, suppose you have a variable named $Server that has the value Mailbox01.

  • Двойные кавычки: переменные заменяются их значениями.Double quotation marks: Variables are substituted with their values. Входное значение "$Server example" приводит к выходным Mailbox01 Exampleданным.The input "$Server Example" results in the output Mailbox01 Example.

  • Одинарные кавычки: переменные обрабатываются буквально.Single quotation marks: Variables are treated literally. Входное значение "$Server example" приводит к выходным $Server Exampleданным.The input '$Server Example' results in the output $Server Example.

Дополнительные сведения о переменных см. в разделах User-Defined Variables и Shell Variables.For more information about variables, see User-Defined Variables and Shell Variables.

Escape-символы в Exchange PowerShellEscape characters in Exchange PowerShell

В любом языке программирования escape-символ используется, чтобы специальные символы трактовались буквально, а не по их обычной функции в этом языке.In any programming language, an escape character is used to identify special characters literally, and not by their normal function in that language. В Exchange PowerShell, когда вы заключаете текстовую строку в двойные кавычки, escape-символ представляет собой escape-символ обратной ` кавычки ().In Exchange PowerShell, when you enclose a text string in double quotation marks, the escape character is the back quotation mark escape character ( ` ).

Например, если вы хотите вывести результат The price is $23, введите значение "Цена — `$23".For example, if you want the output The price is $23, enter the value "The price is `$23". Использовать escape-символ обязательно, так как в Exchange PowerShell знак доллара ( $ ) определяет переменные.The escape character is required because the dollar sign character ( $ ) defines variables in Exchange PowerShell.

Если вы заключаете строку в одинарные кавычки, единственным специальным символом, о котором следует обратить внимание, является сам символ одинарной кавычки, для которого требуются две одинарные кавычки (' ').If you enclose the string in single quotation marks, the only special character you need to worry about is the single quotation mark character itself, which requires two single quotation marks ( '' ).

Например, чтобы получить выходные данные Don't confuse two single quotation marks with a double quotation mark!, введите значение ' Дон ' не путайте два одинарных кавычка с двойным знаком кавычек! '.For example, if you want the output Don't confuse two single quotation marks with a double quotation mark!, enter the value 'Don''t confuse two single quotation marks with a double quotation mark!'.

Операторы команд в Exchange PowerShellCommand operators in Exchange PowerShell

В приведенной ниже таблице показаны допустимые операторы, которые можно использовать в команде Exchange. Некоторые из этих символов также описываются в разделе Соглашения о командах в Exchange PowerShell ранее в этой статье. Тем не менее значения этих символов меняются при их использовании в качестве операторов командной строки. Например, знак "минус", обозначающий параметр, также можно использовать в команде как математический оператор.The following table shows the valid operators that you can use in an Exchange command. Some of these symbols were also described in the earlier Command conventions in Exchange PowerShell section. However, these symbols have different meanings when they're used on the command line as operators. For example, the minus sign that's used to indicate a parameter can also be used in a command as a mathematical operator.

ОператорOperator ОписаниеDescription
= Знак равенства используется в качестве символа присвоения. Значение, находящееся с правой стороны знака равенства, присваивается переменной, расположенной с левой стороны знака равенства. Следующие знаки также являются символами присвоения:The equal sign is used as an assignment character. The value on the right side of the equal sign is assigned to the variable on the left side of the equal sign. The following characters are also assignment characters:
+=: Добавьте значение, расположенное справа от знака равенства, к текущему значению, которое содержится в переменной в левой части знака равенства.+=: Add the value on the right side of the equal sign to the current value that's contained in the variable on the left side of the equal sign.
-=: Вычитание значения с правой стороны знака равенства из текущего значения, содержащегося в переменной, в левой части знака равенства.-=: Subtract the value on the right side of the equal sign from the current value that's contained in the variable on the left side of the equal sign.
• ** * **: Умножение текущего значения переменной, расположенной слева от знака равенства, на значение, указанное с правой стороны знака равенства.*=: Multiply the current value of the variable on the left side of the equal sign by the value that's specified on the right side of the equal sign.
/=: Деление текущего значения переменной, расположенной слева от знака равенства, на значение, указанное с правой стороны знака равенства./=: Divide the current value of the variable on the left side of the equal sign by the value that's specified on the right side of the equal sign.
%=: Изменение текущего значения переменной, расположенной слева от знака равенства, на значение, указанное с правой стороны знака равенства.%=: Modify the current value of the variable on the left side of the equal sign by the value that's specified on the right side of the equal sign.
: С помощью двоеточия можно отделить имя параметра от его значения.A colon can be used to separate a parameter's name from the parameter's value. Например, -Enabled:$True.For example, -Enabled:$True. Использовать двоеточие необязательно для параметров всех типов, кроме параметров-переключателей.Using a colon is optional with all parameter types except switch parameters. Дополнительные сведения о параметрах-переключателях см. в статье Parameters.For more information about switch parameters, see Parameters.
! Восклицательный знак — это логический оператор NOT. Если он используется вместе со знаком равенства ( = ), это сочетание означает "не равно". The exclamation point is a logical NOT operator. When it is used with the equal ( = ) sign, the combined pair means "not equal to."
[ ] С помощью квадратных скобок можно указать значение индекса в массиве.Brackets are used to specify the index value of an array position. Значения индекса — это смещения, отсчет которых начинается с нуля.Index values are offsets that start at zero. Например, $Red[9] ссылка на десятую позицию индекса в массиве $Red.For example, $Red[9] refers to the tenth index position in the array, $Red.
Квадратные скобки также можно использовать для присвоения типа переменной (например, $A=[XML] "<Test><A>value</A></Test>").Brackets can also be used to assign a type to a variable (for example, $A=[XML] "<Test><A>value</A></Test>"). ArrayДоступны следующие типы переменных:, Bool Byte Char Char[] Decimal Double Float Int Int[] Long Long[],,,,,,,,,,,,, и. ScriptBlock String Type RegEx Single``XML.The following variable types are available: Array, Bool, Byte, Char, Char[], Decimal, Double, Float, Int, Int[], Long, Long[], RegEx, Single, ScriptBlock, String, Type, and XML.
{ } С помощью фигурных скобок можно включить в команду выражение.Braces are used to include an expression in a command. Например, Get – Process | , где {$_. Хандлекаунт – gt 400}For example, Get-Process | Where {$_.HandleCount -gt 400}
| Вертикальная черта используется, когда результат одного командлета передается другому.The pipe symbol is used when one cmdlet pipes a result to another cmdlet. Например, Get/Mailbox – Server SRV1 | Set/Mailbox – PROHIBITSENDQUOTA 2 ГБ.For example, Get-Mailbox -Server SRV1 | Set-Mailbox -ProhibitSendQuota 2GB.
> Правая угловая скобка используется для отправки выходных данных команды в файл, а содержимое файла перезаписывается.The right-angle bracket is used to send the output of a command to a file, and the contents of the file are overwritten. Например, Get-TransportRulePredicate > "C:\My Documents\Output.txt".For example, Get-TransportRulePredicate > "C:\My Documents\Output.txt".
>> Двойная правая угловая скобка означает, что результат выполнения команды будет добавлен в существующий файл.Double right-angle brackets are used to append the output of a command to an existing file. Если указанный файл не существует, создается новый.If the file doesn't exist, a new file is created. Например, Get-TransportRulePredicate >> "C:\My Documents\Output.txt".For example, Get-TransportRulePredicate >> "C:\My Documents\Output.txt".
" В двойные кавычки заключаются текстовые строки, содержащие пробелы.Double quotation marks are used to enclose text strings that contains spaces.
$ Знак доллара обозначает переменную.A dollar sign indicates a variable. Например, $Blue = 10 назначьте значение 10 переменной. $BlueFor example, $Blue = 10 assigns the value 10 to the variable $Blue.
@ Знак @ указывает на связанный массив. Дополнительные сведения см. в разделе Arrays.The @ symbol references an associative array. For more information, see Arrays.
$( )$( ) Знак доллара ( $ ) с круглыми скобками указывает на подстановку команды.A dollar sign ( $ ) with parentheses indicates command substitution. Подстановка команды применяется, если выходные данные одной команды нужно использовать в качестве аргумента другой.You can use command substitution when you want to use the output of one command as an argument in another command. Пример: Get-ChildItem $(Read-Host -Prompt "Enter FileName: ")For example, Get-ChildItem $(Read-Host -Prompt "Enter FileName: ").
.. Две точки обозначают диапазон значений.Double-periods indicate a value range. Например, если массив содержит несколько индексов, можно возвратить значения всех индексов между вторым и пятый индексами, выполнив команду: $Blue[2..5].For example, if an array contains several indexes, you can return the values of all indexes between the second and fifth indexes by running the command: $Blue[2..5].
+ Оператор + складывает два значения.The + operator adds two values together. Например, 6 + 6 равно 12.For example, 6 + 6 equals 12.
- - Оператор Вычитает одно значение из другого значения (например 12 - 6 , равно 6) или указывает на отрицательное число (например, -6 * 6 равно -36).The - operator subtracts one value from another value (for example, 12 - 6 equals 6) or indicates a negative number (for example, -6 * 6 equals -36).
* Можно использовать подстановочный знак для сопоставления строк (например, Get-User | Where-Object {$._ Department (например, "Sales *"}), умножить числовые значения (например 6 * 6 , 36равно) или повторить строковое значение указанное число раз (например, "Test" * 3 равно TestTestTest).You can use the wildcard character to match strings (for example, Get-User | Where-Object {$_.Department -like 'Sales*'}), multiply numeric values (for example, 6 * 6 equals 36), or repeat the string value the specified number of times (for example, "Test" * 3 equals TestTestTest).
/ Оператор / делит одно значение на другое. Например, выражение 6 / 6 равно 1. The / operator divides one value by another. For example, 6 / 6 equals 1.
% При вычислениях оператор % возвращает остаток от деления. Например, выражение 6 % 4 равно 2. In a numerical evaluation, the % operator returns the remainder from a division operator. For example, 6 % 4 equals 2.
В конвейере символ процента ( % ) является краткой записью для командлета ForEach-Object .In a pipeline, the percent character ( % ) is shorthand for the ForEach-Object cmdlet. Например, Import-CSV К:\мифиле.КСВ | ForEach-Object {Set-Mailbox $._ Identity — имя $_. Name} это то же, что Import-CSV | к:\мифиле.КСВ% {Set-Mailbox_$. Identity — имя $_. Имя}.For example, 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}. Дополнительные сведения см. в разделе Pipelining. For more information, see Pipelining.
? Вопросительный знак ( ?The question mark character ( ? ) представляет собой сокращение для командлета Where-Object.) is shorthand for the Where-Object cmdlet. Например, Get – Alias | Where – Object {$._ Definition-EQ "Clear-Host"} совпадает с Get-Alias | ?For example, Get-Alias | Where-Object {$_.Definition -eq "Clear-Host"} is the same as Get-Alias | ? {$_. Definition/EQ "Clear – Host"}{$_.Definition -eq "Clear-Host"}