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 New-PSWorkflowSession
cmdlet 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 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 es un New-PSSessionOption
comando 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 para aumentar el límite 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 Microsoft.PowerShell.Workflow .
Parámetros
-ApplicationName
Escriba el segmento del nombre de aplicación del URI de conexión.
El valor predeterminado es el valor de la $PSSessionApplicationName
variable de preferencia en el equipo local. Si no se define esta variable de preferencia, el valor predeterminado es WSMAN. Este valor resulta apropiado en la mayoría de los casos. Para obtener más información, consulte about_Preference_Variables.
El servicio WinRM usa el nombre de aplicación para seleccionar un agente de escucha que atienda la solicitud de conexión. El valor de este parámetro debe coincidir con el valor de la propiedad URLPrefix 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 permitidos para este parámetro son los siguientes:
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 (enumeración).
Precaución
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 el riesgo de seguridad de la operación remota. Si el equipo remoto se ve comprometido, las credenciales que se pasen a él se pueden utilizar 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 para la autenticación basada en certificados de cliente. Solo se pueden asignar a cuentas de usuario locales y no funcionan con cuentas de dominio.
Para obtener una huella digital de certificado, use el Get-Item
cmdlet o el Get-ChildItem
cmdlet en la unidad de Windows PowerShell Cert:
.
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) al equipo especificado. Si escribe varios nombres de equipo, Windows PowerShell crea varias PSSessions, una para cada equipo. La opción predeterminada es el equipo local.
Escriba el nombre de NetBIOS, una dirección IP o un nombre de dominio completo de uno o más equipos remotos. Para especificar el equipo local, escriba el nombre del equipo, localhost
o 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 a 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 estar configurado para el transporte HTTPS, o la dirección IP del equipo remoto debe incluirse en la lista WinRM TrustedHosts en el equipo local. Para obtener instrucciones para agregar un nombre de equipo a la lista TrustedHosts, consulte "Cómo agregar un equipo a la lista de hosts de confianza" 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 con permiso para realizar esta acción. El valor predeterminado es el usuario actual. Escriba un nombre de usuario, como User01
, Domain01\User01
o User@Domain.com
, o escriba un objeto PSCredential , como uno devuelto por el Get-Credential
cmdlet .
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, se puede ejecutar un comando en la sesión que copie los archivos XML de un equipo remoto al equipo local.
Una sesión de bucle invertido es una PSSession 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 (.
), localhost
o 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 el parámetro se omite.
También puede permitir el acceso remoto en una sesión de bucle invertido mediante el valor CredSSP del parámetro Authentication , 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, las creadas 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 Disconnect-PSSession
cmdlet .
Este parámetro se incorporó 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
. El nombre no tiene que ser único en el equipo o en 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 del equipo remoto que se usa para esta conexión. Para conectarse a un equipo remoto, este 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. Utilice 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. El puerto establecido en el comando se aplica a todos los equipos o sesiones en los que se ejecuta el comando. Una configuración de puerto alternativo podría impedir que el comando se ejecutara 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 New-PSSessionOption
cmdlet .
Los valores predeterminados de las opciones se determinan mediante el valor de la $PSSessionOption
variable de preferencia, si se establece. De lo contrario, los valores predeterminados se establecerán mediante las opciones establecidas en la configuración de sesión.
Los valores de opción de sesión tienen prioridad sobre los valores predeterminados de las sesiones establecidas en la $PSSessionOption
variable de preferencia y en la configuración de la sesión. Sin embargo, no tienen precedencia sobre los valores máximos, las cuotas o los límites establecidos en la configuración de sesión. Para más información sobre las configuraciones de sesión, vea 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 $PSSessionOption
variable de preferencia, consulte 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 operaciones 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 de la configuración de sesión Microsoft.PowerShellWorkflow , 100
, .
El límite solo se aplica al comando actual, no a la sesión ni 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 que se transmite por 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
Puede canalizar una sesión a este cmdlet.
Puede canalizar un nombre de equipo a este cmdlet.
Salidas
Notas
Windows PowerShell incluye los siguientes alias para New-PSWorkflowSession
:
nwsn
Un New-PSWorkflowSession
comando es equivalente al siguiente comando:
New-PSSession -ConfigurationName Microsoft.PowerShell.Workflow