Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Beskriver aktiviteten inlinescript
som kör PowerShell-kommandon i ett arbetsflöde.
Aktiviteten inlinescript
kör kommandon i en delad PowerShell-session arbetsflöde.
inlinescript
är endast giltigt i arbetsflöden.
inlinescript {<script block>} <ActivityCommonParameters>
Aktiviteten inlinescript
kör kommandon i en delad PowerShell-session. Du kan inkludera den i ett arbetsflöde för att köra kommandon som delar data och kommandon som annars inte är giltiga i ett arbetsflöde.
Skriptblocket inlinescript
kan innehålla alla giltiga PowerShell-kommandon och -uttryck. Eftersom kommandona och uttrycken i ett inlinescript
skriptblock körs i samma session delar de alla tillstånd och data, inklusive importerade moduler och variablernas värden.
Du kan placera en inlinescript
aktivitet var som helst i ett arbetsflöde eller kapslat arbetsflöde, inklusive i en loop eller kontrolluttryck eller ett parallel
eller sequence
skriptblock.
Aktiviteten inlinescript
har vanliga parametrar för aktiviteten, inklusive PSPersist. Kommandona och uttrycken i ett inlinescript
skriptblock har dock inte arbetsflödesfunktioner som kontrollpunkter eller beständighet och vanliga parametrar för arbetsflöde eller aktivitet. Mer information finns i about_ActivityCommonParameters.
Som standard är variablerna som definieras i ett arbetsflöde inte synliga för kommandona i skriptblocket inlinescript
. Om du vill göra arbetsflödesvariabler synliga för inlinescript
använder du omfångsmodifieraren Using:
. Omfångsmodifieraren Using:
krävs bara en gång för varje variabel i inlinescript
.
Mer information om omfångsmodifieraren Using:
finns i about_Remote_Variables.
I följande exempel visas att Using:
omfångsmodifieraren gör värdet för arbetsflödesvariabeln på den $a
översta nivån tillgängligt för kommandona i skriptblocket inlinescript
.
workflow Test-Workflow {
$a = 3
## Without $Using, the $a workflow variable isn't visible
## in inline script.
inlinescript {"Inline A0 = $a"}
## $Using imports the variable and its current value.
inlinescript {"Inline A1 = $Using:a"}
}
Test-Workflow
Inline A0 =
Inline A1 = 3
inlinescript
kommandon kan ändra värdet för variabeln som importerades från arbetsflödesomfånget, men ändringarna visas inte i arbetsflödesomfånget. Om du vill göra dem synliga returnerar du det ändrade värdet till arbetsflödesomfånget, som du ser i följande exempel.
workflow Test-Workflow {
$a = 3
## Changes to the inlinescript variable value don't
## change the workflow variable.
inlinescript {
$a = $Using:a+1;
"Inline A = $a"
}
"Workflow A = $a"
## To change the variable in workflow scope, return the
## new value.
$a = inlinescript {$b = $Using:a+1; $b}
"Workflow New A = $a"
}
Test-Workflow
Inline A = 4
Workflow A = 3
Workflow New A = 4
Anteckning
En instruktion med omfångsmodifieraren Using:
bör visas innan variabeln används i skriptblocket inlinescript
.
För att förbättra tillförlitligheten körs kommandona i skriptblocket inlinescript
i sin egen process, åtskilda från den process där arbetsflödet körs och returnerar sedan utdata till arbetsflödesprocessen.
Om du vill dirigera PowerShell att köra inlinescript
aktiviteten i arbetsflödesprocessen tar du bort inlinescript
värdet från egenskapen OutOfProcessActivity för sessionskonfigurationen, till exempel med hjälp av cmdleten New-PSWorkflowExecutionOption
.
I inlinescript
följande arbetsflöde finns kommandon som är giltiga i PowerShell men som inte är giltiga i arbetsflöden. Till exempel cmdleten New-Object
med parametern ComObject .
workflow Test-Workflow {
$ie = inlinescript {
$ie = New-Object -ComObject InternetExplorer.Application -Property @{navigate2="www.microsoft.com"}
$ie.Visible = $true
}
$ie
}
Test-Workflow
Feedback om PowerShell
PowerShell är ett öppen källkod projekt. Välj en länk för att ge feedback: