Dela via


New-PSWorkflowSession

Skapar en arbetsflödessession.

Syntax

Default (Standard)

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.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument: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.

Parameteregenskaper

Typ:AuthenticationMechanism
Standardvärde:Default
Godkända värden:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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, 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.

Parameteregenskaper

Typ:

String[]

Standardvärde:Local computer
Stöder jokertecken:False
DontShow:False
Alias:Cn

Parameteruppsättningar

(All)
Position:0
Obligatorisk:False
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument: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\User01eller 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.

Parameteregenskaper

Typ:Object
Standardvärde:Current user
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument: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 (.), 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 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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:

String[]

Standardvärde:Session#
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:Int32
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:PSSessionOption
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:Int32
Standardvärde:100
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

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