Om WorkflowCommonParameters
KORT BESKRIVNING
I det här avsnittet beskrivs de parametrar som är giltiga för alla Windows PowerShell arbetsflödeskommandon. Eftersom Windows PowerShell-motorn lägger till dem i arbetsflöden kan du använda dessa parametrar i alla arbetsflöden och de aktiveras automatiskt i de arbetsflöden som du skapar.
LÅNG BESKRIVNING
Windows PowerShell Vanliga parametrar för arbetsflödet är en uppsättning cmdlet-parametrar som du kan använda med alla Windows PowerShell arbetsflöden och aktiviteter. De läggs till av Windows PowerShell arbetsflödesmotorn, inte av arbetsflödesförfattaren, och de är automatiskt tillgängliga i arbetsflöden och aktiviteter. Arbetsflöden som är kapslade på tre nivåer har dock inte stöd för några vanliga parametrar, inklusive vanliga arbetsflödesparametrar.
Alla arbetsflödesparametrar är valfria och namngivna (inte positionella). De tar inte indata från pipelinen.
De flesta vanliga parametrar för arbetsflödet har ett PS-prefix, till exempel PSComputerName
och PSCredential
. De PS-prefixerade parametrarna konfigurerar anslutningen och körningsmiljön för måldatorerna, även kallade "fjärrnoder".
Många vanliga parametrar i arbetsflödet, till exempel PSAllowRedirection
och AsJob
, har namn som liknar parametrar som används i Windows PowerShell fjärrkommunikation och bakgrundsjobb. De här parametrarna fungerar på samma sätt som de liknande namngivna fjärrkommunikations- och jobbparametrarna, så att du kan använda den kunskap som du har utvecklat inom fjärrkommunikation och jobb för att hantera arbetsflöden.
Arbetsflöden introduceras i Windows PowerShell 3.0.
PARAMETERBESKRIVNINGAR
I det här avsnittet beskrivs vanliga parametrar för arbetsflödet.
-AsJob <SwitchParameter>
Kör arbetsflödet som ett arbetsflödesjobb. Arbetsflödeskommandot returnerar omedelbart ett objekt som representerar ett överordnat jobb. Det överordnade jobbet innehåller de underordnade jobb som körs på var och en av måldatorerna. Om du vill hantera jobbet använder du jobb-cmdletar. Använd Receive-Job för att hämta jobbresultatet.
-JobName-sträng <>
Anger ett eget namn för arbetsflödesjobbet. Som standard heter jobben "Job<n>", där <n> är ett ordningstal.
Om du använder jobname-parametern i ett arbetsflödeskommando körs arbetsflödet som ett jobb och arbetsflödeskommandot returnerar ett jobbobjekt, även om du inte inkluderar parametern AsJob
i kommandot .
Mer information om Windows PowerShell bakgrundsjobb finns i about_Jobs.
-PSAllowRedirection <SwitchParameter>
Tillåter omdirigering av anslutningen till måldatorerna.
När du använder parametern PSConnectionURI
kan fjärrmålet returnera en instruktion för att omdirigera till en annan URI. Som standard omdirigerar Windows PowerShell inte anslutningar, men du kan använda parametern PSAllowRedirection
för att tillåta omdirigering av anslutningen till måldatorn.
Du kan också begränsa antalet gånger som anslutningen omdirigeras genom att ange MaximumConnectionRedirectionCount
egenskapen $PSSessionOption
för inställningsvariabeln eller MaximumConnectionRedirectionCount
egenskapen för värdet för PSSessionOption parameter
. Standardvärdet är 5. Mer information finns i beskrivningen av parametern PSSessionOption
och New-PSSessionOption.
-PSApplicationName-sträng <>
Anger programnamnssegmentet för anslutnings-URI:n som används för att ansluta till måldatorerna. Använd den här parametern för att ange programnamnet när du inte använder parametern ConnectionURI
i kommandot .
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
egenskapen för en lyssnare på fjärrdatorn.
-PSAuthentication <AuthenticationMechanism>
Anger den mekanism som används för att autentisera användarens autentiseringsuppgifter vid anslutning till måldatorerna.
Giltiga värden är:
- Standard
- Basic
- Credssp
- Digest
- Kerberos
- Förhandla
- NegotiateWithImplicitCredential
Standardvärdet är Standard.
Information om värdena för den här parametern finns i beskrivningen System.Management.Automation.Runspaces.AuthenticationMechanism
av uppräkningen i MSDN.
Varning
CredSSP-autentisering (Credential Security Service Provider), där användarens autentiseringsuppgifter skickas till en fjärrdator som ska autentiseras, är utformad för kommandon som kräver autentisering på fler ä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.
-PSAuthenticationLevel <AuthenticationLevel>
Anger autentiseringsnivån för anslutningarna till måldatorerna. Standardvärdet är Standard.
Giltiga värden är:
Name | Beskrivning |
---|---|
Oförändrad | Autentiseringsnivån är samma som föregående kommando. |
Standard | Windows-autentisering. |
Ingen | Ingen COM-autentisering. |
Anslut | COM-autentisering på anslutningsnivå. |
Anropa | COM-autentisering på samtalsnivå. |
Paket | COM-autentisering på paketnivå. |
PacketIntegrity | COM-autentisering på paketintegritetsnivå. |
PacketPrivacy | Com-autentisering på paketsekretessnivå. |
-PSCertificateThumbprint <String>
Anger certifikatet för den digitala offentliga nyckeln (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 bara mappas till lokala användarkonton. de fungerar inte med domänkonton.
Om du vill hämta ett certifikat använder du cmdletarna Get-Item eller [Get-ChildItem] (xref:Microsoft.PowerShell.Management.Get-Childitem) på enheten Windows PowerShell Cert: .
-PSComputerName <String[]>
Anger listan över datorer som är målnoderna i arbetsflödet. Kommandon eller aktiviteter i ett arbetsflöde körs på de datorer som anges med hjälp av den här parametern. Standard är den lokala datorn.
Ange NETBIOS-namn, IP-adress eller fullständigt domännamn för en eller flera datorer i en kommaavgränsad lista. Om du vill ange den lokala datorn skriver du datornamnet, "localhost" eller en punkt (.).
Om du vill inkludera den lokala datorn i värdet för parametern PSComputerName
öppnar du Windows PowerShell med alternativet Kör som administratör.
Om den här parametern utelämnas från kommandot, eller om värdet är $null
eller en tom sträng, är arbetsflödesmålet den lokala datorn och Windows PowerShell fjärrkommunikation används inte för att köra kommandot.
Om du vill använda en IP-adress i värdet för parametern ComputerName
måste kommandot innehålla parametern PSCredential
. Dessutom måste datorn konfigureras för HTTPS-transport, annars måste IP-adressen för fjärrdatorn finnas med i listan WinRM TrustedHosts 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.
-PSConfigurationName <String>
Anger de sessionskonfigurationer som används för att konfigurera sessioner på måldatorerna. Ange en sessionskonfiguration på måldatorerna (inte arbetsflödesserverdatorn). Standardvärdet är Microsoft.PowerShell.Workflow
.
-PSConnectionRetryCount <UInt>
Anger det maximala antalet försök att ansluta till varje måldator om det första anslutningsförsöket misslyckas. Ange ett tal mellan 1 och 4 294 967 295 (UInt.MaxValue). Standardvärdet noll (0) representerar inga återförsök.
-PSConnectionRetryIntervalSec <UInt>
Anger fördröjningen mellan återförsök av anslutningen i sekunder. Standardvärdet är noll (0). Den här parametern är endast giltig när värdet för PSConnectionRetryCount är minst 1.
-PSConnectionURI <System.Uri>
Anger en URI (Uniform Resource Identifier) som definierar anslutningsslutpunkten för arbetsflödet på måldatorn. URI:n måste vara fullständigt kvalificerad.
Formatet för den här strängen är följande:
<Transport>://<ComputerName>:<Port>/<ApplicationName>
Standardvärdet är https://localhost:5985/WSMAN
.
Om du inte anger någon PSConnectionURI
kan du använda parametrarna PSUseSSL
, PSComputerName
, PSPort
och för PSApplicationName
att ange PSConnectionURI
värdena.
Giltiga värden för transportsegmentet för URI:n är HTTP och HTTPS. Om du anger en anslutnings-URI med ett transportsegment, men inte anger någon port, skapas sessionen med standardportar: 80 för HTTP och 443 för HTTPS. Om du vill använda standardportarna för Windows PowerShell fjärrkommunikation anger du port 5985 för HTTP eller 5986 för HTTPS.
-PSCredential <PSCredential>
Anger ett användarkonto som har behörighet att köra ett arbetsflöde på måldatorn. Standard är den aktuella användaren. Den här parametern är endast giltig när parametern PSComputerName ingår i kommandot .
Ange ett användarnamn, till exempel "User01" eller "Domain01\User01", eller ange en variabel som innehåller ett objekt, till exempel en PSCredential
som cmdleten Get-Credential
returnerar. Om du bara anger ett användarnamn uppmanas du att ange ett lösenord.
-PSElapsedTimeoutSec <UInt32>
Avgör hur länge arbetsflödet och alla relaterade resurser underhålls i systemet. När tidsgränsen går ut tas arbetsflödet bort, även om det fortfarande bearbetas. Ange ett värde mellan 10 och 4 294 967 295. Standardvärdet 0 (noll) innebär att det inte finns någon överskriden tidsgräns.
-PSParameterCollection <Hashtable[]>
Anger olika vanliga parametervärden för arbetsflödet för olika måldatorer.
Ange en kommaavgränsad lista över hash-tabeller med en hash-tabell för varje måldator. I varje hash-tabell är PSComputerName
den första nyckeln och dess värde är namnet på måldatorn. Jokertecken tillåts i datornamnet. För de återstående nycklarna i hash-tabellen är nyckeln parameternamnet och värdet är parametervärdet.
Exempel:
-PSParameterCollection @{PSComputerName="*"; PSElapsedTimeoutSec=20},
@{PSComputerName="Server02"},
@{PSComputerName="Server03"},
@{PSComputerName="Server01"; PSElapsedTimeoutSec=10}
I exemplet ovan har alla anslutningar en PSElapsedTimeoutSec som är standard på 20 sekunder, förutom Server01 som åsidosätter standardvärdet genom att ange en egen timeout på 10 sekunder.
-PSPersist <Boolean>
Lägger till kontrollpunkter i arbetsflödet, förutom alla kontrollpunkter som anges i arbetsflödet.
Den här parametern kan inte ignorera kontrollpunkterna i ett arbetsflöde, till exempel de som anges med hjälp av den PSPersist
gemensamma aktivitetsparametern, Checkpoint-Workflow
aktiviteten eller variabeln $PSPersistPreference
.
En "kontrollpunkt" eller "beständighetspunkt" är en ögonblicksbild av arbetsflödestillståndet och data som samlas in när arbetsflödet körs och sparas i ett beständigt lager på disken eller i en SQL-databas. Windows PowerShell Workflow använder sparade data för att återuppta ett pausat eller avbrutet arbetsflöde från den senaste beständighetspunkten i stället för att starta om arbetsflödet.
Giltiga värden:
(Standard) Om du utelämnar den här parametern läggs en kontrollpunkt till i början och slutet av arbetsflödet, förutom alla kontrollpunkter som anges i arbetsflödet.
$True
. Lägger till en kontrollpunkt i början och slutet av arbetsflödet och en kontrollpunkt efter varje aktivitet, utöver alla kontrollpunkter som anges i arbetsflödet.$False
. Inga kontrollpunkter läggs till. Kontrollpunkter tas endast när de anges i arbetsflödet.
-PSPort <Int32>
Anger nätverksporten på måldatorerna. Standardportarna är 5985 (WinRM-porten för HTTP) och 5986 (WinRM-porten för HTTPS).
Använd inte PSPort-parametern om du inte måste. Portuppsättningen 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. Innan du använder en alternativ port måste du konfigurera WinRM-lyssnaren på fjärrdatorn för att lyssna på den porten.
-PSPrivateMetadata <Hashtable>
Tillhandahåller anpassad information för arbetsflödesjobb. Ange en hash-tabell. Nycklarna och värdena anpassas för varje arbetsflöde. Information om privata metadata för ett arbetsflöde finns i hjälpavsnittet för arbetsflödet.
Den här parametern bearbetas inte av motorn Windows PowerShell Workflow. I stället skickar motorn hash-tabellen direkt till arbetsflödet.
-PSRunningTimeoutSec <UInt32>
Anger körningstiden för arbetsflödet i sekunder, exklusive varje gång arbetsflödet pausas. Om arbetsflödeskörningen inte är klar när tiden går ut stoppar Windows PowerShell arbetsflödesmotorn med två två skäl körningen av arbetsflödet.
-PSSessionOption <PSSessionOption>
Anger avancerade alternativ för sessionerna till måldatorerna. Ange ett PSSessionOption
objekt, till exempel ett objekt som du skapar med hjälp av cmdleten New-PSSessionOption
.
Standardvärdena för sessionsalternativen bestäms av värdet för $PSSessionOption
inställningsvariabeln, om den har angetts. Annars använder sessionen de värden som anges i sessionskonfigurationen.
En beskrivning av sessionsalternativen, inklusive standardvärdena, finns i hjälpavsnittet för cmdleten New-PSSessionOption
(xref:Microsoft.PowerShell.Core.New-PSSessionOption). Information om inställningsvariabeln $PSSessionOption
finns i about_Preference_Variables.
-PSUseSSL <SwitchParameter>
Använder SSL-protokollet (Secure Sockets Layer) för att upprätta en anslutning till måldatorn. Som standard används inte SSL.
WS-Management krypterar allt Windows PowerShell innehåll som överförs via nätverket. UseSSL är ett ytterligare skydd som skickar data över en HTTPS i stället för HTTP. Om du använder den här parametern, men SSL inte är tillgängligt på porten som används för kommandot, misslyckas kommandot.