Partager via


New-PSWorkflowSession

Crée une session de flux de travail.

Syntaxe

Default (Par défaut)

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

Description

L’applet de commande New-PSWorkflowSession crée une session gérée par l’utilisateur (PSSession) spécialement conçue pour l’exécution de flux de travail Windows PowerShell. Il utilise la configuration de session Microsoft.PowerShell.Workflow, qui inclut des scripts, des types et des fichiers de mise en forme, ainsi que des options requises pour les flux de travail.

Vous pouvez utiliser New-PSWorkflowSession ou son alias, nwsn.

Vous pouvez également ajouter des paramètres courants de flux de travail à cette commande. Pour plus d’informations sur les paramètres courants de flux de travail, consultez about_WorkflowCommonParameters

Cette applet de commande a été introduite dans Windows PowerShell 3.0.

Exemples

Exemple 1 : Créer une session de flux de travail sur un ordinateur distant

Cet exemple crée la session WorkflowTests sur l’ordinateur distant ServerNode01.

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

La valeur du paramètre SessionOption est une commande qui définit le mode de mise en mémoire tampon de sortie dans la session sur supprimer.

Exemple 2 : Créer des sessions de flux de travail sur plusieurs ordinateurs distants

Cet exemple crée des sessions de flux de travail sur les ordinateurs ServerNode01 et Server12. La commande utilise le paramètre Credential pour s’exécuter avec les autorisations de l’administrateur de domaine.

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

La commande utilise le paramètre ThrottleLimit pour augmenter la limite de limitation par commande à 150. Cette valeur est prioritaire sur la limite de limitation par défaut de 100 définie dans la configuration de session Microsoft.PowerShell.Workflow.

Paramètres

-ApplicationName

Spécifie le segment de nom d'application de l'URI de connexion.

La valeur par défaut est la valeur de la variable de préférence $PSSessionApplicationName sur l’ordinateur local. Si cette variable de préférence n’est pas définie, la valeur par défaut est WSMAN. Cette valeur est appropriée pour la plupart des utilisations. Pour plus d'informations, consultez about_Preference_Variables.

Le service WinRM utilise le nom de l’application pour sélectionner un écouteur pour traiter la demande de connexion. La valeur de ce paramètre doit correspondre à la valeur du URLPrefix propriété d’un écouteur sur l’ordinateur distant.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-Authentication

Spécifie le mécanisme utilisé pour authentifier les informations d’identification de l’utilisateur. Les valeurs acceptables pour ce paramètre sont les suivantes :

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

La valeur par défaut est Default.

L’authentification CredSSP est disponible uniquement dans Windows Vista, Windows Server 2008 et versions ultérieures du système d’exploitation Windows.

Pour plus d'informations sur les valeurs de ce paramètre, voir AuthenticationMechanism Enumeration.

Avertissement

L’authentification CredSSP (Credential Security Service Provider), dans laquelle les informations d’identification de l’utilisateur sont transmises à un ordinateur distant à authentifier, est conçue pour les commandes qui nécessitent une authentification sur plusieurs ressources, telles que l’accès à un partage réseau distant. Ce mécanisme augmente le risque de sécurité de l’opération à distance. Si l’ordinateur distant est compromis, les informations d’identification qui lui sont transmises peuvent être utilisées pour contrôler la session réseau.

Propriétés du paramètre

Type:AuthenticationMechanism
Valeur par défaut:Default
Valeurs acceptées:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-CertificateThumbprint

Spécifie le certificat de clé publique numérique (X509) d’un compte d’utilisateur autorisé à effectuer cette action. Entrez l’empreinte numérique du certificat.

Les certificats sont utilisés dans l’authentification basée sur les certificats client. Ils ne peuvent être mappés qu’à des comptes d’utilisateur locaux ; ils ne fonctionnent pas avec les comptes de domaine.

Pour obtenir une empreinte numérique de certificat, utilisez l’applet de commande Get-Item ou l’applet de commande Get-ChildItem dans le lecteur Cert: Windows PowerShell.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-ComputerName

Crée une connexion persistante (PSSession) sur l’ordinateur spécifié. Si vous entrez plusieurs noms d’ordinateurs, Windows PowerShell crée plusieurs PSSessions, un pour chaque ordinateur. La valeur par défaut est l’ordinateur local.

Tapez le nom NetBIOS, une adresse IP ou un nom de domaine complet d’un ou plusieurs ordinateurs distants. Pour spécifier l’ordinateur local, tapez le nom de l’ordinateur, localhostou un point (.). Lorsque l’ordinateur se trouve dans un domaine différent de celui de l’utilisateur, le nom de domaine complet est requis. Vous pouvez également diriger un nom d’ordinateur entre guillemets pour New-PSWorkflowSession.

Pour utiliser une adresse IP dans la valeur du paramètre ComputerName , la commande doit inclure le paramètre Credential . En outre, l’ordinateur doit être configuré pour le transport HTTPS ou l’adresse IP de l’ordinateur distant doit être inclus dans la liste WinRM TrustedHosts sur l’ordinateur local. Pour obtenir des instructions sur l’ajout d’un nom d’ordinateur à la liste TrustedHosts, consultez « How to Add a Computer to the Trusted Host List » dans about_Remote_Troubleshooting.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:Local computer
Prend en charge les caractères génériques:False
DontShow:False
Alias:Cn

Jeux de paramètres

(All)
Position:0
Obligatoire:False
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-Credential

Spécifie un compte d’utilisateur autorisé à effectuer cette action. La valeur par défaut est l’utilisateur actuel. Tapez un nom d’utilisateur, tel que User01, Domain01\User01ou User@Domain.com, ou entrez un objet PSCredential, tel qu’un objet retourné par l’applet de commande Get-Credential.

Lorsque vous tapez un nom d’utilisateur, cette applet de commande vous invite à entrer un mot de passe.

Propriétés du paramètre

Type:Object
Valeur par défaut:Current user
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-EnableNetworkAccess

Indique que cette applet de commande ajoute un jeton de sécurité interactif aux sessions de bouclage. Le jeton interactif vous permet d’exécuter des commandes dans la session de bouclage qui obtiennent des données à partir d’autres ordinateurs. Par exemple, vous pouvez exécuter une commande dans la session qui copie des fichiers XML d’un ordinateur distant vers l’ordinateur local.

Une session de bouclage est une psSession qui provient et se termine sur le même ordinateur. Pour créer une session de bouclage, ne spécifiez pas le paramètre ComputerName ou définissez sa valeur sur point (.), localhostou le nom de l’ordinateur local.

Par défaut, les sessions de bouclage sont créées avec un jeton réseau, ce qui peut ne pas fournir l’autorisation suffisante pour s’authentifier auprès des ordinateurs distants.

Le paramètre EnableNetworkAccess est efficace uniquement dans les sessions de bouclage. Si vous spécifiez le paramètre EnableNetworkAccess lorsque vous créez une session sur un ordinateur distant, la commande réussit, mais le paramètre est ignoré.

Vous pouvez également autoriser l’accès à distance dans une session de bouclage à l’aide de la valeur CredSSP du paramètre d’authentification , qui délègue les informations d’identification de session à d’autres ordinateurs.

Pour protéger l’ordinateur contre les accès malveillants, les sessions de bouclage déconnectées qui ont des jetons interactifs, créées à l’aide du paramètre EnableNetworkAccess, ne peuvent être reconnectées qu’à partir de l’ordinateur sur lequel la session a été créée. Les sessions déconnectées qui utilisent l’authentification CredSSP peuvent être reconnectées à partir d’autres ordinateurs. Pour plus d’informations, consultez l’applet de commande Disconnect-PSSession.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Name

Spécifie un nom convivial pour la session de flux de travail. Vous pouvez utiliser le nom avec d’autres applets de commande, telles que Get-PSSession et Enter-PSSession. Le nom n’est pas obligatoire pour être unique à l’ordinateur ou à la session active.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:Session#
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Port

Spécifie le port réseau sur l’ordinateur distant utilisé pour cette connexion. Pour établir une connexion à un ordinateur distant, l’ordinateur distant doit être à l’écoute sur le port utilisé par la connexion. Les ports par défaut sont 5985 (port WinRM pour HTTP) et 5986 (port WinRM pour HTTPS).

Avant d’utiliser un autre port, vous devez configurer l’écouteur WinRM sur l’ordinateur distant pour écouter sur ce port. Utilisez les commandes suivantes pour configurer l’écouteur :

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

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

N’utilisez pas le paramètre de port , sauf si vous devez. Le paramètre de port dans la commande s’applique à tous les ordinateurs ou sessions sur lesquels la commande s’exécute. Un autre paramètre de port peut empêcher l’exécution de la commande sur tous les ordinateurs.

Propriétés du paramètre

Type:Int32
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-SessionOption

Spécifie les options avancées de la session. Entrez un objet SessionOption, tel qu’un objet que vous créez à l’aide de l’applet de commande New-PSSessionOption.

Les valeurs par défaut des options sont déterminées par la valeur de la variable de préférence $PSSessionOption, si elle est définie. Sinon, les valeurs par défaut sont établies par les options définies dans la configuration de session.

Les valeurs d’option de session sont prioritaires sur les valeurs par défaut pour les sessions définies dans la variable de préférence $PSSessionOption et dans la configuration de session. Toutefois, ils ne sont pas prioritaires sur les valeurs maximales, les quotas ou les limites définis dans la configuration de session. Pour plus d’informations sur les configurations de session, consultez about_Session_Configurations.

Pour obtenir une description des options de session, y compris les valeurs par défaut, consultez New-PSSessionOption. Pour plus d’informations sur la variable de préférence $PSSessionOption, consultez about_Preference_Variables.

Propriétés du paramètre

Type:PSSessionOption
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-ThrottleLimit

Spécifie le nombre maximal de connexions simultanées qui peuvent être établies pour exécuter cette commande. Si vous omettez ce paramètre ou entrez une valeur de 0 (zéro), la valeur par défaut pour la configuration de session Microsoft.PowerShellWorkflow, 100, est utilisée.

La limite de limitation s’applique uniquement à la commande actuelle, et non à la session ou à l’ordinateur.

Propriétés du paramètre

Type:Int32
Valeur par défaut:100
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-UseSSL

Indique que cette applet de commande utilise le protocole SSL (Secure Sockets Layer) pour établir une connexion à l’ordinateur distant. Par défaut, SSL n’est pas utilisé.

WS-Management chiffre tout le contenu Windows PowerShell transmis sur le réseau. Le paramètre UseSSL est une protection supplémentaire qui envoie les données sur une connexion HTTPS au lieu d’une connexion HTTP.

Si vous spécifiez ce paramètre, mais que SSL n’est pas disponible sur le port utilisé pour la commande, la commande échoue.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

PSSession

Vous pouvez diriger une session vers cette applet de commande.

String

Vous pouvez diriger un nom d’ordinateur vers cette applet de commande.

Sorties

PSSession

Notes

Windows PowerShell inclut les alias suivants pour New-PSWorkflowSession:

  • nwsn

Une commande New-PSWorkflowSession équivaut à la commande suivante :

New-PSSession -ConfigurationName Microsoft.PowerShell.Workflow