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 localhost
een 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\User01
of , of User@Domain.com
voer 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 (.
), localhost
of 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 100
gebruikt.
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
U kunt een sessie doorsluisen naar deze cmdlet.
U kunt een computernaam doorsluisen naar deze cmdlet.
Uitvoerwaarden
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