Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Krótki opis
inlinescript Opisuje działanie, które uruchamia polecenia programu PowerShell w przepływie pracy.
Długi opis
Działanie inlinescript uruchamia polecenia w przepływie pracy udostępnionej sesji programu PowerShell.
inlinescript jest prawidłowy tylko w przepływach pracy.
Składnia
inlinescript {<script block>} <ActivityCommonParameters>
Szczegółowy opis
Działanie inlinescript uruchamia polecenia w udostępnionej sesji programu PowerShell. Można go uwzględnić w przepływie pracy, aby uruchamiać polecenia, które udostępniają dane i polecenia, które nie są w inny sposób prawidłowe w przepływie pracy.
Blok inlinescript skryptu może zawierać wszystkie prawidłowe polecenia i wyrażenia programu PowerShell. Ponieważ polecenia i wyrażenia w bloku skryptu są uruchamiane w inlinescript tej samej sesji, współużytkują wszystkie stany i dane, w tym zaimportowane moduły i wartości zmiennych.
Działanie inlinescript można umieścić w dowolnym miejscu w przepływie pracy lub zagnieżdżonym przepływie pracy, w tym wewnątrz pętli lub instrukcji kontrolki albo parallel lub bloku skryptu sequence.
Działanie inlinescript ma typowe parametry działania, w tym PSPersist. Jednak polecenia i wyrażenia w inlinescript bloku skryptu nie mają funkcji przepływu pracy, takich jak tworzenie punktów kontrolnych lub trwałość, a także typowe parametry przepływu pracy lub działania. Aby uzyskać więcej informacji, zobacz about_ActivityCommonParameters.
Zmienne inlineScript
Domyślnie zmienne zdefiniowane w przepływie pracy nie są widoczne dla poleceń w bloku skryptu inlinescript . Aby uwidocznić zmienne przepływu pracy dla inlinescriptelementu , użyj Using: modyfikatora zakresu. Modyfikator Using: zakresu jest wymagany tylko raz dla każdej zmiennej w obiekcie inlinescript.
Aby uzyskać więcej informacji na temat Using: modyfikatora zakresu, zobacz about_Remote_Variables.
Poniższy przykład pokazuje, że modyfikator zakresu sprawia, że Using: wartość $a zmiennej przepływu pracy najwyższego poziomu jest dostępna dla poleceń w bloku skryptu 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
Zwracanie zmiennych w języku InlineScript
inlinescript Polecenia mogą zmieniać wartość zmiennej zaimportowanej z zakresu przepływu pracy, ale zmiany nie są widoczne w zakresie przepływu pracy. Aby były widoczne, zwróć zmienioną wartość do zakresu przepływu pracy, jak pokazano w poniższym przykładzie.
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
Uwaga
Przed użyciem zmiennej w bloku skryptu Using: powinna zostać wyświetlona instrukcja z inlinescript modyfikatorem zakresu.
Uruchamianie procesu
Aby zwiększyć niezawodność, polecenia w bloku skryptu inlinescript są uruchamiane we własnym procesie, niezależnie od procesu, w którym jest uruchamiany przepływ pracy, a następnie zwracają dane wyjściowe do procesu przepływu pracy.
Aby skierować program PowerShell do uruchomienia inlinescript działania w procesie przepływu pracy, usuń inlinescript wartość z właściwości OutOfProcessActivity konfiguracji sesji, na przykład za pomocą New-PSWorkflowExecutionOption polecenia cmdlet .
Przykład
W inlinescript poniższym przepływie pracy znajdują się polecenia, które są prawidłowe w programie PowerShell, ale nie są prawidłowe w przepływach pracy. Na przykład New-Object polecenie cmdlet z parametrem ComObject .
workflow Test-Workflow {
$ie = inlinescript {
$ie = New-Object -ComObject InternetExplorer.Application -Property @{navigate2="www.microsoft.com"}
$ie.Visible = $true
}
$ie
}
Test-Workflow