Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os artigos de referência de cmdlets do Exchange utilizam um método padronizado que descreve aspetos-chave sobre o cmdlet. Por exemplo:
- Parâmetros disponíveis no cmdlet .
- Valores que cada parâmetro aceita.
- Parâmetros que podem ser utilizados em conjunto e parâmetros que têm de ser utilizados separadamente.
Este artigo explica estas 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 Exchange PowerShell segue as convenções para indicar informações necessárias ou opcionais e como introduzir parâmetros e valores quando executa um comando. Estas convenções de comandos estão descritas na seguinte lista:
-
-: um hífen indica um parâmetro. Por exemplo,-Identity. -
< >: os parênteses angulares indicam os valores possíveis para um parâmetro. Por exemplo:-Location <ServerName>ou-Enabled <$true | $false>. -
[ ]: os parênteses retos indicam parâmetros opcionais e os respetivos valores. Por exemplo:[-WhatIf]ou[-ResultSize <Unlimited>].- São necessários pares parâmetro-valor não entre parênteses retos. Por exemplo,
-Password <SecureString>. - Parênteses retos à volta do próprio nome do parâmetro indica um parâmetro posicional onde pode utilizar o valor do parâmetro sem especificar o nome do parâmetro. Os 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 está entre parênteses retos.
- Opcional porque todo o par parâmetro-valor está entre parênteses retos.
- Assim, pode utilizar
Get-Mailbox -Identity <MailboxIdParameter>ouGet-Mailbox <MailboxIdParameter>.
-
Set-Mailbox [-Identity] <MailboxIdParameter>significa que o parâmetro Identity é:- Posicional porque o parâmetro está entre parênteses retos.
- Necessário porque todo o par parâmetro-valor não está entre parênteses retos.
- Assim, pode utilizar
Set-Mailbox -Identity <MailboxIdParameter>ouSet-Mailbox <MailboxIdParameter>.
-
- São necessários pares parâmetro-valor não entre parênteses retos. Por exemplo,
-
|: os símbolos de pipe nos valores dos parâmetros indicam uma escolha entre valores. Por exemplo,-Enabled <$true | $false>indica que o parâmetro Ativado pode ter o valor$trueou$false.
Essas convenções de comandos ajudam a compreender como um comando é construído. Com exceção do hífen que indica um parâmetro, não utiliza estes símbolos tal como são descritos na tabela quando executa 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 partilham alguns parâmetros.s.
Muitos cmdlets têm apenas um conjunto de parâmetros, o que significa que todos os parâmetros podem ser utilizados entre si. Outros cmdlets têm vários conjuntos de parâmetros, o que significa que alguns parâmetros não podem ser utilizados 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 parâmetros seguintes estão disponíveis no primeiro conjunto de parâmetros, pelo que pode utilizá-los no mesmo comando:
- DsnCode
- Interno
- Idioma
- Text
- Confirmar
- DomainController
- WhatIf
Os parâmetros seguintes estão disponíveis no segundo conjunto de parâmetros, pelo que pode utilizá-los no mesmo comando:
- QuotaMessageType
- Idioma
- Text
- Confirmar
- DomainController
- WhatIf
Os parâmetros DsnCode e Internal só estão disponíveis no primeiro conjunto de parâmetros. O parâmetro QuotaMessageType só está disponível no segundo conjunto de parâmetros. Por isso, não pode utilizar os seguintes parâmetros no mesmo comando:
- DsnCode e QuotaMessageType.
- Internal e QuotaMessageType.
Os seguintes parâmetros estão disponíveis em ambos os conjuntos de parâmetros, pelo que pode utilizá-los em qualquer comando New-SystemMessage :
- Idioma
- Text
- Confirmar
- DomainController
- WhatIf
A <CommonParameters> entrada indica que o cmdlet suporta os parâmetros de Windows PowerShell básicos que estão disponíveis em praticamente qualquer cmdlet (por exemplo, Verboso). Pode utilizar 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 não incluir o valor entre aspas Contoso simples ou duplas, o comando falha porque o PowerShell trata cada palavra como um novo argumento (considera que é o valor do parâmetro Identidade e Receive é o valor de um parâmetro posicional não especificado). Neste exemplo, o erro tem o seguinte aspeto:
Não é possível encontrar um parâmetro posicional que aceite o argumento "Receber"
Para valores de texto simples, as aspas simples vs. aspas duplas não são realmente importantes. No entanto, a escolha é importante quando as variáveis estão envolvidas:
- Aspas duplas: as variáveis são substituídas pelos respetivos valores reais.
- Plicas: as variáveis são tratadas literalmente.
Por exemplo, $Server = Mailbox01 resulta na seguinte saída com base nas aspas que utiliza:
-
"$Server Exemplo" resulta em
Mailbox01 Example. -
"$Server Exemplo" resulta em
$Server Example.
Para obter mais informações sobre variáveis, veja 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 coloca uma cadeia de texto entre aspas duplas, o caráter de escape é o caráter de escape das aspas anteriores ( ' ).
Por exemplo, se quiser a saída The price is $23, introduza o valor "O preço é '$23'". O caráter de escape é necessário no caráter de cifrão ( $ ) porque $ define variáveis no PowerShell.
Se colocar a cadeia entre plicas, o único caráter especial com o qual precisa de se preocupar é o caráter de plica, que requer duas plicas para escapar ( '' ).
Por exemplo, se quiser a saída Don't confuse two single quotation marks with a double quotation mark!, introduza o valor "Não confunda duas plicas com aspas!".
Operadores de comandos no Exchange PowerShell
A lista seguinte mostra os operadores válidos que pode utilizar num comando do Exchange. Alguns desses símbolos também foram descritos anteriormente na seção Convenções de comandos no Exchange PowerShell. No entanto, estes símbolos têm significados diferentes quando utilizados como operadores. Por exemplo, o sinal de subtração que indica um parâmetro também pode ser utilizado como um operador matemático.
=: o sinal de igual é um caráter de atribuição. O valor no lado direito do sinal de igual é atribuído à variável no lado esquerdo. Por exemplo,$x = Get-Mailbox. Também pode utilizar outros carateres com o sinal de igual:-
+=: adicione o valor no lado direito do sinal de igual ao valor atual na variável do lado esquerdo. -
-=: subtraia o valor no lado direito do sinal de igual da corrente na variável do 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.
-
:: utilize 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 parâmetro-valor.
- É necessário um separador de dois pontos nos parâmetros do comutador. Para obter mais informações sobre parâmetros comutadores, veja about_Parameters.
!: o ponto de exclamação é o operador lógico NOT. O par!=combinado significa "não igual a".[ ]: os parênteses retos especificam o valor de índice de uma posição de matriz. Os valores de índice são desvios que começam sempre a zero. Por exemplo, na matriz com o nome$Red, o valor da décima posição na matriz é$Red[9].Os parênteses retos também podem atribuir um tipo a uma variável. Por exemplo, para identificar a variável denominada
$AXML, utilize$A=[XML] "<Test><A>value</A></Test>". Estão disponíveis os seguintes tipos de variáveis:Array, ,Bool,Byte,Char[]Char,Decimal,Double,Float,Int,Int[],Long,Long[], ,RegEx,Single, ,ScriptBlock, ,String, eTypeXML.{ }: utilize chavetas para incluir uma expressão num comando. Por exemplo,Get-Process | Where {$_.HandleCount -gt 400}.|: utilize o símbolo de pipe para encaminhar a saída de um comando para outro comando. Por exemplo,Get-Mailbox -Server SRV1 | Set-Mailbox -ProhibitSendQuota 2GB.>: utilize o parêntese reto reto para enviar a saída de um comando para um ficheiro. Se o ficheiro já existir, os conteúdos são substituídos. Por exemplo,Get-TransportRule > "C:\My Documents\TransportRules.txt".>>: utilize parênteses retos duplos para acrescentar a saída de um comando a um ficheiro existente. Se o arquivo não existir, um novo arquivo será criado. Por exemplo,Get-TransportRule >> "C:\My Documents\TransportRules.txt".": utilize aspas duplas para incluir cadeias de texto que contenham espaços. Conforme descrito anteriormente, as variáveis são substituídas pelos respetivos valores reais.$: o cifrão indica uma variável. Por exemplo, para criar uma variável com o nome$Bluecom o valor 10, utilize$Blue = 10. Depois de armazenar a variável, pode utilizá-la como um valor de parâmetro.@: o símbolo at referencia uma matriz associativa. Para obter mais informações, veja about_Arrays.$( ): um cifrão com parênteses indica a substituição de comandos. 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, pode devolver os valores de todos os índices entre o segundo e o quinto índices ao executar o comando :$Blue[2..5].+: o operador de sinal de adição adiciona dois valores. Por exemplo,6 + 6é igual a12.-: o operador de sinal de subtração subtrai um valor de outro valor (por exemplo,12 - 6é igual6a ) ou indica um número negativo (por exemplo,-6 * 6igual a-36).*: pode utilizar um asterisco para as seguintes tarefas:-
Corresponder cadeias: por exemplo,
Get-User | Where-Object {$_.Department -like 'Sales*'}). -
Multiplicar valores numéricos: por exemplo,
6 * 6é igual a36. -
Repita o valor da cadeia de carateres um número especificado de vezes: por exemplo,
"Test" * 3é igual aTestTestTest.
-
Corresponder cadeias: por exemplo,
/: uma barra para a frente divide um valor por outro. Por exemplo,6 / 6é igual a1.%: o sinal de percentagem tem as seguintes utilizações:- Numa avaliação numérica, devolve o resto de um operador de divisão. Por exemplo,
6 % 4é igual a2. - Num pipeline, é abreviatura 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 é abreviado para o cmdlet Where-Object . Por exemplo,Get-Alias | Where-Object {$_.Definition -eq "Clear-Host"}é o mesmoGet-Alias | ? {$_.Definition -eq "Clear-Host"}que .|
- Numa avaliação numérica, devolve o resto de um operador de divisão. Por exemplo,