Udostępnij za pośrednictwem


New-PSWorkflowExecutionOption

Tworzy obiekt zawierający opcje konfiguracji sesji dla sesji przepływu pracy.

Składnia

New-PSWorkflowExecutionOption
   [-PersistencePath <String>]
   [-MaxPersistenceStoreSizeGB <Int64>]
   [-PersistWithEncryption]
   [-MaxRunningWorkflows <Int32>]
   [-AllowedActivity <String[]>]
   [-OutOfProcessActivity <String[]>]
   [-EnableValidation]
   [-MaxDisconnectedSessions <Int32>]
   [-MaxConnectedSessions <Int32>]
   [-MaxSessionsPerWorkflow <Int32>]
   [-MaxSessionsPerRemoteNode <Int32>]
   [-MaxActivityProcesses <Int32>]
   [-ActivityProcessIdleTimeoutSec <Int32>]
   [-RemoteNodeSessionIdleTimeoutSec <Int32>]
   [-SessionThrottleLimit <Int32>]
   [-WorkflowShutdownTimeoutMSec <Int32>]
   [<CommonParameters>]

Opis

Polecenie New-PSWorkflowExecutionOption cmdlet tworzy obiekt zawierający zaawansowane opcje konfiguracji sesji przepływu pracy, czyli konfiguracje sesji przeznaczone do uruchamiania przepływów pracy przepływu pracy programu Windows PowerShell.

Można użyć obiektu PSWorkflowExecutionOption, który New-PSWorkflowExecutionOption generuje jako wartość parametru SessionTypeOption poleceń cmdlet, które tworzą lub zmieniają konfigurację sesji, takie jak Register-PSSessionConfiguration polecenia cmdlet iSet-PSSessionConfiguration.

Każdy parametr New-PSWorkflowExecutionOption polecenia cmdlet reprezentuje właściwość obiektu konfiguracji sesji przepływu pracy zwracany przez polecenie cmdlet. Jeśli pominiesz parametr, polecenie cmdlet utworzy obiekt z wartością domyślną dla właściwości.

Polecenie New-PSWorkflowExecutionOption cmdlet jest częścią funkcji przepływu pracy programu Windows PowerShell.

Do tego polecenia można również dodać typowe parametry przepływu pracy. Aby uzyskać więcej informacji na temat typowych parametrów przepływu pracy, zobacz about_WorkflowCommonParameters.

To polecenie cmdlet zostało wprowadzone w programie Windows PowerShell 3.0.

Przykłady

Przykład 1. Tworzenie obiektu Opcji przepływu pracy

New-PSWorkflowExecutionOption -MaxSessionsPerWorkflow 10 -MaxDisconnectedSessions 200

SessionThrottleLimit                       : 100
PersistencePath                            : C:\Users\User01\AppData\Local\Microsoft\Windows\PowerShell\WF\PS
MaxPersistenceStoreSizeGB                  : 10
PersistWithEncryption                      : False
MaxRunningWorkflows                        : 30
AllowedActivity                            : {PSDefaultActivities}
OutOfProcessActivity                       : {InlineScript}
EnableValidation                           : True
MaxDisconnectedSessions                    : 200
MaxConnectedSessions                       : 100
MaxSessionsPerWorkflow                     : 10
MaxSessionsPerRemoteNode                   : 5
MaxActivityProcesses                       : 5
ActivityProcessIdleTimeoutSec              : 60
RemoteNodeSessionIdleTimeoutSec            : 60
WorkflowShutdownTimeoutMSec                : 500

To polecenie używa New-PSWorkflowExecutionOption polecenia cmdlet, aby zwiększyć wartość MaxSessionsPerWorkflow do 10 i zmniejszyć wartość MaxDisconnectedSessions do 200.

Dane wyjściowe pokazują obiekt zwracany przez polecenie cmdlet.

Przykład 2: używanie obiektu Opcje przepływu pracy

# Create a Workflow Options object and save it in a variable
$wo = New-PSWorkflowExecutionOption -MaxSessionsPerWorkflow 10 -MaxDisconnectedSessions 200
# Create the ITWorkflow session configuration
Register-PSSessionConfiguration -Name ITWorkflows -SessionTypeOption $wo -Force

WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin

Type            Keys                                Name
----            ----                                ----
Container       {Name=ITWorkflows}                  ITWorkflows

Get-PSSessionConfiguration ITWorkflows | Format-List -Property *

Architecture                  : 64
Filename                      : %windir%\system32\pwrshplugin.dll
ResourceUri                   : http://schemas.microsoft.com/powershell/ITWorkflows
MaxConcurrentCommandsPerShell : 1000
allowedactivity               : PSDefaultActivities
UseSharedProcess              : false
ProcessIdleTimeoutSec         : 0
xmlns                         : http://schemas.microsoft.com/wbem/wsman/1/config/PluginConfiguration
MaxConcurrentUsers            : 5
maxsessionsperworkflow        : 10
lang                          : en-US
sessionconfigurationdata      : <SessionConfigurationData>
                                    <Param Name='PrivateData'>
                                        <PrivateData>
                                            <ParamName='enablevalidation' Value='True'/>
                                            <Param Name='allowedactivity'Value='PSDefaultActivities' />
                                            <Param Name='outofprocessactivity' Value='InlineScript'/>
                                            <Param Name='maxdisconnectedsessions' Value='200' />
                                            <ParamName='maxsessionsperworkflow' Value='10'/>
                                        </PrivateData>
                                    </Param>
                                </SessionConfigurationData>
SupportsOptions               : true
ExactMatch                    : true
RunAsUser                     :
IdleTimeoutms                 : 7200000
PSVersion                     : 3.0
OutputBufferingMode           : Block
AutoRestart                   : false
MaxShells                     : 25
MaxMemoryPerShellMB           : 1024
MaxIdleTimeoutms              : 43200000
outofprocessactivity          : InlineScript
SDKVersion                    : 2
Name                          : ITWorkflows
XmlRenderingType              : text
Capability                    : {Shell}
RunAsPassword                 :
MaxProcessesPerShell          : 15
enablevalidation              : True
Enabled                       : True
maxdisconnectedsessions       : 200
MaxShellsPerUser              : 25
Permission                    :

Dwa pierwsze polecenia tworzą nowy obiekt konfiguracji sesji i rejestrują go.

Trzecie polecenie używa Get-PSSessionConfiguration polecenia cmdlet do pobrania konfiguracji sesji ITWorkflows i polecenia , Format-List aby wyświetlić wszystkie właściwości konfiguracji sesji na liście. Dane wyjściowe pokazują, że opcje przepływu pracy w konfiguracji sesji. W szczególności konfiguracja sesji ma właściwość MaxSessionsPerWorkflow o wartości 10 i właściwości MaxDisconnectedSessions o wartości 200.

Parametry

-ActivityProcessIdleTimeoutSec

Określa, jak długo każdy proces hosta działań jest utrzymywany po zakończeniu procesu bezczynności. Po wygaśnięciu interwału proces zostanie zamknięty.

Wprowadź wartość w sekundach. Wartość domyślna to 60.

Typ:Int32
Position:Named
Domyślna wartość:60
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-AllowedActivity

Określa działania, które mogą być uruchamiane w sesji.

Wprowadź nazwy działań kwalifikowanych w przestrzeni nazw, na przykład Microsoft.Powershell.HyperV.Activities.*. Obsługiwane są symbole wieloznaczne. Wartość domyślna PSDefaultActivities zawiera wbudowane działania programu Windows Workflow Foundation i działania reprezentujące podstawowe polecenia cmdlet programu Windows PowerShell.

Typ:String[]
Position:Named
Domyślna wartość:PSDefaultActivities
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-EnableValidation

Sprawdza, czy wszystkie działania przepływu pracy w sesji znajdują się na liście dozwolonych działań.

Wartość domyślna to True. Aby wyłączyć walidację, użyj następującego formatu polecenia: -EnableValidation:$false.

Typ:SwitchParameter
Position:Named
Domyślna wartość:True
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-MaxActivityProcesses

Określa maksymalną liczbę procesów, które można utworzyć w sesji w celu obsługi działań przepływu pracy. Domyślna wartość wynosi 5.

Typ:Int32
Position:Named
Domyślna wartość:5
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-MaxConnectedSessions

Określa maksymalną liczbę sesji zdalnych, które są w stanie operacyjnym. Ten przydział jest stosowany do sesji połączonych ze wszystkimi węzłami zdalnymi (komputerami docelowymi). Wartość domyślna to 100.

Typ:Int32
Position:Named
Domyślna wartość:100
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-MaxDisconnectedSessions

Określa maksymalną liczbę sesji zdalnych, które są w stanie rozłączenia. Ten przydział jest stosowany do sesji połączonych ze wszystkimi węzłami zdalnymi (komputerami docelowymi). Wartość domyślna to 1000.

Typ:Int32
Position:Named
Domyślna wartość:1000
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-MaxPersistenceStoreSizeGB

Określa maksymalny rozmiar w gigabajtach magazynu trwałości przydzielonego do przepływów pracy uruchamianych w sesji. Gdy rozmiar zostanie przekroczony, magazyn trwałości zostanie rozszerzony, aby zapisać wszystkie utrwalone dane, ale zostanie wyświetlone ostrzeżenie i zostanie zapisany komunikat w dzienniku zdarzeń przepływu pracy. Wartość domyślna to 10.

Magazyn trwałości zawiera dane dla wszystkich zadań przepływu pracy. Możliwość przechowywania danych umożliwia wznowienie zadań bez utraty stanu.

Typ:Int64
Position:Named
Domyślna wartość:10
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-MaxRunningWorkflows

Określa, że maksymalna liczba przepływów pracy, które mogą być uruchamiane jednocześnie w sesji. Wartość domyślna to 30.

Typ:Int32
Position:Named
Domyślna wartość:30
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-MaxSessionsPerRemoteNode

Określa maksymalną liczbę sesji, które można połączyć z każdym węzłem zdalnym (komputerem docelowym). Domyślna wartość wynosi 5.

Typ:Int32
Position:Named
Domyślna wartość:5
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-MaxSessionsPerWorkflow

Określa maksymalną liczbę sesji, które można utworzyć w celu obsługi każdego przepływu pracy. Domyślna wartość wynosi 5.

Typ:Int32
Position:Named
Domyślna wartość:5
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-OutOfProcessActivity

Określa, które dozwolone działania (określone przez parametr AllowedActivities ) są uruchamiane poza procesem. Wartość domyślna to InlineScript.

Typ:String[]
Position:Named
Domyślna wartość:InlineScript
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-PersistencePath

Określa lokalizację na dysku, w której są przechowywane stany i dane przepływu pracy. Przechowywanie stanu i danych przepływu pracy umożliwia zawieszanie i wznawianie przepływów pracy oraz odzyskiwanie po przerwach i awariach sieci.

Domyślna wartość to $env:LocalAppData\Microsoft\Windows\PowerShell\WF\PS.

Typ:String
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-PersistWithEncryption

Wskazuje, że przepływ pracy szyfruje dane w magazynie trwałości. Rozważ użycie tej funkcji podczas przechowywania danych trwałości w udziale sieciowym.

Typ:SwitchParameter
Position:Named
Domyślna wartość:$env:LocalAppData\Microsoft\Windows\PowerShell\WF\PS
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-RemoteNodeSessionIdleTimeoutSec

Określa, jak długo jest utrzymywana sesja połączona z węzłem zdalnym (komputerem docelowym), jeśli jest bezczynna.

Wprowadź wartość w sekundach. Wartość domyślna to 60.

Typ:Int32
Position:Named
Domyślna wartość:60
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-SessionThrottleLimit

Określa, ile operacji jest tworzonych w celu obsługi wszystkich przepływów pracy uruchomionych w sesji. Wartość domyślna to 100.

Typ:Int32
Position:Named
Domyślna wartość:100
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-WorkflowShutdownTimeoutMSec

Określa, jak długo sesja jest utrzymywana po wymuszonym wstrzymaniu wszystkich przepływów pracy w sesji. Po wygaśnięciu limitu czasu program Windows PowerShell zamyka sesję, nawet jeśli wszystkie przepływy pracy nie są jeszcze zawieszone.

Wprowadź wartość w milisekundach. Wartość domyślna to 500.

Typ:Int32
Position:Named
Domyślna wartość:500
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

None

Nie można potokować obiektów do tego polecenia cmdlet.

Dane wyjściowe

PSWorkflowExecutionOption

Uwagi

Po przekroczeniu maksymalnej wartości ustawionej przez opcję polecenie utworzenia innego wystąpienia w sesji kończy się niepowodzeniem, chyba że zostanie zanotowany w opisie parametru. Jeśli na przykład wartość maxConnectedSessions to 100. Polecenie utworzenia sesji 101.00 do węzła zdalnego (komputera docelowego) kończy się niepowodzeniem.

Właściwości obiektu konfiguracji sesji różnią się w zależności od opcji ustawionych dla konfiguracji sesji i wartości tych opcji. Ponadto konfiguracje sesji korzystające z pliku konfiguracji sesji mają dodatkowe właściwości.

W szczególności właściwości konfiguracji sesji, które obejmują obiekt PSWorkflowExecutionOptions , różnią się w zależności od wartości opcji przepływu pracy. Jeśli na przykład konfiguracja sesji zawiera obiekt PSWorkflowExecutionOptions, który ustawia wartość inną niż domyślna dla właściwości SessionThrottleLimit, konfiguracja sesji ma właściwość SessionThrottleLimit. W przeciwnym razie tak nie jest.