New-PSWorkflowSession
Skapar en arbetsflödessession.
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
Cmdleten New-PSWorkflowSession
skapar en användarhanterad session (PSSession) som är särskilt utformad för att köra Windows PowerShell-arbetsflöden. Den använder Microsoft.PowerShell.Workflow sessionskonfiguration, som innehåller skript, typ- och formateringsfiler och alternativ som krävs för arbetsflöden.
Du kan använda New-PSWorkflowSession
eller dess alias nwsn
.
Du kan också lägga till vanliga parametrar för arbetsflödet i det här kommandot. Mer information om vanliga parametrar för arbetsflöden finns i about_WorkflowCommonParameters
Den här cmdleten introducerades i Windows PowerShell 3.0.
Exempel
Exempel 1: Skapa en arbetsflödessession på en fjärrdator
I det här exemplet skapas WorkflowTests-sessionen på fjärrdatorn ServerNode01.
$params = @{
ComputerName = "ServerNode01"
Name = "WorkflowTests"
SessionOption = (New-PSSessionOption -OutputBufferingMode Drop)
}
New-PSWorkflowSession @params
Värdet för parametern SessionOption är ett New-PSSessionOption
kommando som anger utdatabuffertningsläget i sessionen till Släpp.
Exempel 2: Skapa arbetsflödessessioner på flera fjärrdatorer
Det här exemplet skapar arbetsflödessessioner på ServerNode01- och Server12-datorerna. Kommandot använder parametern Credential för att köras med domänadministratörens behörigheter.
"ServerNode01", "Server12" |
New-PSWorkflowSession -Name WorkflowSession -Credential Domain01\Admin01 -ThrottleLimit 150
Kommandot använder parametern ThrottleLimit för att öka begränsningsgränsen per kommando till 150
. Det här värdet har företräde framför standardbegränsningsgränsen för 100
som anges i Microsoft.PowerShell.Workflow sessionskonfiguration.
Parametrar
-ApplicationName
Anger programnamnssegmentet för anslutnings-URI:n.
Standardvärdet är värdet för $PSSessionApplicationName
inställningsvariabeln på den lokala datorn. Om den här inställningsvariabeln inte har definierats är standardvärdet WSMAN. Det här värdet är lämpligt för de flesta användningsområden. Mer information finns i about_Preference_Variables.
WinRM-tjänsten använder programnamnet för att välja en lyssnare som ska betjäna anslutningsbegäran. Värdet för den här parametern ska matcha värdet för URLPrefix egenskap för en lyssnare på fjärrdatorn.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Authentication
Anger den mekanism som används för att autentisera användarautentiseringsuppgifterna. De godtagbara värdena för den här parametern är:
Default
Basic
Credssp
Digest
Kerberos
Negotiate
NegotiateWithImplicitCredential
Standardvärdet är Default
.
CredSSP-autentisering är endast tillgängligt i Windows Vista, Windows Server 2008 och senare versioner av Windows-operativsystemet.
Mer information om värdena för den här parametern finns i AuthenticationMechanism Enumeration.
Försiktighet
CredSSP-autentisering (CredSSP), där användarautentiseringsuppgifterna skickas till en fjärrdator som ska autentiseras, är utformad för kommandon som kräver autentisering på mer än en resurs, till exempel åtkomst till en fjärrnätverksresurs. Den här mekanismen ökar säkerhetsrisken för fjärråtgärden. Om fjärrdatorn komprometteras kan de autentiseringsuppgifter som skickas till den användas för att styra nätverkssessionen.
Typ: | AuthenticationMechanism |
Godkända värden: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
Position: | Named |
Standardvärde: | Default |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-CertificateThumbprint
Anger det digitala offentliga nyckelcertifikatet (X509) för ett användarkonto som har behörighet att utföra den här åtgärden. Ange certifikatets tumavtryck.
Certifikat används i klientcertifikatbaserad autentisering. De kan endast mappas till lokala användarkonton. de fungerar inte med domänkonton.
Om du vill hämta ett tumavtryck för certifikat använder du cmdleten Get-Item
eller cmdleten Get-ChildItem
i Windows PowerShell Cert:
-enheten.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-ComputerName
Skapar en beständig anslutning (PSSession) till den angivna datorn. Om du anger flera datornamn skapar Windows PowerShell flera PSSessioner, en för varje dator. Standardvärdet är den lokala datorn.
Ange NetBIOS-namnet, en IP-adress eller ett fullständigt domännamn för en eller flera fjärrdatorer. Om du vill ange den lokala datorn skriver du datornamnet, localhost
eller en punkt (.
). När datorn finns i en annan domän än användaren krävs det fullständigt kvalificerade domännamnet.
Du kan också skicka ett datornamn inom citattecken till New-PSWorkflowSession
.
Om du vill använda en IP-adress i värdet för parametern ComputerName måste kommandot innehålla parametern Credential. Dessutom måste datorn konfigureras för HTTPS-transport, annars måste IP-adressen för fjärrdatorn ingå i WinRM TrustedHosts-listan på den lokala datorn. Anvisningar för hur du lägger till ett datornamn i listan TrustedHosts finns i "Så här lägger du till en dator i listan över betrodda värdar" i about_Remote_Troubleshooting.
Typ: | String[] |
Alias: | Cn |
Position: | 0 |
Standardvärde: | Local computer |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Credential
Anger ett användarkonto som har behörighet att utföra den här åtgärden. Standardvärdet är den aktuella användaren. Ange ett användarnamn, till exempel User01
, Domain01\User01
eller User@Domain.com
, eller ange ett PSCredential- objekt, till exempel ett som returneras av cmdleten Get-Credential
.
När du skriver ett användarnamn uppmanas du att ange ett lösenord i den här cmdleten.
Typ: | Object |
Position: | Named |
Standardvärde: | Current user |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-EnableNetworkAccess
Anger att den här cmdleten lägger till en interaktiv säkerhetstoken till loopback-sessioner. Med den interaktiva token kan du köra kommandon i loopback-sessionen som hämtar data från andra datorer. Du kan till exempel köra ett kommando i sessionen som kopierar XML-filer från en fjärrdator till den lokala datorn.
En loopback-session är en PSSession- som kommer från och slutar på samma dator. Om du vill skapa en loopback-session ska du inte ange parametern ComputerName eller ange värdet dot (.
), localhost
eller namnet på den lokala datorn.
Som standard skapas loopback-sessioner som har en nätverkstoken, vilket kanske inte ger tillräcklig behörighet för att autentisera till fjärrdatorer.
Parametern EnableNetworkAccess gäller endast i loopback-sessioner. Om du anger parametern EnableNetworkAccess när du skapar en session på en fjärrdator lyckas kommandot, men parametern ignoreras.
Du kan också tillåta fjärråtkomst i en loopback-session med hjälp av värdet CredSSP för parametern Authentication, som delegerar sessionsautentiseringsuppgifterna till andra datorer.
För att skydda datorn från skadlig åtkomst kan frånkopplade loopback-sessioner som har interaktiva token, de som skapas med hjälp av parametern EnableNetworkAccess, återanslutas endast från den dator där sessionen skapades. Frånkopplade sessioner som använder CredSSP-autentisering kan återanslutas från andra datorer. Mer information finns i cmdleten Disconnect-PSSession
.
Den här parametern introducerades i Windows PowerShell 3.0.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Name
Anger ett eget namn för arbetsflödessessionen. Du kan använda namnet med andra cmdletar, till exempel Get-PSSession
och Enter-PSSession
. Namnet måste inte vara unikt för datorn eller den aktuella sessionen.
Typ: | String[] |
Position: | Named |
Standardvärde: | Session# |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Port
Anger nätverksporten på fjärrdatorn som används för den här anslutningen. Om du vill ansluta till en fjärrdator måste fjärrdatorn lyssna på porten som anslutningen använder. Standardportarna är 5985
(WinRM-port för HTTP) och 5986
(WinRM-port för HTTPS).
Innan du använder en annan port måste du konfigurera WinRM-lyssnaren på fjärrdatorn så att den lyssnar på den porten. Använd följande kommandon för att konfigurera lyssnaren:
winrm delete winrm/config/listener?Address=*+Transport=HTTP
winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number\>"}
Använd inte parametern Port om du inte måste göra det. Portinställningen i kommandot gäller för alla datorer eller sessioner där kommandot körs. En alternativ portinställning kan förhindra att kommandot körs på alla datorer.
Typ: | Int32 |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-SessionOption
Anger avancerade alternativ för sessionen. Ange ett SessionOption- objekt, till exempel ett objekt som du skapar med hjälp av cmdleten New-PSSessionOption
.
Standardvärdena för alternativen bestäms av värdet för den $PSSessionOption
inställningsvariabeln, om den har angetts. Annars upprättas standardvärdena av de alternativ som anges i sessionskonfigurationen.
Sessionsalternativvärdena har företräde framför standardvärden för sessioner som anges i $PSSessionOption
-inställningsvariabeln och i sessionskonfigurationen. De har dock inte företräde framför de högsta värden, kvoter eller gränser som anges i sessionskonfigurationen. Mer information om sessionskonfigurationer finns i about_Session_Configurations.
En beskrivning av sessionsalternativen, inklusive standardvärdena, finns i New-PSSessionOption
.
Information om $PSSessionOption
-inställningsvariabeln finns i about_Preference_Variables.
Typ: | PSSessionOption |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-ThrottleLimit
Anger det maximala antalet samtidiga anslutningar som kan upprättas för att köra det här kommandot.
Om du utelämnar den här parametern eller anger ett värde på 0
(noll) används standardvärdet för Microsoft.PowerShellWorkflow sessionskonfiguration, 100
.
Begränsningsgränsen gäller endast för det aktuella kommandot, inte för sessionen eller på datorn.
Typ: | Int32 |
Position: | Named |
Standardvärde: | 100 |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-UseSSL
Anger att denna cmdlet använder SSL-protokollet (Secure Sockets Layer) för att upprätta en anslutning till fjärrdatorn. Som standard används inte SSL.
WS-Management krypterar allt Windows PowerShell-innehåll som överförs via nätverket. Parametern UseSSL är ett ytterligare skydd som skickar data över en HTTPS-anslutning i stället för en HTTP-anslutning.
Om du anger den här parametern, men SSL inte är tillgängligt på porten som används för kommandot, misslyckas kommandot.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
Du kan skicka en session till den här cmdleten.
Du kan skicka ett datornamn till den här cmdleten.
Utdata
Kommentarer
Windows PowerShell innehåller följande alias för New-PSWorkflowSession
:
nwsn
Ett New-PSWorkflowSession
kommando motsvarar följande kommando:
New-PSSession -ConfigurationName Microsoft.PowerShell.Workflow