Compartilhar via


New-PSWorkflowSession

Cria uma sessão de fluxo de trabalho.

Sintaxe

New-PSWorkflowSession
   [[-ComputerName] <String[]>]
   [-Credential <Object>]
   [-Name <String[]>]
   [-Port <Int32>]
   [-UseSSL]
   [-ApplicationName <String>]
   [-ThrottleLimit <Int32>]
   [-SessionOption <PSSessionOption>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-EnableNetworkAccess]
   [<CommonParameters>]

Description

O New-PSWorkflowSession cmdlet cria uma sessão gerenciada pelo usuário (PSSession) especialmente projetada para executar fluxos de trabalho do Windows PowerShell. Ele usa a configuração de sessão Microsoft.PowerShell.Workflow , que inclui scripts, arquivos de tipo e formatação e opções necessárias para fluxos de trabalho.

Você pode usar New-PSWorkflowSession ou seu alias, nwsn.

Também é possível adicionar parâmetros comuns de fluxo de trabalho para esse comando. Para obter mais informações sobre parâmetros comuns de fluxo de trabalho, consulte about_WorkflowCommonParameters

Este cmdlet foi introduzido no Windows PowerShell 3.0.

Exemplos

Exemplo 1: Criar uma sessão de fluxo de trabalho em um computador remoto

Este exemplo cria a sessão WorkflowTests no computador remoto ServerNode01.

$params = @{
    ComputerName = "ServerNode01"
    Name = "WorkflowTests"
    SessionOption = (New-PSSessionOption -OutputBufferingMode Drop)
}
New-PSWorkflowSession @params

O valor do parâmetro SessionOption é um New-PSSessionOption comando que define o modo de buffer de saída na sessão como Drop.

Exemplo 2: Criar sessões de fluxo de trabalho em vários computadores remotos

Este exemplo cria sessões de fluxo de trabalho nos computadores ServerNode01 e Server12. O comando usa o parâmetro Credential para ser executado com as permissões do administrador de domínio.

"ServerNode01", "Server12" |
    New-PSWorkflowSession -Name WorkflowSession -Credential Domain01\Admin01 -ThrottleLimit 150

O comando usa o parâmetro ThrottleLimit para aumentar o limite de aceleração por comando para 150. Esse valor tem precedência sobre o limite de 100 limitação padrão definido na configuração de sessão Microsoft.PowerShell.Workflow .

Parâmetros

-ApplicationName

Especifica o segmento de nome de aplicativo do URI de conexão.

O valor padrão é o valor da variável de $PSSessionApplicationName preferência no computador local. 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.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Authentication

Especifica o mecanismo usado para autenticar as credenciais do usuário. Os valores aceitáveis para esse parâmetro são:

  • Default
  • Basic
  • Credssp
  • Digest
  • Kerberos
  • Negotiate
  • NegotiateWithImplicitCredential

O valor padrão é Default.

A autenticação CredSSP está disponível apenas no Windows Vista, Windows Server 2008 e versões posteriores do sistema operacional Windows.

Para obter mais informações sobre os valores desse parâmetro, consulte Enumeração AuthenticationMechanism.

Cuidado

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.

Tipo:AuthenticationMechanism
Valores aceitos:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Cargo:Named
Valor padrão:Default
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-CertificateThumbprint

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.

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

Para obter uma impressão digital do certificado, use o Get-Item cmdlet ou o Get-ChildItem cmdlet na unidade do Windows PowerShell Cert: .

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ComputerName

Cria uma conexão persistente (PSSession) com o computador especificado. Se você inserir vários nomes de computador, o Windows PowerShell criará vários PSSessions, um para cada computador. O padrão é o computador local.

Digite o nome NetBIOS, um endereço IP ou um nome de domínio totalmente qualificado de um ou mais computadores remotos. Para especificar o computador local, digite o nome do computador, localhostou um ponto (.). Quando o computador está em um domínio diferente do usuário, é necessário o nome de domínio totalmente qualificado. Você também pode canalizar um nome de computador, entre aspas, para New-PSWorkflowSession.

Para usar um endereço IP no valor do parâmetro ComputerName , o comando deve incluir o parâmetro Credential . 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.

Tipo:String[]
Aliases:Cn
Cargo:0
Valor padrão:Local computer
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Credential

Especifica uma conta de usuário que tem permissão para executar esta ação. O padrão é o usuário atual. Digite um nome de usuário, como User01, Domain01\User01, ou User@Domain.com, ou insira um objeto PSCredential , como um retornado pelo Get-Credential cmdlet.

Quando você digita um nome de usuário, esse cmdlet solicita uma senha.

Tipo:Object
Cargo:Named
Valor padrão:Current user
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-EnableNetworkAccess

Indica que esse cmdlet adiciona um token de segurança interativo às sessões de loopback. O token interativo permite executar comandos na sessão de loopback que obtêm dados de outros computadores. Por exemplo, você pode executar um comando na sessão que copia arquivos XML de um computador remoto no computador local.

Uma sessão de loopback é uma PSSession que se origina e termina no mesmo computador. Para criar uma sessão de loopback, não especifique o parâmetro ComputerName nem defina seu valor como ponto (.), localhostou o nome do computador local.

Por padrão, são criadas sessões de loopback com um token de rede, que pode não fornecer permissão suficiente para autenticação em computadores remotos.

O parâmetro EnableNetworkAccess é efetivo somente em sessões de loopback. Se você especificar o parâmetro EnableNetworkAccess ao criar uma sessão em um computador remoto, o comando será bem-sucedido, mas o parâmetro será ignorado.

Você também pode permitir o acesso remoto em uma sessão de loopback usando o valor CredSSP do parâmetro Authentication, que delega as credenciais da sessão a outros computadores.

Para proteger o computador contra acesso mal-intencionado, as sessões de loopback desconectadas que têm tokens interativos, aquelas criadas usando o parâmetro EnableNetworkAccess , podem ser reconectadas somente do computador no qual a sessão foi criada. Sessões desconectadas que usam a autenticação CredSSP podem ser reconectadas por meio de outros computadores. Para obter mais informações, consulte o Disconnect-PSSession cmdlet.

Este parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Name

Especifica um nome amigável para a sessão de fluxo de trabalho. Você pode usar o nome com outros cmdlets, como Get-PSSession e Enter-PSSession. Não é necessário que o nome do computador ou da sessão atual seja exclusivo.

Tipo:String[]
Cargo:Named
Valor padrão:Session#
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Port

Especifica a porta de rede no computador remoto que é usada para esta conexão. Para se conectar a um computador remoto, este deve estar escutando na porta usada pela conexão. As portas padrão são 5985 (porta WinRM para HTTP) e 5986 (porta WinRM para HTTPS).

Antes de usar outra porta, você deve configurar o ouvinte do WinRM no computador remoto para escutar nessa porta. Use os seguintes comandos para configurar o ouvinte:

winrm delete winrm/config/listener?Address=*+Transport=HTTP

winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number\>"}

Não use o parâmetro Port , a menos que seja necessário. A configuração da porta no comando se aplica a todos os computadores ou sessões em que o comando for executado. Uma configuração de porta alternativa pode impedir que o comando seja executado em todos os computadores.

Tipo:Int32
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-SessionOption

Especifica opções avançadas para a sessão. Insira um objeto SessionOption , como um que você cria usando o New-PSSessionOption cmdlet.

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

Os valores de opção de sessão têm precedência sobre os valores padrão para sessões definidas na $PSSessionOption variável de preferência e na configuração da sessão. No entanto, eles não têm precedência sobre valores máximos, cotas ou limites definidos na configuração da sessão. Para saber mais sobre configurações de sessão, confira about_Session_Configurations.

Para obter uma descrição das opções de sessão, incluindo os valores padrão, consulte New-PSSessionOption. Para obter informações sobre a $PSSessionOption variável de preferência, consulte about_Preference_Variables.

Tipo:PSSessionOption
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ThrottleLimit

Especifica o número máximo de conexões simultâneas que podem ser estabelecidas para executar o comando. Se você omitir esse parâmetro ou inserir um valor de (zero), o valor padrão para a configuração de 0 sessão Microsoft.PowerShellWorkflow , 100, será usado.

O limite de aceleração aplica-se somente ao comando atual e não à sessão ou ao computador.

Tipo:Int32
Cargo:Named
Valor padrão:100
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-UseSSL

Indica que esse cmdlet usa o protocolo SSL (Secure Sockets Layer) para estabelecer uma conexão com o computador remoto. Por padrão, SSL não é usado.

O WS-Management criptografa todo o conteúdo do Windows PowerShell transmitido pela rede. O parâmetro UseSSL é uma proteção adicional que envia os dados por uma conexão HTTPS em vez de uma conexão HTTP.

Se você especificar esse parâmetro, mas o SSL não estiver disponível na porta usada para o comando, o comando falhará.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

PSSession

Você pode canalizar uma sessão para esse cmdlet.

String

Você pode canalizar um nome de computador para esse cmdlet.

Saídas

PSSession

Observações

O Windows PowerShell inclui os seguintes aliases para New-PSWorkflowSession:

  • nwsn

Um New-PSWorkflowSession comando é equivalente ao seguinte comando:

New-PSSession -ConfigurationName Microsoft.PowerShell.Workflow