Delen via


New-PSWorkflowSession

Hiermee maakt u een werkstroomsessie.

Syntaxis

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. Hierbij wordt gebruikgemaakt van de sessieconfiguratie Microsoft.PowerShell.Workflow , waaronder scripts, type- en opmaakbestanden en opties die vereist zijn voor werkstromen.

U kunt of de alias 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 WorkflowTests-sessie 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 gebruikt de parameter ThrottleLimit om de beperkingslimiet per opdracht te verhogen naar 150. Deze waarde heeft voorrang op de standaardbeperkingslimiet die 100 is ingesteld in de microsoft.PowerShell.Workflow-sessieconfiguratie .

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
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren: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.

Let op

CredSSP-verificatie (Credential Security Service Provider), waarbij de gebruikersreferenties worden doorgegeven aan een externe computer die moet 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 aan de computer worden doorgegeven, worden gebruikt om de netwerksessie te beheren.

Type:AuthenticationMechanism
Geaccepteerde waarden:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Position:Named
Default value:Default
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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-station Cert: .

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-ComputerName

Hiermee maakt u een permanente verbinding (PSSession) met de opgegeven computer. Als u meerdere computernamen invoert, maakt Windows PowerShell meerdere PSSessions, éé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 winRM TrustedHosts-lijst op de lokale computer. Zie 'How to Add a Computer to the Trusted Host List' (Een computer toevoegen aan de lijst met vertrouwde hosts) in about_Remote_Troubleshooting voor instructies voor het toevoegen van een computernaam aan de lijst TrustedHosts.

Type:String[]
Aliassen:Cn
Position:0
Default value:Local computer
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren: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 door deze cmdlet gevraagd om een wachtwoord.

Type:Object
Position:Named
Default value:Current user
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-EnableNetworkAccess

Geeft aan dat deze cmdlet een interactief beveiligingstoken toevoegt 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 loopbacksessies gemaakt met een netwerktoken, wat mogelijk niet voldoende machtigingen biedt voor verificatie 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 ook externe toegang in een loopbacksessie toestaan met behulp van de CredSSP-waarde van de verificatieparameter , waarmee de sessiereferenties worden gedelegeerd aan andere computers.

Als u de computer wilt 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 waarvoor CredSSP-verificatie wordt gebruikt, 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
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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#
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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 door de verbinding wordt 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
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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 voor sessieopties 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 meer informatie over de $PSSessionOption voorkeursvariabele.

Type:PSSessionOption
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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 invoert van 0 (nul), wordt de standaardwaarde voor de microsoft.PowerShellWorkflow-sessieconfiguratie 100gebruikt.

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
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren: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 voor de opdracht wordt gebruikt, mislukt de opdracht.

Type:SwitchParameter
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

PSSession

U kunt een sessie doorsluisen naar deze cmdlet.

String

U kunt een computernaam doorsluisen naar deze cmdlet.

Uitvoerwaarden

PSSession

Notities

Windows PowerShell bevat de volgende aliassen voor New-PSWorkflowSession:

  • nwsn

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

New-PSSession -ConfigurationName Microsoft.PowerShell.Workflow