Udostępnij za pośrednictwem


New-PSWorkflowSession

Tworzy sesję przepływu pracy.

Składnia

New-PSWorkflowSession
   [[-ComputerName] <String[]>]
   [-Credential <Object>]
   [-Name <String[]>]
   [-Port <Int32>]
   [-UseSSL]
   [-ApplicationName <String>]
   [-ThrottleLimit <Int32>]
   [-SessionOption <PSSessionOption>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-EnableNetworkAccess]
   [<CommonParameters>]

Opis

Polecenie New-PSWorkflowSession cmdlet tworzy sesję zarządzaną przez użytkownika (PSSession), która jest szczególnie przeznaczona do uruchamiania przepływów pracy programu Windows PowerShell. Używa konfiguracji sesji Microsoft.PowerShell.Workflow , która obejmuje skrypty, typy i pliki formatowania oraz opcje wymagane dla przepływów pracy.

Możesz użyć New-PSWorkflowSession lub jego aliasu, nwsn.

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 sesji przepływu pracy na komputerze zdalnym

W tym przykładzie jest tworzona sesja WorkflowTests na komputerze zdalnym ServerNode01.

$params = @{
    ComputerName = "ServerNode01"
    Name = "WorkflowTests"
    SessionOption = (New-PSSessionOption -OutputBufferingMode Drop)
}
New-PSWorkflowSession @params

Wartość parametru SessionOption to New-PSSessionOption polecenie, które ustawia tryb buforowania danych wyjściowych w sesji na Drop.

Przykład 2. Tworzenie sesji przepływu pracy na wielu komputerach zdalnych

W tym przykładzie są tworzone sesje przepływu pracy na komputerach ServerNode01 i Server12. Polecenie używa parametru Credential do uruchomienia z uprawnieniami administratora domeny.

"ServerNode01", "Server12" |
    New-PSWorkflowSession -Name WorkflowSession -Credential Domain01\Admin01 -ThrottleLimit 150

Polecenie używa parametru ThrottleLimit , aby zwiększyć limit ograniczania liczby poleceń do 150. Ta wartość ma pierwszeństwo przed domyślnym limitem 100 ograniczania ustawionym w konfiguracji sesji Microsoft.PowerShell.Workflow .

Parametry

-ApplicationName

Określa segment nazwy aplikacji identyfikatora URI połączenia.

Wartość domyślna to wartość zmiennej $PSSessionApplicationName preferencji na komputerze lokalnym. Jeśli ta zmienna preferencji nie jest zdefiniowana, wartość domyślna to WSMAN. Ta wartość jest odpowiednia dla większości zastosowań. Aby uzyskać więcej informacji, zobacz about_Preference_Variables.

Usługa WinRM używa nazwy aplikacji, aby wybrać odbiornik do obsługi żądania połączenia. Wartość tego parametru powinna być zgodna z wartością właściwości URLPrefix odbiornika na komputerze zdalnym.

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

-Authentication

Określa mechanizm używany do uwierzytelniania poświadczeń użytkownika. Dopuszczalne wartości tego parametru to:

  • Default
  • Basic
  • Credssp
  • Digest
  • Kerberos
  • Negotiate
  • NegotiateWithImplicitCredential

Domyślna wartość to Default.

Uwierzytelnianie CredSSP jest dostępne tylko w systemach Windows Vista, Windows Server 2008 i nowszych wersjach systemu operacyjnego Windows.

Aby uzyskać więcej informacji na temat wartości tego parametru, zobacz AuthenticationMechanism Enumeration (Wyliczenie AuthenticationMechanism).

Uwaga

Uwierzytelnianie dostawcy usług zabezpieczeń poświadczeń (CredSSP), w którym poświadczenia użytkownika są przekazywane do komputera zdalnego do uwierzytelnienia, jest przeznaczone dla poleceń wymagających uwierzytelniania w więcej niż jednym zasobie, takich jak uzyskiwanie dostępu do zdalnego udziału sieciowego. Ten mechanizm zwiększa ryzyko bezpieczeństwa operacji zdalnej. W przypadku naruszenia zabezpieczeń komputera zdalnego poświadczenia przekazywane do niego mogą służyć do kontrolowania sesji sieciowej.

Typ:AuthenticationMechanism
Dopuszczalne wartości:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Position:Named
Domyślna wartość:Default
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-CertificateThumbprint

Określa cyfrowy certyfikat klucza publicznego (X509) konta użytkownika, które ma uprawnienia do wykonania tej akcji. Wprowadź odcisk palca certyfikatu.

Certyfikaty są używane w uwierzytelnianiu opartym na certyfikatach klienta. Mogą być mapowane tylko na konta użytkowników lokalnych; nie działają z kontami domeny.

Aby uzyskać odcisk palca certyfikatu, użyj Get-Item polecenia cmdlet lub Get-ChildItem polecenia cmdlet na dysku programu Windows PowerShell Cert: .

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

-ComputerName

Tworzy trwałe połączenie (PSSession) z określonym komputerem. Jeśli wprowadzisz wiele nazw komputerów, program Windows PowerShell utworzy wiele psSessions, po jednym dla każdego komputera. Wartość domyślna to komputer lokalny.

Wpisz nazwę NetBIOS, adres IP lub w pełni kwalifikowaną nazwę domeny jednego lub kilku komputerów zdalnych. Aby określić komputer lokalny, wpisz nazwę komputera, localhostlub kropkę (.). Jeśli komputer znajduje się w innej domenie niż użytkownik, wymagana jest w pełni kwalifikowana nazwa domeny. Możesz również przekazać nazwę komputera w cudzysłowie do New-PSWorkflowSession.

Aby użyć adresu IP w wartości parametru ComputerName , polecenie musi zawierać parametr Credential . Ponadto należy skonfigurować komputer pod kątem transportu HTTPS lub adres IP komputera zdalnego musi znajdować się na liście Zaufanych Hostów usługi WinRM na komputerze lokalnym. Aby uzyskać instrukcje dotyczące dodawania nazwy komputera do listy TrustedHosts, zobacz "How to Add a Computer to the Trusted Host List" (Jak dodać komputer do listy zaufanych hostów) w about_Remote_Troubleshooting.

Typ:String[]
Aliasy:Cn
Position:0
Domyślna wartość:Local computer
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Credential

Określa konto użytkownika, które ma uprawnienia do wykonania tej akcji. Wartość domyślna to użytkownik bieżący. Wpisz nazwę użytkownika, taką jak User01, Domain01\User01lub User@Domain.com, lub wprowadź obiekt PSCredential , taki jak jeden zwracany przez Get-Credential polecenie cmdlet.

Po wpiseniu nazwy użytkownika to polecenie cmdlet wyświetli monit o podanie hasła.

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

-EnableNetworkAccess

Wskazuje, że to polecenie cmdlet dodaje interakcyjny token zabezpieczający do sesji sprzężenia zwrotnego. Token interaktywny umożliwia uruchamianie poleceń w sesji sprzężenia zwrotnego, które pobierają dane z innych komputerów. Można na przykład uruchomić polecenie w sesji, która kopiuje pliki XML z komputera zdalnego do komputera lokalnego.

Sesja sprzężenia zwrotnego to sesja PSSession , która pochodzi i kończy się na tym samym komputerze. Aby utworzyć sesję sprzężenia zwrotnego, nie należy określać parametru ComputerName ani ustawiać jego wartości na kropkę (.), localhostlub nazwę komputera lokalnego.

Domyślnie tworzone są sesje sprzężenia zwrotnego, które mają token sieciowy, który może nie zapewniać wystarczających uprawnień do uwierzytelniania na komputerach zdalnych.

Parametr EnableNetworkAccess jest skuteczny tylko w sesjach sprzężenia zwrotnego. Jeśli określisz parametr EnableNetworkAccess podczas tworzenia sesji na komputerze zdalnym, polecenie zakończy się powodzeniem, ale parametr zostanie zignorowany.

Możesz również zezwolić na dostęp zdalny w sesji sprzężenia zwrotnego przy użyciu wartości CredSSP parametru Authentication , który deleguje poświadczenia sesji do innych komputerów.

Aby chronić komputer przed złośliwym dostępem, rozłączone sesje sprzężenia zwrotnego, które mają tokeny interaktywne, utworzone przy użyciu parametru EnableNetworkAccess , można ponownie połączyć tylko z komputerem, na którym została utworzona sesja. Rozłączone sesje korzystające z uwierzytelniania CredSSP można ponownie połączyć z innymi komputerami. Aby uzyskać więcej informacji, zobacz Disconnect-PSSession polecenie cmdlet .

Ten parametr został wprowadzony w programie Windows PowerShell 3.0.

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

-Name

Określa przyjazną nazwę sesji przepływu pracy. Możesz użyć nazwy z innymi poleceniami cmdlet, takimi jak Get-PSSession i Enter-PSSession. Nazwa nie musi być unikatowa dla komputera ani bieżącej sesji.

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

-Port

Określa port sieciowy na komputerze zdalnym używanym na potrzeby tego połączenia. Aby nawiązać połączenie z komputerem zdalnym, komputer zdalny musi nasłuchiwać na porcie używanym przez połączenie. Porty domyślne to 5985 (port WinRM dla protokołu HTTP) i 5986 (port WinRM dla protokołu HTTPS).

Przed użyciem innego portu należy skonfigurować odbiornik WinRM na komputerze zdalnym do nasłuchiwania na tym porcie. Aby skonfigurować odbiornik, użyj następujących poleceń:

winrm delete winrm/config/listener?Address=*+Transport=HTTP

winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number\>"}

Nie używaj parametru Port , chyba że musisz. Ustawienie portu w poleceniu ma zastosowanie do wszystkich komputerów lub sesji, na których jest uruchamiane polecenie. Ustawienie alternatywnego portu może uniemożliwić uruchomienie polecenia na wszystkich komputerach.

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

-SessionOption

Określa opcje zaawansowane dla sesji. Wprowadź obiekt SessionOption, taki jak obiekt utworzony za pomocą New-PSSessionOption polecenia cmdlet .

Wartości domyślne opcji są określane przez wartość zmiennej $PSSessionOption preferencji, jeśli została ustawiona. W przeciwnym razie wartości domyślne są ustanawiane przez opcje ustawione w konfiguracji sesji.

Wartości opcji sesji mają pierwszeństwo przed wartościami domyślnymi dla sesji ustawionych w zmiennej $PSSessionOption preferencji i w konfiguracji sesji. Nie mają jednak pierwszeństwa przed maksymalnymi wartościami, limitami przydziału lub limitami ustawionymi w konfiguracji sesji. Aby uzyskać więcej informacji na temat konfiguracji sesji, zobacz Informacje o konfiguracjach sesji.

Aby uzyskać opis opcji sesji, w tym wartości domyślne, zobacz New-PSSessionOption. Aby uzyskać informacje o zmiennej $PSSessionOption preferencji, zobacz about_Preference_Variables.

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

-ThrottleLimit

Określa maksymalną liczbę połączeń współbieżnych, które można ustanowić w celu uruchomienia tego polecenia. Jeśli pominiesz ten parametr lub wprowadź wartość 0 (zero), zostanie użyta wartość domyślna konfiguracji sesji Microsoft.PowerShellWorkflow. 100

Limit ograniczania ma zastosowanie tylko do bieżącego polecenia, a nie do sesji ani do komputera.

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

-UseSSL

Wskazuje, że to polecenie cmdlet używa protokołu Secure Sockets Layer (SSL) do nawiązania połączenia z komputerem zdalnym. Domyślnie nie jest używane szyfrowanie SSL.

Usługa WS-Management szyfruje całą zawartość programu Windows PowerShell przesyłaną przez sieć. Parametr UseSSL to dodatkowa ochrona, która wysyła dane za pośrednictwem połączenia HTTPS zamiast połączenia HTTP.

Jeśli określisz ten parametr, ale protokół SSL nie jest dostępny na porcie używanym dla polecenia, polecenie zakończy się niepowodzeniem.

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

Dane wejściowe

PSSession

Możesz przekazać sesję do tego polecenia cmdlet.

String

Możesz przekazać nazwę komputera do tego polecenia cmdlet.

Dane wyjściowe

PSSession

Uwagi

Program Windows PowerShell zawiera następujące aliasy dla programu New-PSWorkflowSession:

  • nwsn

Polecenie New-PSWorkflowSession jest równoważne następującemu poleceniu:

New-PSSession -ConfigurationName Microsoft.PowerShell.Workflow