Compartilhar via


about_ActivityCommonParameters

DESCRIÇÃO BREVE

Descreve os parâmetros que o Fluxo de Trabalho do Windows PowerShell adiciona às atividades.

DESCRIÇÃO LONGA

O Fluxo de Trabalho do Windows PowerShell adiciona os parâmetros comuns da atividade às atividades derivadas da classe base PSActivity . Essa categoria inclui a atividade InlineScript e os cmdlets do Windows PowerShell que são implementados como atividades, como Get-Process e Get-WinEvent.

Os parâmetros comuns da atividade não são válidos nas atividades e Checkpoint-Workflow e não são adicionados a cmdlets ou expressões que o Suspend-Workflow Fluxo de Trabalho do Windows PowerShell executa automaticamente em um bloco de script InlineScript ou atividade semelhante. Os parâmetros comuns de atividade estão disponíveis na atividade InlineScript , mas não em comandos no bloco de script InlineScript .

Vários dos parâmetros comuns da atividade também são parâmetros comuns de fluxo de trabalho ou parâmetros comuns do Windows PowerShell. Outros parâmetros comuns de atividade são exclusivos das atividades.

Para obter informações sobre os parâmetros comuns do fluxo de trabalho, consulte about_WorkflowCommonParameters. Para obter informações sobre os parâmetros comuns do Windows PowerShell, consulte about_CommonParameters.

LISTA DE PARÂMETROS COMUNS DE ATIVIDADE

AppendOutput                      PSDebug
Debug                             PSDisableSerialization
DisplayName                       PSDisableSerializationPreference
ErrorAction                       PSError
Input                             PSPersist
MergeErrorToOutput                PSPort
PSActionRetryCount                PSProgress
PSActionRetryIntervalSec          PSProgressMessage
PSActionRunningTimeoutSec         PSRemotingBehavior
PSApplicationName                 PSRequiredModules
PSAuthentication                  PSSessionOption
PSCertificateThumbprint           PSUseSSL
PSComputerName                    PSVerbose
PSConfigurationName               PSWarning
PSConnectionRetryCount            Result
PSConnectionRetryIntervalSec      UseDefaultInput
PSConnectionURI                   Verbose
PSCredential                      WarningAction

DESCRIÇÕES DOS PARÂMETROS

Esta seção descreve os parâmetros comuns da atividade.

Booleano AppendOutput <>

Um valor de $True adiciona a saída da atividade ao valor da variável. Um valor de $False não tem efeito. De modo padrão, atribuir um valor a uma variável substitui o valor da variável.

Por exemplo, os comandos a seguir adicionam um objeto de processo ao objeto de serviço na $x variável.

Workflow Test-Workflow
{
    $x = Get-Service
    $x = Get-Process -AppendOutput $true
}

Esse parâmetro foi projetado para fluxos de trabalho baseados em XAML. Em fluxos de trabalho de script, você também pode usar o += operador de atribuição para adicionar saída ao valor de uma variável, conforme mostrado no exemplo a seguir.

Workflow Test-Workflow
{
    $x = Get-Service
    $x += Get-Process
}

Depurar <SwitchParameter>

Exibe detalhes no nível do programador sobre a operação executada pelo comando. O parâmetro Debug substitui o $DebugPreference valor da variável para o comando atual. Esse parâmetro funciona somente quando o comando gera mensagens de depuração. Esse parâmetro também é um parâmetro comum do Windows PowerShell.

Cadeia de caracteres DisplayName <>

Especifica um nome amigável para a atividade. O valor DisplayName aparece na barra de progresso enquanto o fluxo de trabalho é executado e no valor da propriedade Progress do trabalho de fluxo de trabalho. Quando o parâmetro PSProgressMessage também é incluído no comando, o conteúdo da barra de progresso aparece no <DisplayName>:<PSProgressMessage> formato.

ErrorAction <ActionPreference>

Determina como a atividade responde a um erro de não encerramento do comando. Não tem efeito sobre erros de terminação. Esse parâmetro funciona somente quando o comando gera um erro de não encerramento, como os Write-Error do cmdlet. O parâmetro ErrorAction substitui o $ErrorActionPreference valor da variável para o comando atual. Esse parâmetro também é um parâmetro comum do Windows PowerShell.

Valores válidos:

  • Continue. Exibe a mensagem de erro e continua executando o comando. Continue é o valor padrão.

  • Ignore. Suprime a mensagem de erro e continua executando o comando. Ao contrário SilentlyContinuedo $Error , Ignore não adiciona a mensagem de erro à variável automática. O Ignore valor é introduzido no Windows PowerShell 3.0.

  • Inquire. Exibe a mensagem de erro e solicita a confirmação antes de continuar a execução. Esse valor raramente é usado.

  • Suspend. Suspende automaticamente um trabalho de fluxo de trabalho para permitir uma investigação mais aprofundada. Após a investigação, o fluxo de trabalho pode ser retomado.

  • SilentlyContinue. Suprime a mensagem de erro e continua executando o comando.

  • Stop. Exibe a mensagem de erro e interrompe a execução do comando.

Objeto de entrada <>

Envia uma coleção de objetos para uma atividade. Essa é uma alternativa ao redirecionamento de objetos para a atividade, um de cada vez.

Booleano MergeErrorToOutput <>

Um valor de $True adiciona erros ao fluxo de saída. Um valor de $False não tem efeito. Use esse parâmetro com as palavras-chave Parallel e ForEach -Parallel para coletar erros e saída de vários comandos paralelos em uma única coleção.

PSActionRetryCount <Int32>

Tenta executar repetidamente a atividade se a primeira tentativa falhar. O valor padrão, 0, não tenta novamente.

PSActionRetryIntervalSec <Int32>

Determina o intervalo entre as tentativas de ação em segundos. O valor padrão, 0, repete a ação imediatamente. Esse parâmetro é válido somente quando o parâmetro PSActionRetryCount também é usado no comando.

PSActionRunningTimeoutSec <Int32>

Determina por quanto tempo a atividade pode ser executada em cada computador de destino. Se a atividade não for concluída antes que o tempo limite expire, o Fluxo de Trabalho do Windows PowerShell gerará um erro de encerramento e interromperá o processamento do fluxo de trabalho no computador de destino afetado.

PSAllowRedirection <Boolean>

Um valor de $True permite o redirecionamento da conexão para os computadores de destino. Um valor de $False não tem efeito. Esse parâmetro comum de atividade também é um parâmetro comum de fluxo de trabalho.

Quando você usa o parâmetro PSConnectionURI , o destino remoto pode retornar uma instrução para redirecionar para um URI diferente. Por padrão, o Windows PowerShell não redireciona conexões, mas você pode usar o parâmetro PSAllowRedirection com um valor de para permitir o redirecionamento da conexão para o computador de $True destino.

Você também pode limitar o número de vezes que a conexão é redirecionada definindo a propriedade MaximumConnectionRedirectionCount da variável de $PSSessionOption preferência ou a propriedade MaximumConnectionRedirectionCount do valor do parâmetro SessionOption dos cmdlets que criam uma sessão. O valor padrão é 5.

Cadeia de caracteres PSApplicationName <>

Especifica o segmento de nome do aplicativo do URI de conexão usado para se conectar aos computadores de destino. Use esse parâmetro para especificar o nome do aplicativo quando você não estiver usando o parâmetro ConnectionURI no comando. Esse parâmetro comum de atividade também é um parâmetro comum de fluxo de trabalho.

O valor padrão é o valor da variável de $PSSessionApplicationName preferência no computador de destino. Se esta variável de preferência não estiver definida, o valor padrão é WSMAN. Esse valor é adequado para a maioria dos usos. Para obter mais informações, consulte about_Preference_Variables.

O serviço WinRM usa o nome do aplicativo para selecionar um ouvinte para atender à solicitação de conexão. O valor desse parâmetro deve corresponder ao valor da propriedade URLPrefix de um ouvinte no computador remoto.

PSAuthentication <AuthenticationMechanism>

Especifica o mecanismo usado para autenticar as credenciais do usuário ao se conectar aos computadores de destino. Os valores válidos são Default, Basic, CredSSP, Digest, Kerberos, Negotiate e NegotiateWithImplicitCredential. O valor padrão é Default. Esse parâmetro comum de atividade também é um parâmetro comum de fluxo de trabalho.

Para obter informações sobre os valores desse parâmetro, consulte a descrição da enumeração System.Management.Automation.Runspaces.AuthenticationMechanism no SDK do PowerShell.

Aviso

A autenticação do Provedor de Serviços de Segurança de Credenciais (CredSSP), na qual as credenciais do usuário são passadas para um computador remoto para serem autenticadas, foi projetada para comandos que exigem autenticação em mais de um recurso, como acessar um compartilhamento de rede remoto. Esse mecanismo aumenta o risco de segurança da operação remota. Se o computador remoto estiver comprometido, as credenciais que são passadas a ele podem ser usadas para controlar a sessão de rede.

PSCertificateCadeia de caracteres de impressão <digital>

Especifica o certificado de chave pública digital (X509) de uma conta de usuário com permissão para executar essa ação. Insira a impressão digital do certificado. Esse parâmetro comum de atividade também é um parâmetro comum de fluxo de trabalho.

Certificados digitais são empregados na autenticação de clientes baseada em certificados. Eles só podem ser mapeados para contas de usuário local. eles não funcionam com contas de domínio.

Para obter um certificado, use os cmdlets Get-Item ou Get-ChildItem na unidade do Windows PowerShell Cert: .

String PSComputerName <>

Especifica os computadores de destino nos quais a atividade é executada. O padrão é o computador local. Esse parâmetro comum de atividade também é um parâmetro comum de fluxo de trabalho.

Digite o nome NETBIOS, o endereço IP ou o nome de domínio totalmente qualificado de um ou mais computadores em uma lista separada por vírgulas. Para especificar o computador local, digite o nome do computador, localhostou um ponto (.).

Para incluir o computador local no valor do parâmetro PSComputerName , abra o Windows PowerShell com a opção Executar como administrador .

Se esse parâmetro for omitido do comando ou se o valor for $null ou uma cadeia de caracteres vazia, o destino do fluxo de trabalho será o computador local e a comunicação remota do Windows PowerShell não será usada para executar o comando.

Para usar um endereço IP no valor do parâmetro ComputerName , o comando deve incluir o parâmetro PSCredential . Além disso, o computador deve ser configurado para o transporte HTTPS ou o endereço IP do computador remoto deve ser incluído na lista WinRM TrustedHosts no computador local. Para obter instruções sobre como adicionar um nome de computador à lista TrustedHosts, consulte "Como adicionar um computador à lista de hosts confiáveis" em about_Remote_Troubleshooting.

Cadeia de caracteres PSConfigurationName <>

Especifica as configurações de sessão usadas para criar sessões nos computadores de destino. Insira o nome de uma configuração de sessão nos computadores de destino (não no computador que está executando o fluxo de trabalho). O padrão é Microsoft.PowerShell.Workflow. Esse parâmetro comum de atividade também é um parâmetro comum de fluxo de trabalho.

PSConnectionRetryCount <UInt>

Especifica o número máximo de tentativas de conexão com cada computador de destino se a primeira tentativa de conexão falhar. Insira um número entre 1 e 4.294.967.295 (UInt.MaxValue). O valor padrão, zero (0), não representa nenhuma tentativa de repetição. Esse parâmetro comum de atividade também é um parâmetro comum de fluxo de trabalho.

PSConnectionRetryIntervalSec <UInt>

Especifica o atraso entre as tentativas de repetição de conexão em segundos. O valor padrão é zero (0). Esse parâmetro é válido somente quando o valor de PSConnectionRetryCount é pelo menos 1. Esse parâmetro comum de atividade também é um parâmetro comum de fluxo de trabalho.

PSConnectionURI <System.Uri>

Especifica um URI (Uniform Resource Identifier) que define o ponto de extremidade de conexão para a atividade no computador de destino. O URI deve ser totalmente qualificado. Esse parâmetro comum de atividade também é um parâmetro comum de fluxo de trabalho.

O formato dessa cadeia de caracteres é o seguinte:

<Transport>://<ComputerName>:<Port>/<ApplicationName>

O valor padrão é http://localhost:5985/WSMAN.

Se você não especificar um PSConnectionURI, poderá usar os parâmetros PSUseSSL, PSComputerName, PSPort e PSApplicationName para especificar os valores PSConnectionURI.

Os valores válidos para o segmento Transporte do URI são HTTP e HTTPS. Se você especificar um URI de conexão com um segmento de transporte, mas não especificar uma porta, a sessão será criada com portas padrão: 80 para HTTP e 443 para HTTPS. Para usar as portas padrão para comunicação remota do Windows PowerShell, especifique a porta 5985 para HTTP ou 5986 para HTTPS.

PSCredential <PSCredential>

Especifica uma conta de usuário que tem permissão para executar a atividade no computador de destino. O padrão é o usuário atual. Esse parâmetro é válido somente quando o parâmetro PSComputerName é incluído no comando. Esse parâmetro comum de atividade também é um parâmetro comum de fluxo de trabalho.

Digite um nome de usuário, como User01 ou Domain01\User01, ou insira uma variável que contenha um objeto PSCredential , como um que o Get-Credential cmdlet retorna. Se você inserir apenas um nome de usuário, será solicitada uma senha.

PSDebug <PSDataCollection[DebugRecord]>

Adiciona mensagens de depuração da atividade à coleção de registros de depuração especificada, em vez de gravar as mensagens de depuração no console ou no valor da propriedade Debug do trabalho de fluxo de trabalho. Você pode adicionar mensagens de depuração de várias atividades ao mesmo objeto de coleção de registros de depuração.

Para usar esse parâmetro comum de atividade, use o New-Object cmdlet para criar um objeto PSDataCollection com um tipo de DebugRecord e salvar o objeto em uma variável. Em seguida, use a variável como o valor do parâmetro PSDebug de uma ou mais atividades, conforme mostrado no exemplo a seguir.

Workflow Test-Workflow
{
    $debugCollection = New-Object -Type `
    System.Management.Automation.PSDataCollection[System.Management.Automation.DebugRecord]
    InlineScript {\Server01\Share01\Get-AssetData.ps1} -PSDebug $debugCollection -Debug $True
    InlineScript {\Server01\Share01\Set-AssetData.ps1} -PSDebug $debugCollection -Debug $True
    if ($debugCollection -like "Missing") { ...}
}

PSDisableSerialization <Booleano>

Direciona a atividade para retornar objetos "ativos" (não serializados) para o fluxo de trabalho. Os objetos resultantes têm métodos, bem como propriedades, mas não podem ser salvos quando um ponto de verificação é obtido.

PSDisableSerializationPreference <Booleano>

Aplica o equivalente ao parâmetro PSDisableSerialization a todo o fluxo de trabalho, não apenas à atividade. Adicionar esse parâmetro geralmente não é recomendado, pois um fluxo de trabalho que não serializa seus objetos não pode ser retomado ou persistido.

Valores válidos:

  • (Padrão) Se omitido e você também não tiver adicionado o parâmetro PSDisableSerialization a uma atividade, os objetos serão serializados.

  • $True. direciona todas as atividades de um fluxo de trabalho a retornar objetos “ativos” (não serializados). Os objetos resultantes têm métodos, bem como propriedades, mas não podem ser salvos quando um ponto de verificação é obtido.

  • $False. os objetos de fluxo de trabalho são serializados.

PSError <PSDataCollection[ErrorRecord]>

Adiciona mensagens de erro da atividade à coleção de registros de erro especificada, em vez de gravar as mensagens de erro no console ou no valor da propriedade Error do trabalho de fluxo de trabalho. Você pode adicionar mensagens de erro de várias atividades ao mesmo objeto de coleção de registros de erro.

Para usar esse parâmetro comum de atividade, use o New-Object cmdlet para criar um objeto PSDataCollection com um tipo de ErrorRecord e salve o objeto em uma variável. Em seguida, use a variável como o valor do parâmetro PSError de uma ou mais atividades, conforme mostrado no exemplo a seguir.

Workflow Test-Workflow
{
   $typeName = "System.Management.Automation.PSDataCollection"
   $typeName += '[System.Management.Automation.ErrorRecord]'
   $ec = New-Object $typeName
   InlineScript {\Server01\Share01\Get-AssetData.ps1} -PSError $ec
   InlineScript {\Server01\Share01\Set-AssetData.ps1} -PSError $ec
   if ($ec.Count -gt 2)
   {
      # Do Some Work.
   }
}

PSPersist <Booleano>

Faz um ponto de verificação após a atividade. Esse ponto de verificação é adicional a todos os pontos de verificação especificados no fluxo de trabalho. Esse parâmetro comum de atividade também é um parâmetro comum de fluxo de trabalho.

Um "ponto de verificação" ou "ponto de persistência" é um instantâneo do estado do fluxo de trabalho e dos dados capturados enquanto o fluxo de trabalho é executado e salvo em um repositório de persistência no disco. O Fluxo de Trabalho do Windows PowerShell usa os dados salvos para retomar um fluxo de trabalho suspenso ou interrompido a partir do último ponto de persistência, em vez de reiniciar o fluxo de trabalho.

Valores válidos:

  • (Padrão) Se você omitir esse parâmetro, nenhum ponto de verificação será adicionado. Os pontos de verificação são obtidos com base nas configurações do fluxo de trabalho.

  • $True. Usa um ponto de verificação após a conclusão da atividade. Esse ponto de verificação é adicional a todos os pontos de verificação especificados no fluxo de trabalho.

  • $False. Nenhum ponto de verificação é adicionado. Os pontos de verificação são obtidos somente quando especificados no fluxo de trabalho.

PSPort <Int32>

Especifica a porta de rede nos computadores de destino. As portas padrão são 5985 (a porta WinRM para HTTP) e 59'86 (a porta WinRM para HTTPS). Esse parâmetro comum de atividade também é um parâmetro comum de fluxo de trabalho.

Não use o parâmetro PSPort, a menos que seja necessário. A porta definida no comando se aplica a todos os computadores ou sessões nos quais o comando é executado. Uma configuração de porta alternativa pode impedir que o comando seja executado em todos os computadores. Antes de usar uma porta alternativa, você deve configurar o ouvinte de WinRM no computador remoto para escutar na porta.

PSProgress <PSDataCollection[ProgressRecord]>

Adiciona mensagens de progresso da atividade à coleção de registros de progresso especificada, em vez de gravar as mensagens de progresso no console ou no valor da propriedade Progress do trabalho de fluxo de trabalho. Você pode adicionar mensagens de progresso de várias atividades ao mesmo objeto de coleção de registros de progresso.

Cadeia de caracteres PSProgressMessage <>

Especifica uma descrição amigável da atividade. O valor PSProgressMessage aparece na barra de progresso enquanto o fluxo de trabalho é executado. Quando o DisplayName também é incluído no comando, o conteúdo da barra de progresso aparece no <DisplayName>:<PSProgressMessage> formato.

Esse parâmetro é particularmente útil para identificar atividades em um ForEach -Parallel bloco de script. Sem essa mensagem, as atividades em todas as ramificações paralelas são identificadas pelo mesmo nome.

PSRemotingBehavior <RemotingBehavior>

Especifica como a comunicação remota é gerenciada quando a atividade é executada em computadores de destino. O PowerShell é o padrão.

Os valores válidos são:

  • None: A atividade não é executada em computadores remotos.

  • PowerShell: a comunicação remota do Windows PowerShell é usada para executar a atividade nos computadores de destino.

  • Custom: a atividade dá suporte ao seu próprio tipo de comunicação remota. Esse valor é válido quando o cmdlet que está sendo implementado como uma atividade define o valor do atributo RemotingCapability como SupportedByCommand e o comando inclui o parâmetro ComputerName .

String PSRequiredModules <>

Importa os módulos especificados antes de executar o comando. Insira os nomes do módulo. Os módulos devem ser instalados no computador de destino.

Os módulos instalados em um caminho especificado na variável de ambiente PSModulePath são importados automaticamente no primeiro uso de qualquer comando no módulo. Use esse parâmetro para importar módulos que não estão em um local PSModulePath .

Como cada atividade em um fluxo de trabalho é executada em sua própria sessão, um Import-Module comando importa um módulo somente para a sessão em que ele é executado. Ela não importa o módulo para sessões em que há outras atividades em execução.

PSSessionOption <PSSessionOption>

Define opções avançadas para as sessões para os computadores de destino. Insira um objeto PSSessionOption , como um que você cria usando o New-PSSessionOption cmdlet. Esse parâmetro comum de atividade também é um parâmetro comum de fluxo de trabalho.

Os valores padrão para as opções de sessão são determinados pelo valor da variável de $PSSessionOption preferência, se ela estiver definida. Caso contrário, a sessão usará os valores especificados na configuração da sessão.

Para obter uma descrição das opções de sessão, incluindo os valores padrão, consulte o tópico de ajuda do cmdlet New-PSSessionOption New-PSSessionOption.

Para obter mais informações sobre a variável de preferência, consulte about_Preference_Variables$PSSessionOption.

PSUseSSL <Booleano>

Um valor de $True usa o protocolo SSL (Secure Sockets Layer) para estabelecer uma conexão com o computador de destino. Por padrão, SSL não é usado. Um valor de $False não tem efeito. Esse parâmetro comum de atividade também é um parâmetro comum de fluxo de trabalho.

O WS-Management criptografa todo o conteúdo do Windows PowerShell transmitido pela rede. UseSSL é uma proteção adicional que envia os dados por HTTPS, em vez de HTTP. Se você usar esse parâmetro e o SSL não estiver disponível na porta usada para o comando, o comando falhará.

PSVerbose <PSDataCollection[VerboseRecord]>

Adiciona mensagens detalhadas da atividade à coleção de registros detalhados especificada, em vez de gravar as mensagens detalhadas no console ou no valor da propriedade Verbose do trabalho de fluxo de trabalho. Você pode adicionar mensagens detalhadas de várias atividades ao mesmo objeto de coleção de registros detalhados.

PSWarning <PSDataCollection[WarningRecord]>

Adiciona mensagens de aviso da atividade à coleção de registros de aviso especificada, em vez de gravar as mensagens de aviso no console ou no valor da propriedade Warning do trabalho de fluxo de trabalho. Você pode adicionar mensagens de aviso de várias atividades ao mesmo objeto de coleção de registros de aviso.

Resultado

Esse parâmetro é válido somente em fluxos de trabalho XAML.

Booleano UseDefaultInput <>

Aceita todas as entradas de fluxo de trabalho como entrada para a atividade por valor.

Por exemplo, a Get-Process atividade no fluxo de trabalho de exemplo a seguir usa o parâmetro comum da atividade UseDefaultInput para obter a entrada que é passada para o fluxo de trabalho. Quando você executa o fluxo de trabalho com a entrada, essa entrada é usada pela atividade.

workflow Test-Workflow
{
    Get-Service -UseDefaultInput $True
}

PS C:> Test-Workflow -InputObject WinRm
Status   Name        DisplayName                            PSComputerName
------   ----        -----------                            --------------
Running  winrm       Windows Remote Management (WS-Manag... localhost

Parâmetro de comutação detalhado <>

Exibe informações detalhadas sobre a operação executada pelo comando. Essas informações são semelhantes às informações em um rastreamento ou em um log de transações. O parâmetro Verbose substitui o valor da $VerbosePreference variável para o comando atual. Esse parâmetro funciona somente quando o comando gera uma mensagem detalhada. Esse parâmetro também é um parâmetro comum do Windows PowerShell.

WarningAction <ActionPreference>

Determina como a atividade responde a um aviso. Continue é o valor padrão. O parâmetro WarningAction substitui o $WarningPreference valor da variável para o comando atual. Esse parâmetro funciona somente quando o comando gera uma mensagem de aviso. Esse parâmetro também é um parâmetro comum do Windows PowerShell.

Valores válidos:

  • SilentlyContinue. Suprime a mensagem de aviso e continua executando o comando.

  • Continue. Exibe a mensagem de aviso e continua executando o comando. Continue é o valor padrão.

  • Inquire. Exibe a mensagem de aviso e solicita a confirmação antes de continuar a execução. Esse valor raramente é usado.

  • Stop. Exibe a mensagem de aviso e interrompe a execução do comando.

Observação

O parâmetro WarningAction não substitui o $WarningAction valor da variável de preferência quando o parâmetro é usado em um comando para executar um script ou função.

EXEMPLOS

Os parâmetros comuns de atividades são extremamente úteis. Por exemplo, você pode usar o parâmetro PSComputerName para executar atividades específicas apenas em um subconjunto dos computadores de destino.

Ou você pode usar os parâmetros PSConnectionRetryCount e PSConnectionRetryIntervalSec para ajustar os valores de repetição para atividades específicas.

O exemplo a seguir mostra como usar os parâmetros comuns da atividade PSComputerName para executar uma Get-EventLog atividade somente em computadores em um domínio específico.

Workflow Test-Workflow
{
    $UserDomain = Get-Content -Path '.\UserComputers.txt'
    $Log = (Get-EventLog -LogName "Windows PowerShell" `
      -PSComputerName $UserDomain)

    if ($Log)
    {
        # Do Work Here.
    }
}

Confira também