about_ActivityCommonParameters
BREVE DESCRIÇÃO
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 de atividade às atividades derivadas da classe base PSActivity . Esta categoria inclui a atividade InlineScript e cmdlets do Windows PowerShell que são implementados como atividades, como Get-Process
e Get-WinEvent
.
Os parâmetros comuns de atividade não são válidos nas atividades e Checkpoint-Workflow
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 de 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 DA 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.
AppendOutput <Booleano>
Um valor de $True
adiciona a saída da atividade ao valor da variável.
Um valor de $False
não tem efeito. Por 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
}
Este 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. Este 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 não terminativo do comando. Não tem efeito sobre erros de rescisão. Esse parâmetro funciona somente quando o comando gera um erro não terminativo, 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árioSilentlyContinue
do ,Ignore
não adiciona a mensagem de erro à$Error
variável automática. OIgnore
valor é introduzido no Windows PowerShell 3.0.Inquire
. Exibe a mensagem de erro e solicita a confirmação antes de continuar a execução. Este valor raramente é usado.Suspend
. Suspende automaticamente um trabalho de fluxo de trabalho para permitir uma investigação mais aprofundada. Após 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 para de executar o comando.
Objeto de entrada <[]>
Envia uma coleção de objetos para uma atividade. Esta é uma alternativa para canalizar objetos para a atividade um de cada vez.
Booleano MergeErrorToOutput <>
Um valor de adiciona erros ao fluxo de $True
saída. Um valor de $False
não tem efeito. Use este parâmetro com o Parallel e ForEach -Parallel
palavras-chave 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 repetições de ação em segundos. O valor padrão, 0
, tenta novamente 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 permite o redirecionamento da conexão para os computadores de $True
destino.
Um valor de $False
não tem efeito. Este 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 predefinido é 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 não estiver usando o parâmetro ConnectionURI no comando. Este 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 preferência no computador de $PSSessionApplicationName
destino. Se essa variável de preferência não estiver definida, o valor padrão será WSMAN. Esse valor é apropriado 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
, Kerberos
Digest
, Negotiate
e NegotiateWithImplicitCredential
. O valor predefinido é Default
. Este 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 CredSSP (Credential Security Service Provider), na qual as credenciais do usuário são passadas para um computador remoto para ser autenticado, foi projetada para comandos que exigem autenticação em mais de um recurso, como acessar um compartilhamento de rede remoto. Este mecanismo aumenta o risco de segurança da operação remota. Se o computador remoto estiver comprometido, as credenciais que são passadas para ele podem ser usadas para controlar a sessão de rede.
PSCertificateThumbprint <String>
Especifica o certificado de chave pública digital (X509) de uma conta de usuário que tem permissão para executar essa ação. Insira a impressão digital do certificado. Este parâmetro comum de atividade também é um parâmetro comum de fluxo de trabalho.
Os certificados são usados na autenticação baseada em certificado de cliente. Eles só podem ser mapeados para contas de usuário locais; 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:
.
Cadeia de caracteres PSComputerName <[]>
Especifica os computadores de destino nos quais a atividade é executada. A predefinição é o computador local. Este parâmetro comum de atividade também é um parâmetro comum de fluxo de trabalho.
Digite o nome NETBIOS, endereço IP ou nome de domínio totalmente qualificado de um ou mais computadores em uma lista separada por vírgula. Para especificar o computador local, digite o nome localhost
do computador ou 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 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" no about_Remote_Troubleshooting.
Cadeia de caracteres PSConfigurationName <>
Especifica as configurações de sessão que sã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. Este 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 a 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
), representa nenhuma tentativa de repetição. Este 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
). Este parâmetro é válido somente quando o valor de PSConnectionRetryCount é pelo menos 1. Este 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. Este parâmetro comum de atividade também é um parâmetro comum de fluxo de trabalho.
O formato desta cadeia de caracteres é o seguinte:
<Transport>://<ComputerName>:<Port>/<ApplicationName>
O valor predefinido é 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
HTTPS.
PSCredential <PSCredential>
Especifica uma conta de usuário que tem permissão para executar a atividade no computador de destino. A predefinição é o utilizador atual. Este parâmetro é válido somente quando o parâmetro PSComputerName é incluído no comando. Este 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 introduzir apenas um nome de utilizador, ser-lhe-á solicitada uma palavra-passe.
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 salve 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 <Boolean>
Direciona a atividade para retornar objetos "ao vivo" (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 é tomado.
PSDisableSerializationPreference <Boolean>
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, porque 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 dentro de um fluxo de trabalho para retornar objetos "ao vivo" (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 é tomado.$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 coleta de registro 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 <Boolean>
Toma 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. Este 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 que são capturados enquanto o fluxo de trabalho é executado e são salvos em um armazenamento 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 tomados com base nas configurações do fluxo de trabalho.
$True
. Toma 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 tomados 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). Este 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 você deve. A porta definida no comando aplica-se a todos os computadores ou sessões em que 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 do WinRM no computador remoto para ouvir nessa 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 coleta 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.
Este parâmetro é particularmente útil para identificar atividades em um bloco de ForEach -Parallel
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 nos 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 suporta o 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 .
PSRequiredModules <String[]>
Importa os módulos especificados antes de executar o comando. Insira os nomes dos módulos. 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 na primeira utilização de qualquer comando no módulo. Use este 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 é executado. Ele não importa o módulo para sessões nas quais outras atividades são executadas.
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. Este 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 usa 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 da ajuda do cmdlet New-PSSessionOption New-PSSessionOption.
Para obter mais informações sobre a variável de $PSSessionOption
preferência, consulte about_Preference_Variables.
PSUseSSL <Boolean>
Um valor de usa o protocolo SSL (Secure Sockets Layer) para estabelecer uma conexão com o computador de $True
destino. Por padrão, o SSL não é usado. Um valor de $False
não tem efeito. Este 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 através de um HTTPS, em vez de HTTP. Se você usar esse parâmetro, mas 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 escrever 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 coleta de registro de aviso.
Result
Esse parâmetro é válido somente em fluxos de trabalho XAML.
Booleano UseDefaultInput <>
Aceita todas as entradas do 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 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
Verbose <SwitchParameter>
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 $VerbosePreference
valor da variável para o comando atual. Este parâmetro funciona somente quando o comando gera uma mensagem detalhada. Esse parâmetro também é um parâmetro comum do Windows PowerShell.
AvisoAçãoAçãoPreferência <>
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. Este parâmetro funciona apenas 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 a executar 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. Este valor raramente é usado.Stop
. Exibe a mensagem de aviso e para de executar o comando.
Nota
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 da atividade são extremamente úteis. Por exemplo, você pode usar o parâmetro PSComputerName para executar atividades específicas em apenas 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 de 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.
}
}