Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Os artigos de referência de cmdlets do Exchange usam um método padronizado que descreve os principais aspectos sobre o cmdlet. Por exemplo:
- Parâmetros disponíveis no cmdlet.
- Valores que cada parâmetro aceita.
- Parâmetros que podem ser usados em conjunto e parâmetros que precisam ser usados separadamente.
Este artigo explica essas convenções e também a sintaxe necessária para executar comandos no Exchange PowerShell.
Convenções de comandos do Exchange PowerShell
A ajuda do PowerShell do Exchange segue convenções para indicar informações necessárias ou opcionais e como inserir parâmetros e valores ao executar um comando. Essas convenções de comando são descritas na lista a seguir:
-
-: um hífen indica um parâmetro. Por exemplo,-Identity. -
< >: colchetes angulares indicam os valores possíveis para um parâmetro. Por exemplo:-Location <ServerName>ou-Enabled <$true | $false>. -
[ ]: colchetes indicam parâmetros opcionais e seus valores. Por exemplo:[-WhatIf]ou[-ResultSize <Unlimited>].- São necessários pares de valor de parâmetro não colocados entre colchetes. Por exemplo,
-Password <SecureString>. - Colchetes ao redor do próprio nome do parâmetro indicam um parâmetro posicional em que você pode usar o valor do parâmetro sem especificar o nome do parâmetro. Parâmetros posicionais são obrigatórios ou opcionais. Por exemplo:
-
Get-Mailbox [[-Identity] <MailboxIdParameter>]significa que o parâmetro Identity é:- Posicional porque o parâmetro entre colchetes.
- Opcional porque todo o par parâmetro-valor é colocado entre colchetes.
- Portanto, você pode usar
Get-Mailbox -Identity <MailboxIdParameter>ouGet-Mailbox <MailboxIdParameter>.
-
Set-Mailbox [-Identity] <MailboxIdParameter>significa que o parâmetro Identity é:- Posicional porque o parâmetro é colocado entre colchetes.
- Necessário porque todo o par parâmetro-valor não está entre colchetes.
- Portanto, você pode usar
Set-Mailbox -Identity <MailboxIdParameter>ouSet-Mailbox <MailboxIdParameter>.
-
- São necessários pares de valor de parâmetro não colocados entre colchetes. Por exemplo,
-
|: os símbolos de barra vertical em valores de parâmetro indicam uma opção entre valores. Por exemplo,-Enabled <$true | $false>indica que o parâmetro Enabled pode ter o valor$trueou$false.
Essas convenções de comandos ajudam a compreender como um comando é construído. Exceto pelo hífen que indica um parâmetro, você não usa esses símbolos conforme descrito na tabela ao executar cmdlets no Exchange PowerShell.
Conjuntos de parâmetros no Exchange PowerShell
Conjuntos de parâmetros são grupos de parâmetros que podem ser usados uns com os outros no mesmo comando. Cada conjunto de parâmetros contém pelo menos um parâmetro que não está disponível nos outros conjuntos de parâmetros, mas os conjuntos de parâmetros normalmente compartilham alguns parâmetros.
Muitos cmdlets têm apenas um conjunto de parâmetros, o que significa que todos os parâmetros podem ser usados uns com os outros. Outros cmdlets têm vários conjuntos de parâmetros, o que significa que alguns parâmetros não podem ser usados com outros parâmetros. Por exemplo, suponha que os seguintes conjuntos de parâmetros estejam disponíveis no cmdlet New-SystemMessage:
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>
Os seguintes parâmetros estão disponíveis no primeiro conjunto de parâmetros, para que você possa usá-los no mesmo comando:
- DsnCode
- Interno
- Idioma
- Text
- Confirmar
- Controlador de domínio
- WhatIf
Os seguintes parâmetros estão disponíveis no segundo conjunto de parâmetros, para que você possa usá-los no mesmo comando:
- QuotaMessageType
- Idioma
- Text
- Confirmar
- Controlador de domínio
- WhatIf
Os parâmetros DsnCode e Internal estão disponíveis apenas no primeiro conjunto de parâmetros. O parâmetro QuotaMessageType está disponível apenas no segundo conjunto de parâmetros. Portanto, você não pode usar os seguintes parâmetros no mesmo comando:
- DsnCode e QuotaMessageType.
- Internal e QuotaMessageType.
Os parâmetros a seguir estão disponíveis em ambos os conjuntos de parâmetros, portanto, você pode usá-los em qualquer comando New-SystemMessage :
- Idioma
- Text
- Confirmar
- Controlador de domínio
- WhatIf
A <CommonParameters> entrada indica que o cmdlet dá suporte aos parâmetros básicos do Windows PowerShell que estão disponíveis em praticamente qualquer cmdlet (por exemplo, Detalhado). Você pode usar parâmetros comuns com parâmetros de qualquer conjunto de parâmetros. Para obter mais informações, confira about_CommonParameters.
Aspas no Exchange PowerShell
No Exchange PowerShell, use aspas simples (') ou aspas duplas (") antes e depois de valores de parâmetros que contêm espaços. Por exemplo, os seguintes comandos se comportam da mesma forma:
Get-ReceiveConnector -Identity "Contoso Receive Connector"Get-ReceiveConnector -Identity 'Contoso Receive Connector'
Nos exemplos anteriores, se você não colocar o valor entre aspas simples ou duplas, o comando falhará porque o PowerShell trata cada palavra como um novo argumento (ele acha que Contoso é o valor do parâmetro Identity e Receive é o valor de um parâmetro posicional não especificado). Neste exemplo, o erro tem a seguinte aparência:
Não é possível encontrar um parâmetro posicional que aceite o argumento 'Receive'
Para valores de texto sem formatação, aspas simples versus aspas duplas realmente não importam. Mas, a escolha é importante quando as variáveis estão envolvidas:
- Aspas duplas: as variáveis são substituídas por seus valores reais.
- Aspas simples: as variáveis são tratadas literalmente.
Por exemplo, $Server = Mailbox01 resulta na seguinte saída com base nas aspas usadas:
-
"$Server Exemplo" resulta em
Mailbox01 Example. -
"$Server Example" resulta em
$Server Example.
Para obter mais informações sobre variáveis, consulte about_Variables e about_Automatic_Variables.
Caracteres de escape no Exchange PowerShell
Em qualquer linguagem de programação, um caractere de escape é usado para identificar caracteres especiais literalmente, não por sua função normal nessa linguagem. No Exchange PowerShell, quando você coloca uma cadeia de texto entre aspas duplas, o caractere de escape é o caractere de escape de aspas invertidas ( ' ).
Por exemplo, se você quiser a saída The price is $23, insira o valor "O preço é '$ 23". O caractere de escape é necessário no caractere de sinal de cifrão ( $ ) porque $ define variáveis no PowerShell.
Se você colocar a cadeia de caracteres entre aspas simples, o único caractere especial com o qual você precisará se preocupar é o próprio caractere de aspa simples, que requer duas aspas simples para escapar ( '' ).
Por exemplo, se você quiser a saída Don't confuse two single quotation marks with a double quotation mark!, insira o valor 'Não confunda duas aspas simples com aspas duplas!'.
Operadores de comandos no Exchange PowerShell
A lista a seguir mostra os operadores válidos que você pode usar em um comando do Exchange. Alguns desses símbolos também foram descritos anteriormente na seção Convenções de comandos no Exchange PowerShell. No entanto, esses símbolos têm significados diferentes quando usados como operadores. Por exemplo, o sinal de menos que indica um parâmetro também pode ser usado como um operador matemático.
=: O sinal de igual é um caractere de atribuição. O valor no lado direito do sinal de igual é atribuído à variável no lado esquerdo. Por exemplo,$x = Get-Mailbox. Você também pode usar outros caracteres com o sinal de igual:-
+=: adicione o valor no lado direito do sinal de igual ao valor atual na variável no lado esquerdo. -
-=: Subtraia o valor no lado direito do sinal de igual da corrente na variável no lado esquerdo. -
*=: multiplique o valor atual da variável no lado esquerdo do sinal de igual pelo valor especificado no lado direito. -
/=: divida o valor atual da variável no lado esquerdo do sinal de igual pelo valor especificado no lado direito. -
%=: Modifique o valor atual da variável no lado esquerdo do sinal de igual pelo valor especificado no lado direito.
-
:: use dois-pontos para separar um nome de parâmetro do valor do parâmetro. Por exemplo,-Enabled:$True.- Um separador de dois pontos funciona e é opcional em praticamente todos os pares de valor de parâmetro.
- Um separador de dois-pontos é necessário nos parâmetros do interruptor. Para obter mais informações sobre parâmetros de opção, consulte about_Parameters.
!: O ponto de exclamação é o operador NOT lógico. O par!=combinado significa "diferente de".[ ]: os colchetes especificam o valor de índice de uma posição da matriz. Os valores de índice são deslocamentos que sempre começam em zero. Por exemplo, na matriz chamada$Red, o valor da décima posição na matriz é$Red[9].Os colchetes também podem atribuir um tipo a uma variável. Por exemplo, para identificar a variável chamada
$AXML, use$A=[XML] "<Test><A>value</A></Test>". Os seguintes tipos de variáveis estão disponíveis:Array, ,CharScriptBlockLong[]LongRegExInt[]SingleStringByteDecimalTypeChar[]DoubleFloatIntBoolXML.{ }: Use chaves para incluir uma expressão em um comando. Por exemplo,Get-Process | Where {$_.HandleCount -gt 400}.|: Use o símbolo da barra vertical para canalizar a saída de um comando para outro comando. Por exemplo,Get-Mailbox -Server SRV1 | Set-Mailbox -ProhibitSendQuota 2GB.>: Use o colchete de ângulo reto para enviar a saída de um comando para um arquivo. Se o arquivo já existir, o conteúdo será substituído. Por exemplo,Get-TransportRule > "C:\My Documents\TransportRules.txt".>>: Use colchetes duplos de ângulo reto para acrescentar a saída de um comando a um arquivo existente. Se o arquivo não existir, um novo arquivo será criado. Por exemplo,Get-TransportRule >> "C:\My Documents\TransportRules.txt".": use aspas duplas para incluir cadeias de texto que contenham espaços. Conforme descrito anteriormente, as variáveis são substituídas por seus valores reais.$: O cifrão indica uma variável. Por exemplo, para criar uma variável chamada$Bluecom o valor 10, use$Blue = 10. Depois de armazenar a variável, você pode usá-la como um valor de parâmetro.@: O símbolo arroba faz referência a uma matriz associativa. Para obter mais informações, consulte about_Arrays.$( ): Um cifrão com parênteses indica substituição de comando. Você pode usar a substituição de comando quando quiser usar a saída de um comando como um argumento em outro comando. Por exemplo,Get-ChildItem $(Read-Host -Prompt "Enter FileName: ")...: Períodos duplos indicam um intervalo de valores. Por exemplo, se uma matriz contiver vários índices, você poderá retornar os valores de todos os índices entre o segundo e o quinto índices executando o comando:$Blue[2..5].+: o operador de sinal de adição soma dois valores. Por exemplo,6 + 6é igual a12.-: O operador do sinal de subtração subtrai um valor de outro valor (por exemplo,12 - 6é igual a6) ou indica um número negativo (por exemplo,-6 * 6igual a-36).*Você pode usar um asterisco para as seguintes tarefas:-
Cadeias de caracteres correspondentes: Por exemplo,
Get-User | Where-Object {$_.Department -like 'Sales*'}). -
Multiplicar valores numéricos: Por exemplo,
6 * 6é36igual a . -
Repita o valor da cadeia de caracteres um número especificado de vezes: Por exemplo,
"Test" * 3éTestTestTestigual a .
-
Cadeias de caracteres correspondentes: Por exemplo,
/: uma barra divide um valor por outro. Por exemplo,6 / 6é igual a1.%: O sinal de porcentagem tem os seguintes usos:- Em uma avaliação numérica, ele retorna o resto de um operador de divisão. Por exemplo,
6 % 4é igual a2. - Em um pipeline, é a abreviação do cmdlet ForEach-Object . Por exemplo,
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}. -
?: O ponto de interrogação é uma abreviação para o cmdlet Where-Object . Por exemplo,Get-Alias | Where-Object {$_.Definition -eq "Clear-Host"}é o mesmo queGet-Alias | ? {$_.Definition -eq "Clear-Host"}.|
- Em uma avaliação numérica, ele retorna o resto de um operador de divisão. Por exemplo,