New-PSWorkflowSession

Hiermee maakt u een werkstroomsessie.

Syntax

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

Description

De New-PSWorkflowSession cmdlet maakt een door de gebruiker beheerde sessie (PSSession) die speciaal is ontworpen voor het uitvoeren van Windows PowerShell-werkstromen. Het maakt gebruik van de sessieconfiguratie Microsoft.PowerShell.Workflow , waaronder scripts, type- en opmaakbestanden en opties die vereist zijn voor werkstromen.

U kunt of de alias ervan gebruikenNew-PSWorkflowSession. nwsn

U kunt ook algemene parameters voor werkstromen toevoegen aan deze opdracht. Zie about_WorkflowCommonParameters voor meer informatie over algemene parameters voor werkstromen

Deze cmdlet is geïntroduceerd in Windows PowerShell 3.0.

Voorbeelden

Voorbeeld 1: Een werkstroomsessie maken op een externe computer

In dit voorbeeld wordt de sessie WorkflowTests gemaakt op de externe computer ServerNode01.

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

De waarde van de parameter SessionOption is een New-PSSessionOption opdracht waarmee de uitvoerbuffermodus in de sessie wordt ingesteld op Neerzetten.

Voorbeeld 2: Werkstroomsessies maken op meerdere externe computers

In dit voorbeeld worden werkstroomsessies gemaakt op de ServerNode01- en Server12-computers. De opdracht gebruikt de referentieparameter om uit te voeren met de machtigingen van de domeinbeheerder.

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

De opdracht maakt gebruik van de parameter ThrottleLimit om de beperkingslimiet per opdracht te verhogen tot 150. Deze waarde heeft voorrang op de standaardbeperkingslimiet die is ingesteld in de configuratie van 100 de Microsoft.PowerShell.Workflow-sessie .

Parameters

-ApplicationName

Hiermee geeft u het naamsegment van de toepassing van de verbindings-URI.

De standaardwaarde is de waarde van de $PSSessionApplicationName voorkeursvariabele op de lokale computer. Als deze voorkeursvariabele niet is gedefinieerd, is de standaardwaarde WSMAN. Deze waarde is geschikt voor de meeste toepassingen. Zie about_Preference_Variables voor meer informatie.

De WinRM-service gebruikt de naam van de toepassing om een listener te selecteren voor de service van de verbindingsaanvraag. De waarde van deze parameter moet overeenkomen met de waarde van de eigenschap URLPrefix van een listener op de externe computer.

Type:String
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False
-Authentication

Hiermee geeft u het mechanisme op dat wordt gebruikt om de gebruikersreferenties te verifiëren. De aanvaardbare waarden voor deze parameter zijn:

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

De standaardwaarde is Default.

CredSSP-verificatie is alleen beschikbaar in Windows Vista, Windows Server 2008 en latere versies van het Windows-besturingssysteem.

Zie AuthenticationMechanism Enumeration voor meer informatie over de waarden van deze parameter.

Waarschuwing

CredSSP-verificatie (Credential Security Service Provider), waarin de gebruikersreferenties worden doorgegeven aan een externe computer om te worden geverifieerd, is ontworpen voor opdrachten waarvoor verificatie is vereist voor meer dan één resource, zoals toegang tot een externe netwerkshare. Dit mechanisme verhoogt het beveiligingsrisico van de externe bewerking. Als de externe computer is aangetast, kunnen de referenties die eraan worden doorgegeven, worden gebruikt om de netwerksessie te beheren.

Type:AuthenticationMechanism
Accepted values:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Position:Named
Default value:Default
Accept pipeline input:False
Accept wildcard characters:False
-CertificateThumbprint

Hiermee geeft u het certificaat van de digitale openbare sleutel (X509) van een gebruikersaccount dat gemachtigd is om deze actie uit te voeren. Voer de vingerafdruk van het certificaat in.

Certificaten worden gebruikt in verificatie op basis van clientcertificaten. Ze kunnen alleen worden toegewezen aan lokale gebruikersaccounts; ze werken niet met domeinaccounts.

Als u een vingerafdruk van een certificaat wilt ophalen, gebruikt u de Get-Item cmdlet of de Get-ChildItem cmdlet in het Windows PowerShell Cert: station.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ComputerName

Hiermee maakt u een permanente verbinding (PSSession) met de opgegeven computer. Als u meerdere computernamen invoert, Windows PowerShell meerdere PSSessions maakt, één voor elke computer. Standaard is dit de lokale computer.

Typ de NetBIOS-naam, een IP-adres of een volledig gekwalificeerde domeinnaam van een of meer externe computers. Als u de lokale computer wilt opgeven, typt u de computernaam of localhosteen punt (.). Wanneer de computer zich in een ander domein bevindt dan de gebruiker, is de volledig gekwalificeerde domeinnaam vereist. U kunt ook een computernaam doorsluisen, tussen aanhalingstekens naar New-PSWorkflowSession.

Als u een IP-adres wilt gebruiken in de waarde van de parameter ComputerName , moet de opdracht de referentieparameter bevatten. De computer moet ook worden geconfigureerd voor HTTPS-transport of het IP-adres van de externe computer moet worden opgenomen in de lijst WinRM TrustedHosts op de lokale computer. Zie 'How to Add a Computer to the Trusted Host List' (Een computer toevoegen aan de lijst vertrouwde host) in about_Remote_Troubleshooting voor instructies voor het toevoegen van een computernaam aan de lijst TrustedHosts.

Type:String[]
Aliases:Cn
Position:0
Default value:Local computer
Accept pipeline input:True
Accept wildcard characters:False
-Credential

Hiermee geeft u een gebruikersaccount op dat gemachtigd is om deze actie uit te voeren. Standaard is dit de huidige gebruiker. Typ een gebruikersnaam, zoals User01, Domain01\User01of , of User@Domain.comvoer een PSCredential-object in, zoals een object dat wordt geretourneerd door de Get-Credential cmdlet.

Wanneer u een gebruikersnaam typt, wordt u met deze cmdlet gevraagd om een wachtwoord.

Type:Object
Position:Named
Default value:Current user
Accept pipeline input:True
Accept wildcard characters:False
-EnableNetworkAccess

Geeft aan dat met deze cmdlet een interactief beveiligingstoken wordt toegevoegd aan loopbacksessies. Met het interactieve token kunt u opdrachten uitvoeren in de loopbacksessie waarmee gegevens van andere computers worden opgehaald. U kunt bijvoorbeeld een opdracht uitvoeren in de sessie waarmee XML-bestanden van een externe computer naar de lokale computer worden gekopieerd.

Een loopbacksessie is een PSSession die afkomstig is en eindigt op dezelfde computer. Als u een loopbacksessie wilt maken, geeft u de parameter ComputerName niet op of stelt u de waarde ervan in op punt (.), localhostof de naam van de lokale computer.

Standaard worden loopback-sessies gemaakt die een netwerktoken hebben, wat mogelijk niet voldoende machtigingen biedt om te verifiëren bij externe computers.

De parameter EnableNetworkAccess is alleen van kracht in loopbacksessies. Als u de parameter EnableNetworkAccess opgeeft wanneer u een sessie op een externe computer maakt, slaagt de opdracht, maar wordt de parameter genegeerd.

U kunt externe toegang ook toestaan in een loopbacksessie met behulp van de CredSSP-waarde van de verificatieparameter , waarmee de sessiereferenties worden gedelegeerd aan andere computers.

Om de computer te beschermen tegen schadelijke toegang, kunnen verbroken loopbacksessies met interactieve tokens, die zijn gemaakt met behulp van de parameter EnableNetworkAccess , alleen opnieuw worden verbonden vanaf de computer waarop de sessie is gemaakt. Verbroken sessies die Gebruikmaken van CredSSP-verificatie, kunnen opnieuw worden verbonden vanaf andere computers. Zie de Disconnect-PSSession cmdlet voor meer informatie.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Name

Hiermee geeft u een beschrijvende naam op voor de werkstroomsessie. U kunt de naam gebruiken met andere cmdlets, zoals Get-PSSession en Enter-PSSession. De naam hoeft niet uniek te zijn voor de computer of de huidige sessie.

Type:String[]
Position:Named
Default value:Session#
Accept pipeline input:False
Accept wildcard characters:False
-Port

Hiermee geeft u de netwerkpoort op de externe computer die wordt gebruikt voor deze verbinding. Als u verbinding wilt maken met een externe computer, moet de externe computer luisteren op de poort die de verbinding gebruikt. De standaardpoorten zijn 5985 (WinRM-poort voor HTTP) en 5986 (WinRM-poort voor HTTPS).

Voordat u een andere poort gebruikt, moet u de WinRM-listener op de externe computer configureren om naar die poort te luisteren. Gebruik de volgende opdrachten om de listener te configureren:

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

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

Gebruik de poortparameter alleen als u dit moet doen. De poortinstelling in de opdracht is van toepassing op alle computers of sessies waarop de opdracht wordt uitgevoerd. Een alternatieve poortinstelling kan verhinderen dat de opdracht wordt uitgevoerd op alle computers.

Type:Int32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-SessionOption

Hiermee geeft u geavanceerde opties voor de sessie. Voer een SessionOption-object in, zoals een object dat u maakt met behulp van de New-PSSessionOption cmdlet.

De standaardwaarden voor de opties worden bepaald door de waarde van de $PSSessionOption voorkeursvariabele, als deze is ingesteld. Anders worden de standaardwaarden ingesteld op basis van opties die zijn ingesteld in de sessieconfiguratie.

De waarden van de sessieoptie hebben voorrang op standaardwaarden voor sessies die zijn ingesteld in de $PSSessionOption voorkeursvariabele en in de sessieconfiguratie. Ze hebben echter geen voorrang op maximumwaarden, quota of limieten die zijn ingesteld in de sessieconfiguratie. Zie about_Session_Configurations (Engelstalig) voor meer informatie over sessieconfiguraties.

Zie voor een beschrijving van de sessieopties, inclusief de standaardwaarden.New-PSSessionOption Zie about_Preference_Variables voor informatie over de $PSSessionOption voorkeursvariabele.

Type:PSSessionOption
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ThrottleLimit

Hiermee geeft u het maximum aantal gelijktijdige verbindingen op dat tot stand kan worden gebracht om deze opdracht uit te voeren. Als u deze parameter weglaat of een waarde van 0 (nul) invoert, wordt de standaardwaarde voor de microsoft.PowerShellWorkflow-sessieconfiguratie100gebruikt.

De beperkingslimiet is alleen van toepassing op de huidige opdracht, niet op de sessie of op de computer.

Type:Int32
Position:Named
Default value:100
Accept pipeline input:False
Accept wildcard characters:False
-UseSSL

Geeft aan dat deze cmdlet gebruikmaakt van het SSL-protocol (Secure Sockets Layer) om een verbinding met de externe computer tot stand te brengen. Standaard wordt SSL niet gebruikt.

WS-Management versleutelt alle Windows PowerShell inhoud die via het netwerk wordt verzonden. De useSSL-parameter is een extra beveiliging waarmee de gegevens via een HTTPS-verbinding worden verzonden in plaats van een HTTP-verbinding.

Als u deze parameter opgeeft, maar SSL niet beschikbaar is op de poort die wordt gebruikt voor de opdracht, mislukt de opdracht.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

Invoerwaarden

System.Management.Automation.Runspaces.PSSession[], System.String

U kunt een sessie of computernaam doorsluisen naar deze cmdlet.

Uitvoerwaarden

PSSession

Notities

Een New-PSWorkflowSession opdracht is gelijk aan de volgende opdracht:

New-PSSession -ConfigurationName Microsoft.PowerShell.Workflow