Sintaxis del cmdlet de Exchange

Los temas de referencia de los cmdlets de Exchange usan un método estandarizado que describe los aspectos clave sobre el cmdlet. Por ejemplo:

  • Parámetros que están disponibles en el cmdlet.
  • Valores que acepta cada parámetro.
  • Parámetros que se pueden usar juntos y parámetros que deben usarse por separado.

En este tema se explican estas convenciones y la sintaxis necesaria para ejecutar comandos en Exchange PowerShell.

Convenciones de comandos en Exchange PowerShell

La ayuda de Exchange PowerShell sigue convenciones que indican lo que es obligatorio y lo que es opcional, así como la manera de especificar parámetros y valores al ejecutar un comando. En la tabla siguiente se enumeran estas convenciones de comandos.

Símbolo Description
- Un guión indica un parámetro. Por ejemplo, -Identity.
< > Los corchetes angulares indican los valores posibles de un parámetro. Por ejemplo, -Location <ServerName> o-habilitado <$true | $false> .
[ ] Los corchetes indican parámetros opcionales y sus valores. Por ejemplo, [-WhatIf] o [-ResultSize <Unlimited>] .
Es necesario que haya pares parámetro-valor que no estén entre corchetes. Por ejemplo, -Password <SecureString>.
Si el nombre del parámetro se encuentra entre corchetes, significa que el parámetro es un parámetro posicional (puede usar el valor del parámetro sin especificar el parámetro) y los parámetros posicionales pueden ser obligatorios u opcionales.
Por ejemplo, Get-Mailbox [[-Identity] <MailboxIdParameter>] el parámetro Identity es posicional (porque está entre corchetes) y es opcional (porque todo el par parámetro-valor está entre corchetes), por lo que puede usar Get-Mailbox -Identity <MailboxIdParameter> o Get-Mailbox <MailboxIdParameter> . De forma similar, Set-Mailbox [-Identity] <MailboxIdParameter> significa que el parámetro Identity es posicional (porque está entre corchetes) y es obligatorio (ya que todo el par Parameter-Value no está entre corchetes), por lo que puede usar Set-Mailbox -Identity <MailboxIdParameter> o Set-Mailbox <MailboxIdParameter> .
| La barra vertical en valores de parámetro indica una elección entre valores. Por ejemplo,-Enabled <$true | $false> indica que el parámetro Enabled puede tener el valor $true o $false .

Estas convenciones de comandos le ayudan a entender cómo se construye un comando. A excepción del guión que indica un parámetro, estos símbolos no se usan como están descritos en la tabla cuando se ejecutan cmdlets en Exchange PowerShell.

Conjuntos de parámetros en Exchange PowerShell

Los conjuntos de parámetros son grupos de parámetros que se pueden usar juntos en el mismo comando. Aunque los conjuntos de parámetros normalmente comparten algunos parámetros, cada conjunto de parámetros contiene al menos un parámetro que no está disponible en los otros conjuntos de parámetros, y no se puede usar con algunos de los parámetros de distintos conjuntos de parámetros.

Muchos cmdlets solo tienen un conjunto de parámetros, lo que significa que todos los parámetros disponibles se pueden usar juntos. Otros cmdlets tienen varios conjuntos de parámetros, lo que indica que algunos parámetros realizan funciones que son incompatibles con otros parámetros. Por ejemplo, supongamos que los siguientes conjuntos de parámetros están disponibles en el cmdlet New-SystemMessage:

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

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

Este cmdlet tiene dos conjuntos de parámetros independientes. En función de las entradas, puede usar estos parámetros juntos en el mismo comando:

  • DsnCode
  • Interna
  • Language
  • Text
  • Confirm
  • DomainController
  • WhatIf

Además, puede usar estos parámetros juntos en el mismo comando:

  • Language
  • QuotaMessageType
  • Text
  • Confirm
  • DomainController
  • WhatIf

Pero no puede usar estos parámetros juntos en el mismo comando:

  • DsnCode y QuotaMessageType.
  • Internal y QuotaMessageType.

La <COMMON PARAMETERS> entrada indica que el cmdlet admite los parámetros básicos de Windows PowerShell que están disponibles en prácticamente cualquier cmdlet (por ejemplo, Debug). Puede usar parámetros comunes con parámetros de cualquier conjunto de parámetros. Para más información, consulte about_CommonParameters.

Comillas en Exchange PowerShell

En Exchange PowerShell, se usan comillas simples (') o comillas dobles (") para delimitar los valores de parámetro que contienen espacios. Por ejemplo, los comandos siguientes se comportan de la misma manera:

  • Get-ReceiveConnector -Identity "Contoso Receive Connector"

  • Get-ReceiveConnector -Identity 'Contoso Receive Connector'

Si no incluye el valor entre Contoso Receive Connector comillas, Exchange PowerShell intenta tratar cada palabra como un nuevo argumento y se producirá un error en el comando. En este ejemplo, recibirá un error con este aspecto:

No se encuentra un parámetro posicional que acepte el argumento "receive"

Si el valor contiene variables, debe elegir cuidadosamente entre comillas simples y dobles. Por ejemplo, supongamos que tiene una variable llamada $Server que tiene el valor Mailbox01 .

  • Dobles comillas: las variables se sustituyen por sus valores. Por ejemplo, si la variable $Server tiene el valor Mailbox01, la entrada "ejemplo $Server" da como resultado el resultado Mailbox01 Example .

  • Comillas simples: las variables se tratan literalmente. La entrada ' $Server ejemplo ' da como resultado el resultado $Server Example .

Para obtener más información acerca de las variables, consulte about_Variables y about_Automatic_Variables.

Caracteres de escape en Exchange PowerShell

En todos los lenguajes de programación, se usan caracteres de escape para identificar los caracteres especiales literalmente, no por su función normal en ese idioma. En Exchange PowerShell, cuando se escribe una cadena de texto entre comillas dobles, el carácter de escape es el carácter de escape de la comilla de atrás (').

Por ejemplo, si desea el resultado The price is $23 , escriba el valor "el precio es ` $23". El carácter de escape es necesario en el carácter de signo de dólar ($) porque $ define variables en PowerShell.

Si la cadena se incluye entre comillas simples, el único carácter especial por el que hay que preocuparse es el carácter de comilla simple, que requiere dos comillas simples para escapar ( '' ).

Por ejemplo, si desea que el resultado sea Don't confuse two single quotation marks with a double quotation mark! , escriba el valor ' no ' ' Don '' ' no ' ' ' ' ' ' ' ' ' ' no ' '

Operadores de comandos en Exchange PowerShell

En la tabla siguiente se indican los operadores válidos que se pueden usar en un comando de Exchange. Algunos de estos símbolos también se describieron en la sección anterior titulada Convenciones de comandos en Exchange PowerShell. Pero estos símbolos tienen significados diferentes cuando se usan en la línea de comandos como operadores. Por ejemplo, el signo menos que se usa para indicar un parámetro también se puede usar en un comando como operador matemático.

Operador Descripción
= El signo igual se utiliza como carácter de asignación. El valor del lado derecho del signo igual se asigna a la variable del lado izquierdo. Los siguientes caracteres también son de asignación:
  • +=: Agrega el valor del lado derecho del signo igual al valor actual que está contenido en la variable del lado izquierdo del signo igual.
  • -=: Resta el valor del lado derecho del signo igual al valor actual que está contenido en la variable del lado izquierdo del signo igual.
  • *=: Multiplica el valor actual de la variable del lado izquierdo del signo igual por el valor que se especifica en el lado derecho del signo igual.
  • /=: Divide el valor actual de la variable del lado izquierdo del signo igual según el valor que se especifica en el lado derecho del signo igual.
  • %=: Modifique el valor actual de la variable del lado izquierdo del signo igual según el valor que se especifica en el lado derecho del signo igual.
: Se puede usar el carácter de dos puntos para separar el nombre de un parámetro de su valor. Por ejemplo, -Enabled:$True. El uso del carácter de dos puntos es opcional en todos los tipos de parámetros, excepto en los parámetros de modificador. Para obtener más información acerca de los parámetros de modificador, consulte about_Parameters.
! El signo de exclamación es un operador NOT lógico. Cuando se usa con el signo igual (=), el par combinado ( != ) significa "no es igual a".
[ ] Los corchetes se usan para especificar el valor de índice de una posición de matriz. Los valores de índice son desplazamientos que empiezan en cero. Por ejemplo, $Red[9] hace referencia a la décima posición de índice de la matriz, $Red .
Los corchetes también pueden usarse para asignar un tipo a una variable (por ejemplo, $A=[XML] "<Test><A>value</A></Test>" ). Están disponibles los siguientes tipos de variables: Array , Bool , Byte , Char , Char[] , Decimal , Double , Float , Int ,, Int[] Long Long[] RegEx Single ScriptBlock String Type ,,,,,, y XML.
{ } Las llaves se usan para incluir una expresión en un comando. Por ejemplo, Get-Process | donde {$ _ . HandleCount-gt 400}
| La barra vertical se usa cuando un cmdlet canaliza un resultado a otro cmdlet. Por ejemplo, Get-Mailbox-Server SRV1 | set-Mailbox-ProhibitSendQuota de 2 GB.
> El corchete angular de cierre se usa para enviar la salida de un comando a un archivo, y el contenido del archivo se sobrescribe. Por ejemplo, Get-TransportRulePredicate > "C:\My Documents\Output.txt".
>> Los corchetes angulares de cierre dobles se usan para adjuntar la salida de un comando a un archivo existente. Si el archivo no existe, se crea uno. Por ejemplo, Get-TransportRulePredicate >> "C:\My Documents\Output.txt".
" Las comillas dobles se usan para delimitar cadenas de texto que contienen espacios.
$ El signo de dólar indica una variable. Por ejemplo, $Blue = 10 asigna el valor 10 a la variable $Blue .
@ El símbolo @ hace referencia a una matriz asociativa. Para obtener más información, consulte about_Arrays.
$( ) Un signo de dólar con paréntesis indica la sustitución del comando. Puede usar este tipo de sustitución cuando quiera usar la salida de un comando como argumento en otro comando. Por ejemplo, Get-ChildItem $(Read-Host -Prompt "Enter FileName: ").
.. Los puntos dobles indican un intervalo de valores. Por ejemplo, si una matriz contiene varios índices, puede devolver los valores de todos los índices entre los índices segundo y quinto ejecutando el comando: $Blue[2..5] .
+ El operador de signo más suma dos valores. Por ejemplo, 6 + 6 es igual a 12.
- El operador de signo menos resta un valor de otro valor (por ejemplo, 12 - 6 es igual a 6 ) o indica un número negativo (por ejemplo, -6 * 6 es igual a -36 ).
* Puede usar un asterisco para:
  • Coincidencia de cadenas: por ejemplo, Get-User | Where-Object {$_.Department -like 'Sales*'})
  • Multiplicar valores numéricos: por ejemplo, 6 * 6 es igual a 36
  • Repetir el valor de cadena un número especificado de veces: por ejemplo, "Test" * 3 es igual a TestTestTest
/ Una barra diagonal hacia delante divide un valor entre otro. Por ejemplo, 6 / 6 es igual a 1.
% El signo de porcentaje tiene los siguientes usos:
  • En una evaluación numérica, devuelve el resto de un operador de división. Por ejemplo, 6 % 4 es igual a 2.
  • En una canalización, es una forma abreviada para el cmdlet foreach-Object . Por ejemplo, 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}.
? El carácter de signo de interrogación es una forma abreviada del cmdlet Where-Object . Por ejemplo, Get-Alias | Where-Object {$_.Definition -eq "Clear-Host"} is the same as Get-Alias | ? {$_.Definition -eq "Clear-Host"}.