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 cmdlet New-PSWorkflowSession
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 Microsoft.PowerShell.Workflow konfiguracji sesji, 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 zostanie utworzona sesja WorkflowTests na komputerze zdalnym ServerNode01.
$params = @{
ComputerName = "ServerNode01"
Name = "WorkflowTests"
SessionOption = (New-PSSessionOption -OutputBufferingMode Drop)
}
New-PSWorkflowSession @params
Wartość parametru SessionOption jest poleceniem New-PSSessionOption
, 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 w celu zwiększenia limitu przepustowości na polecenie w celu 150
. Ta wartość ma pierwszeństwo przed domyślnym limitem ograniczania 100
ustawionym w konfiguracji sesji Microsoft.PowerShell.Workflow.
Parametry
-ApplicationName
Określa segment nazwy aplikacji identyfikatora URI połączenia.
Wartość domyślna to wartość zmiennej preferencji $PSSessionApplicationName
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 odpowiadać 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
Wartość domyślna 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.
Ostrożność
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 polecenia cmdlet Get-Item
lub polecenia cmdlet Get-ChildItem
na dysku Cert:
programu Windows PowerShell.
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 bieżący użytkownik. Wpisz nazwę użytkownika, taką jak User01
, Domain01\User01
lub User@Domain.com
, lub wprowadź obiekt PSCredential, taki jak jeden zwrócony przez polecenie cmdlet Get-Credential
.
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 pssession, który pochodzi i kończy się na tym samym komputerze. Aby utworzyć sesję sprzężenia zwrotnego, nie należy określać parametru ComputerName lub ustawić jego wartość 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ę pomyślnie, ale parametr zostanie zignorowany.
Można również zezwolić na dostęp zdalny w sesji sprzężenia zwrotnego przy użyciu CredSSP wartości parametru Authentication, który deleguje poświadczenia sesji do innych komputerów.
Aby chronić komputer przed złośliwym dostępem, odłą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 polecenie cmdlet Disconnect-PSSession
.
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. Domyślne porty to 5985
(port Usługi 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ów, 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ą polecenia cmdlet New-PSSessionOption
.
Wartości domyślne opcji są określane przez wartość zmiennej preferencji $PSSessionOption
, jeśli jest 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 sesji ustawionymi w zmiennej preferencji $PSSessionOption
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 about_Session_Configurations.
Aby uzyskać opis opcji sesji, w tym wartości domyślne, zobacz New-PSSessionOption
.
Aby uzyskać informacje o zmiennej preferencji $PSSessionOption
, 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 wprowadzisz 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 protokół SSL nie jest używany.
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 New-PSWorkflowSession
:
nwsn
Polecenie New-PSWorkflowSession
jest równoważne następującemu poleceniu:
New-PSSession -ConfigurationName Microsoft.PowerShell.Workflow