Compartir a través de


New-PSWorkflowSession

Crea una sesión de flujo de trabajo.

Sintaxis

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

Description

El cmdlet New-PSWorkflowSession crea una sesión administrada por el usuario (PSSession) que está especialmente diseñada para ejecutar flujos de trabajo de Windows PowerShell. Usa la configuración de sesión de Microsoft.PowerShell.Workflow, que incluye scripts, tipos y archivos de formato, y opciones necesarias para los flujos de trabajo.

Puede usar New-PSWorkflowSession o su alias, nwsn.

También puede agregar parámetros comunes de flujo de trabajo a este comando. Para obtener más información sobre los parámetros comunes del flujo de trabajo, consulte about_WorkflowCommonParameters

Este cmdlet se introdujo en Windows PowerShell 3.0.

Ejemplos

Ejemplo 1: Crear una sesión de flujo de trabajo en un equipo remoto

En este ejemplo se crea la sesión WorkflowTests en el equipo remoto ServerNode01.

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

El valor del parámetro sessionOption de es un comando New-PSSessionOption que establece el modo de almacenamiento en búfer de salida de la sesión en Drop.

Ejemplo 2: Creación de sesiones de flujo de trabajo en varios equipos remotos

En este ejemplo se crean sesiones de flujo de trabajo en los equipos ServerNode01 y Server12. El comando usa el parámetro credential para ejecutarse con los permisos del administrador de dominio.

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

El comando usa el parámetro throttleLimit de para aumentar el límite de limitación por comando a 150. Este valor tiene prioridad sobre el límite predeterminado de 100 que se establece en la configuración de sesión de Microsoft.PowerShell.Workflow.

Parámetros

-ApplicationName

Especifica el segmento de nombre de aplicación del URI de conexión.

El valor predeterminado es el valor de la variable de preferencia $PSSessionApplicationName en el equipo local. Si no se define esta variable de preferencia, el valor predeterminado es WSMAN. Este valor es adecuado para la mayoría de los usos. Para obtener más información, vea about_Preference_Variables.

El servicio WinRM usa el nombre de la aplicación para seleccionar un agente de escucha para atender la solicitud de conexión. El valor de este parámetro debe coincidir con el valor del URLPrefix propiedad de un agente de escucha en el equipo remoto.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Authentication

Especifica el mecanismo que se usa para autenticar las credenciales de usuario. Los valores aceptables para este parámetro son:

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

El valor predeterminado es Default.

La autenticación CredSSP solo está disponible en Windows Vista, Windows Server 2008 y versiones posteriores del sistema operativo Windows.

Para obtener más información sobre los valores de este parámetro, vea AuthenticationMechanism Enumeration.

Cautela

La autenticación del proveedor de servicios de seguridad de credenciales (CredSSP), en la que las credenciales de usuario se pasan a un equipo remoto para autenticarse, está diseñada para comandos que requieren autenticación en más de un recurso, como el acceso a un recurso compartido de red remoto. Este mecanismo aumenta el riesgo de seguridad de la operación remota. Si el equipo remoto está en peligro, se pueden usar las credenciales que se pasan a ella para controlar la sesión de red.

Tipo:AuthenticationMechanism
Valores aceptados:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Posición:Named
Valor predeterminado:Default
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-CertificateThumbprint

Especifica el certificado de clave pública digital (X509) de una cuenta de usuario que tiene permiso para realizar esta acción. Escriba la huella digital del certificado.

Los certificados se usan en la autenticación basada en certificados de cliente. Solo se pueden asignar a cuentas de usuario locales; no funcionan con cuentas de dominio.

Para obtener una huella digital de certificado, use el cmdlet Get-Item o el cmdlet Get-ChildItem en la unidad de Cert: de Windows PowerShell.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ComputerName

Crea una conexión persistente (PSSession) en el equipo especificado. Si escribe varios nombres de equipo, Windows PowerShell crea varios PSSessions, uno para cada equipo. El valor predeterminado es el equipo local.

Escriba el nombre NetBIOS, una dirección IP o un nombre de dominio completo de uno o varios equipos remotos. Para especificar el equipo local, escriba el nombre del equipo, localhosto un punto (.). Cuando el equipo está en un dominio diferente al del usuario, se requiere el nombre de dominio completo. También puede canalizar un nombre de equipo, entre comillas para New-PSWorkflowSession.

Para usar una dirección IP en el valor del parámetro ComputerName, el comando debe incluir el parámetro Credential. Además, el equipo debe configurarse para el transporte HTTPS o la dirección IP del equipo remoto debe incluirse en la lista WinRM TrustedHosts del equipo local. Para obtener instrucciones para agregar un nombre de equipo a la lista TrustedHosts, vea "Cómo agregar un equipo a la lista de hosts de confianza" en about_Remote_Troubleshooting.

Tipo:String[]
Alias:Cn
Posición:0
Valor predeterminado:Local computer
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Credential

Especifica una cuenta de usuario que tiene permiso para realizar esta acción. El valor predeterminado es el usuario actual. Escriba un nombre de usuario, como User01, Domain01\User01o User@Domain.com, o escriba un objeto de PSCredential, como uno devuelto por el cmdlet Get-Credential.

Al escribir un nombre de usuario, este cmdlet le pedirá una contraseña.

Tipo:Object
Posición:Named
Valor predeterminado:Current user
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-EnableNetworkAccess

Indica que este cmdlet agrega un token de seguridad interactivo a las sesiones de bucle invertido. El token interactivo permite ejecutar comandos en la sesión de bucle invertido que obtienen datos de otros equipos. Por ejemplo, puede ejecutar un comando en la sesión que copia archivos XML desde un equipo remoto al equipo local.

Una sesión de bucle invertido es un psSession de que se origina y termina en el mismo equipo. Para crear una sesión de bucle invertido, no especifique el parámetro ComputerName ni establezca su valor en dot (.), localhosto el nombre del equipo local.

De forma predeterminada, se crean sesiones de bucle invertido que tienen un token de red, lo que podría no proporcionar permiso suficiente para autenticarse en equipos remotos.

El parámetro EnableNetworkAccess solo es efectivo en sesiones de bucle invertido. Si especifica el parámetro EnableNetworkAccess al crear una sesión en un equipo remoto, el comando se realiza correctamente, pero se omite el parámetro .

También puede permitir el acceso remoto en una sesión de bucle invertido mediante el de CredSSP del parámetro Authentication de, que delega las credenciales de sesión en otros equipos.

Para proteger el equipo contra el acceso malintencionado, las sesiones de bucle invertido desconectadas que tienen tokens interactivos, los creados mediante el parámetro EnableNetworkAccess, solo se pueden volver a conectar desde el equipo en el que se creó la sesión. Las sesiones desconectadas que usan la autenticación CredSSP se pueden volver a conectar desde otros equipos. Para más información, consulte el cmdlet Disconnect-PSSession.

Este parámetro se introdujo en Windows PowerShell 3.0.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Name

Especifica un nombre descriptivo para la sesión de flujo de trabajo. Puede usar el nombre con otros cmdlets, como Get-PSSession y Enter-PSSession. No es necesario que el nombre sea único para el equipo o la sesión actual.

Tipo:String[]
Posición:Named
Valor predeterminado:Session#
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Port

Especifica el puerto de red en el equipo remoto que se usa para esta conexión. Para conectarse a un equipo remoto, el equipo remoto debe estar escuchando en el puerto que usa la conexión. Los puertos predeterminados son 5985 (puerto WinRM para HTTP) y 5986 (puerto WinRM para HTTPS).

Antes de usar otro puerto, debe configurar el agente de escucha winRM en el equipo remoto para que escuche en ese puerto. Use los siguientes comandos para configurar el agente de escucha:

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

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

No use el parámetro Port a menos que sea necesario. La configuración de puerto del comando se aplica a todos los equipos o sesiones en los que se ejecuta el comando. Una configuración de puerto alternativa podría impedir que el comando se ejecute en todos los equipos.

Tipo:Int32
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-SessionOption

Especifica opciones avanzadas para la sesión. Escriba un objeto SessionOption, como uno que cree mediante el cmdlet New-PSSessionOption.

Los valores predeterminados de las opciones se determinan mediante el valor de la variable de preferencia $PSSessionOption, si se establece. De lo contrario, las opciones establecidas en la configuración de sesión establecen los valores predeterminados.

Los valores de opción de sesión tienen prioridad sobre los valores predeterminados de las sesiones establecidas en la variable de preferencia $PSSessionOption y en la configuración de la sesión. Sin embargo, no tienen prioridad sobre los valores máximos, cuotas o límites establecidos en la configuración de sesión. Para obtener más información sobre las configuraciones de sesión, consulte about_Session_Configurations.

Para obtener una descripción de las opciones de sesión, incluidos los valores predeterminados, consulte New-PSSessionOption. Para obtener información sobre la variable de preferencia de $PSSessionOption, vea about_Preference_Variables.

Tipo:PSSessionOption
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ThrottleLimit

Especifica el número máximo de conexiones simultáneas que se pueden establecer para ejecutar este comando. Si omite este parámetro o especifica un valor de 0 (cero), se usa el valor predeterminado para la configuración de sesión de Microsoft.PowerShellWorkflow, 100, .

El límite solo se aplica al comando actual, no a la sesión o al equipo.

Tipo:Int32
Posición:Named
Valor predeterminado:100
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-UseSSL

Indica que este cmdlet usa el protocolo Capa de sockets seguros (SSL) para establecer una conexión con el equipo remoto. De forma predeterminada, no se usa SSL.

WS-Management cifra todo el contenido de Windows PowerShell transmitido a través de la red. El parámetro UseSSL es una protección adicional que envía los datos a través de una conexión HTTPS en lugar de una conexión HTTP.

Si especifica este parámetro, pero SSL no está disponible en el puerto que se usa para el comando, se produce un error en el comando.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

PSSession

Puede canalizar una sesión a este cmdlet.

String

Puede canalizar un nombre de equipo a este cmdlet.

Salidas

PSSession

Notas

Windows PowerShell incluye los siguientes alias para New-PSWorkflowSession:

  • nwsn

Un comando New-PSWorkflowSession es equivalente al siguiente comando:

New-PSSession -ConfigurationName Microsoft.PowerShell.Workflow