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 sessionskonfigurationen Microsoft.PowerShell.Workflow , 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 100 för som anges i sessionskonfigurationen Microsoft.PowerShell.Workflow .

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 egenskapen URLPrefix för en lyssnare på fjärrdatorn.

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

-Authentication

Anger den mekanism som används för att autentisera användarautentiseringsuppgifterna. De acceptabla 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.

Varning

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.

Type:AuthenticationMechanism
Accepted values:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Position:Named
Default value:Default
Required:False
Accept pipeline input:False
Accept wildcard characters: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 på Windows PowerShell-enheten Cert: .

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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. Standard ä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, localhosteller 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.

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

-Credential

Anger ett användarkonto som har behörighet att utföra den här åtgärden. Standard är den aktuella användaren. Skriv ett användarnamn, till exempel , eller , eller ange ett PSCredential-objekt, till exempel ett som returneras av cmdletenGet-Credential.User@Domain.comDomain01\User01User01

När du skriver ett användarnamn uppmanas du att ange ett lösenord i den här cmdleten.

Type:Object
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters: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 anger du inte parametern ComputerName eller anger dess värde till punkt (.), localhosteller 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 CredSSP-värdet 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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String[]
Position:Named
Default value:Session#
Required:False
Accept pipeline input:False
Accept wildcard characters: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 portparametern om du inte måste. 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.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 $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 inställningsvariabeln $PSSessionOption 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. För ytterligare information om sessionskonfigurationer, se about_Session_Configurations.

En beskrivning av sessionsalternativen, inklusive standardvärdena, finns i New-PSSessionOption. Information om inställningsvariabeln finns i $PSSessionOption about_Preference_Variables.

Type:PSSessionOption
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 värdet 0 (noll) används standardvärdet för sessionskonfigurationen Microsoft.PowerShellWorkflow , 100, .

Begränsningsgränsen gäller endast för det aktuella kommandot, inte för sessionen eller på datorn.

Type:Int32
Position:Named
Default value:100
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

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

Indata

PSSession

Du kan skicka en session till den här cmdleten.

String

Du kan skicka ett datornamn till den här cmdleten.

Utdata

PSSession

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