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, localhost
lub 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\User01
lub 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ę (.
), localhost
lub 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
Możesz przekazać sesję do tego polecenia cmdlet.
Możesz przekazać nazwę komputera do tego polecenia cmdlet.
Dane wyjściowe
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