Connect-PSSession
Ponownie łączy się z rozłączonych sesji.
Składnia
Connect-PSSession
-Name <String[]>
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-PSSession
[-Session] <PSSession[]>
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-PSSession
[-ComputerName] <String[]>
[-ApplicationName <String>]
[-ConfigurationName <String>]
[-Name <String[]>]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-Port <Int32>]
[-UseSSL]
[-SessionOption <PSSessionOption>]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-PSSession
[-ComputerName] <String[]>
[-ApplicationName <String>]
[-ConfigurationName <String>]
-InstanceId <Guid[]>
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-Port <Int32>]
[-UseSSL]
[-SessionOption <PSSessionOption>]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-PSSession
[-ConfigurationName <String>]
[-ConnectionUri] <Uri[]>
[-AllowRedirection]
[-Name <String[]>]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-SessionOption <PSSessionOption>]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-PSSession
[-ConfigurationName <String>]
[-ConnectionUri] <Uri[]>
[-AllowRedirection]
-InstanceId <Guid[]>
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-SessionOption <PSSessionOption>]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-PSSession
-InstanceId <Guid[]>
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-PSSession
[-ThrottleLimit <Int32>]
[-Id] <Int32[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Opis
Polecenie Connect-PSSession
cmdlet ponownie łączy się z sesjami programu PowerShell zarządzanymi przez użytkownika (PSSessions), które zostały rozłączone. Działa on w przypadku sesji, które są rozłączane celowo, na przykład za pomocą Disconnect-PSSession
polecenia cmdlet lub parametru Invoke-Command
InDisconnectedSession polecenia cmdlet, a te, które zostały rozłączone przypadkowo, takie jak tymczasowa awaria sieci.
Connect-PSSession
program może nawiązać połączenie z dowolną odłączona sesją, która została uruchomiona przez tego samego użytkownika. Należą do nich te, które zostały uruchomione lub odłączone od innych sesji na innych komputerach.
Connect-PSSession
Nie można jednak nawiązać połączenia z przerwaną lub zamkniętą sesją albo sesjami interaktywnymi uruchomionymi przy użyciu Enter-PSSession
polecenia cmdlet . Ponadto nie można połączyć sesji z sesjami uruchomionymi przez innych użytkowników, chyba że można podać poświadczenia użytkownika, który utworzył sesję.
Aby uzyskać więcej informacji na temat funkcji Rozłączone sesje, zobacz about_Remote_Disconnected_Sessions.
To polecenie cmdlet zostało wprowadzone w programie Windows PowerShell 3.0.
Przykłady
Przykład 1. Ponowne nawiązywanie połączenia z sesją
Connect-PSSession -ComputerName Server01 -Name ITTask
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
4 ITTask Server01 Opened ITTasks Available
To polecenie ponownie łączy się z sesją ITTask
na komputerze Server01.
Dane wyjściowe pokazują, że polecenie zakończyło się pomyślnie. Stan sesji to Opened
i dostępność to Available
, co wskazuje, że można uruchamiać polecenia w sesji.
Przykład 2. Efekt rozłączania i ponownego nawiązywania połączenia
Get-PSSession
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 Backups Localhost Opened Microsoft.PowerShell Available
Get-PSSession | Disconnect-PSSession
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 Backups Localhost Disconnected Microsoft.PowerShell None
Get-PSSession | Connect-PSSession
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 Backups Localhost Opened Microsoft.PowerShell Available
W tym przykładzie pokazano efekt rozłączania, a następnie ponownego nawiązywania połączenia z sesją.
Pierwsze polecenie używa Get-PSSession
polecenia cmdlet . Bez parametru ComputerName polecenie pobiera tylko sesje, które zostały utworzone w bieżącej sesji.
Dane wyjściowe pokazują, że polecenie pobiera sesję Backups
na komputerze lokalnym. Stan sesji to Opened
, a dostępność to Available
.
Drugie polecenie używa Get-PSSession
polecenia cmdlet do pobrania obiektów PSSession utworzonych w bieżącej sesji i Disconnect-PSSession
polecenia cmdlet w celu rozłączenia sesji. Dane wyjściowe pokazują, że sesja Backups
została rozłączona. Stan sesji to Disconnected
, a dostępność to None
.
Trzecie polecenie używa Get-PSSession
polecenia cmdlet do pobrania obiektów PSSession utworzonych w bieżącej sesji i Connect-PSSession
polecenia cmdlet w celu ponownego połączenia sesji. Dane wyjściowe pokazują, że sesja Backups
została ponownie połączona. Stan sesji to Opened
, a dostępność to Available
.
Jeśli używasz Connect-PSSession
polecenia cmdlet w sesji, która nie jest rozłączona, polecenie nie ma wpływu na sesję i nie generuje żadnych błędów.
Przykład 3. Seria poleceń w scenariuszu przedsiębiorstwa
W tej serii poleceń pokazano, jak Connect-PSSession
polecenie cmdlet może być używane w scenariuszu przedsiębiorstwa. W takim przypadku administrator systemu uruchamia długotrwałe zadanie w sesji na komputerze zdalnym. Po uruchomieniu zadania administrator rozłącza się z sesją i wraca do domu.
Później tego wieczoru administrator loguje się do komputera macierzystego i sprawdza, czy zadanie zostało uruchomione do momentu jego ukończenia.
Administrator rozpoczyna się od utworzenia sesji na komputerze zdalnym i uruchomienia skryptu w sesji. Pierwsze polecenie używa New-PSSession
polecenia cmdlet do utworzenia ITTask
sesji na komputerze zdalnym Server01. Polecenie używa parametru ConfigurationName do określenia ITTasks
konfiguracji sesji. Polecenie zapisuje sesje w zmiennej $s
.
Drugie polecenie cmdlet, Invoke-Command
aby uruchomić zadanie w tle w sesji w zmiennej $s
. Używa parametru FilePath do uruchomienia skryptu w zadaniu w tle.
Trzecie polecenie używa Disconnect-PSSession
polecenia cmdlet , aby odłączyć się od sesji w zmiennej $s
. Polecenie używa parametru OutputBufferingMode z wartością Drop
, aby zapobiec zablokowaniu skryptu przez konieczność dostarczania danych wyjściowych do sesji. Używa parametru IdleTimeoutSec , aby przedłużyć limit czasu sesji do 15 godzin. Po zakończeniu polecenia administrator blokuje komputer i wraca do domu na wieczór.
Później tego wieczoru administrator uruchamia swój komputer domowy, loguje się do sieci firmowej i uruchamia program PowerShell. Czwarte polecenie używa Get-PSSession
polecenia cmdlet do pobrania sesji na komputerze Server01. Polecenie znajduje sesję ITTask
. Piąte polecenie używa Connect-PSSession
polecenia cmdlet do nawiązania połączenia z sesją ITTask
. Polecenie zapisuje sesję w zmiennej $s
.
Szóste polecenie używa Invoke-Command
polecenia cmdlet do uruchomienia Get-Job
polecenia w sesji w zmiennej $s
. Dane wyjściowe pokazują, że zadanie zostało ukończone pomyślnie. Siódme polecenie używa Invoke-Command
polecenia cmdlet do uruchomienia Receive-Job
polecenia w sesji w zmiennej $s
w sesji. Polecenie zapisuje wyniki w zmiennej $BackupSpecs
. Ósme polecenie używa Invoke-Command
polecenia cmdlet do uruchamiania innego skryptu w sesji. Polecenie używa wartości $BackupSpecs
zmiennej w sesji jako danych wejściowych skryptu.
$s = New-PSSession -ComputerName Server01 -Name ITTask -ConfigurationName ITTasks
Invoke-Command -Session $s -ScriptBlock {Start-Job -FilePath \\Server30\Scripts\Backup-SQLDatabase.ps1}
Id Name State HasMoreData Location Command
-- ---- ----- ----------- -------- -------
2 Job2 Running True Server01 \\Server30\Scripts\Backup...
Disconnect-PSSession -Session $s -OutputBufferingMode Drop -IdleTimeoutSec 60*60*15
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 ITTask Server01 Disconnected ITTasks None
Get-PSSession -ComputerName Server01 -Name ITTask
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 ITTask Server01 Disconnected ITTasks None
$s = Connect-PSSession -ComputerName Server01 -Name ITTask
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 ITTask Server01 Opened ITTasks Available
Invoke-Command -Session $s -ScriptBlock {Get-Job}
Id Name State HasMoreData Location Command
-- ---- ----- ----------- -------- -------
2 Job2 Completed True Server01 \\Server30\Scripts\Backup...
Invoke-Command -Session $s -ScriptBlock {$BackupSpecs = Receive-Job -JobName Job2}
Invoke-Command -Session $s -ScriptBlock {\\Server30\Scripts\New-SQLDatabase.ps1 -InitData $BackupSpecs.Initialization}
Disconnect-PSSession -Session $s -OutputBufferingMode Drop -IdleTimeoutSec 60*60*15
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 ITTask Server01 Disconnected ITTasks None
Dziewiąte polecenie rozłącza się z sesją w zmiennej $s
. Administrator zamyka program PowerShell i zamyka komputer. Następnego dnia może ponownie nawiązać połączenie z sesją i sprawdzić stan skryptu z komputera służbowego.
Parametry
-AllowRedirection
Wskazuje, że to polecenie cmdlet umożliwia przekierowanie tego połączenia do alternatywnego identyfikatora URI.
Jeśli używasz parametru ConnectionURI , zdalne miejsce docelowe może zwrócić instrukcję, aby przekierować do innego identyfikatora URI. Domyślnie program PowerShell nie przekierowuje połączeń, ale można użyć tego parametru, aby umożliwić mu przekierowanie połączenia.
Możesz również ograniczyć liczbę przekierowań połączenia, zmieniając wartość opcji sesji MaximumConnectionRedirectionCount . Użyj parametru New-PSSessionOption
MaximumRedirection polecenia cmdlet lub ustaw właściwość MaximumConnectionRedirectionCount zmiennej preferencji $PSSessionOption. Domyślna wartość to 5
.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-ApplicationName
Określa nazwę aplikacji. To polecenie cmdlet łączy się tylko z sesjami korzystającymi z określonej aplikacji.
Wprowadź segment nazwy aplikacji identyfikatora URI połączenia. Na przykład w następującym identyfikatorze URI połączenia nazwa aplikacji to WSMan: http://localhost:5985/WSMAN
. Nazwa aplikacji sesji jest przechowywana we właściwości Runspace.ConnectionInfo.AppName sesji.
Wartość tego parametru służy do wybierania i filtrowania sesji. Nie zmienia aplikacji używanej przez sesję.
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 w poleceniu w celu ponownego nawiązania połączenia z rozłączonej sesji. Dopuszczalne wartości tego parametru to:
Default
Basic
Credssp
Digest
Kerberos
Negotiate
NegotiateWithImplicitCredential
Domyślna wartość to Default
.
Aby uzyskać więcej informacji na temat wartości tego parametru, zobacz AuthenticationMechanism Enumeration (Wyliczenie AuthenticationMechanism).
Uwaga
Uwierzytelnianie dostawcy obsługi 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ść: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-CertificateThumbprint
Określa certyfikat cyfrowego klucza publicznego (X509) konta użytkownika, które ma uprawnienia do nawiązywania połączenia z rozłączonej sesji. Wprowadź odcisk palca certyfikatu.
Certyfikaty są używane w uwierzytelnianiu opartym na certyfikatach klienta. Można je mapować tylko na konta użytkowników lokalnych. Nie działają z kontami domeny.
Aby uzyskać odcisk palca certyfikatu, użyj Get-Item
polecenia lub Get-ChildItem
na dysku programu PowerShell Cert:
.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-ComputerName
Określa komputery, na których są przechowywane rozłączone sesje. Sesje są przechowywane na komputerze, który znajduje się po stronie serwera lub odbiera na końcu połączenia. Wartość domyślna to komputer lokalny.
Wpisz nazwę NetBIOS, adres IP lub w pełni kwalifikowaną nazwę domeny jednego komputera. Symbole wieloznaczne nie są dozwolone. Aby określić komputer lokalny, wpisz nazwę komputera, localhost
lub kropkę (.
)
Typ: | String[] |
Aliasy: | Cn |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-ConfigurationName
Łączy się tylko z sesjami korzystającymi z określonej konfiguracji sesji.
Wprowadź nazwę konfiguracji lub w pełni kwalifikowany identyfikator URI zasobu dla konfiguracji sesji. Jeśli określisz tylko nazwę konfiguracji, następujący identyfikator URI schematu jest wstępnie utworzony: http://schemas.microsoft.com/powershell
. Nazwa konfiguracji sesji jest przechowywana we właściwości ConfigurationName sesji.
Wartość tego parametru służy do wybierania i filtrowania sesji. Nie zmienia konfiguracji sesji używanej przez sesję.
Aby uzyskać więcej informacji na temat konfiguracji sesji, zobacz Informacje o konfiguracjach sesji.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Confirm
Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.
Typ: | SwitchParameter |
Aliasy: | cf |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-ConnectionUri
Określa identyfikatory URI punktów końcowych połączenia dla rozłączonych sesji.
Identyfikator URI musi być w pełni kwalifikowany. Format tego ciągu jest następujący:
<Transport>://<ComputerName>:<Port>/<ApplicationName>
Wartość domyślna jest następująca:
http://localhost:5985/WSMAN
Jeśli nie określisz identyfikatora URI połączenia, możesz użyć parametrów UseSSL i Port , aby określić wartości identyfikatora URI połączenia.
Prawidłowe wartości segmentu Transport identyfikatora URI to HTTP i HTTPS. Jeśli określisz identyfikator URI połączenia z segmentem Transport, ale nie określisz portu, sesja zostanie utworzona z portami standardów: 80
dla protokołu HTTP i 443
HTTPS. Aby użyć domyślnych portów komunikacji zdalnej programu PowerShell, określ port 5985
protokołu HTTP lub 5986
HTTPS.
Jeśli komputer docelowy przekierowuje połączenie do innego identyfikatora URI, program PowerShell uniemożliwia przekierowanie, chyba że użyjesz parametru AllowRedirection w poleceniu .
Typ: | Uri[] |
Aliasy: | URI, CU |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Credential
Określa konto użytkownika, które ma uprawnienia do nawiązywania połączenia z rozłączonej sesji. Wartość domyślna to użytkownik bieżący.
Wpisz nazwę użytkownika, taką jak User01
lub Domain01\User01
, lub wprowadź obiekt PSCredential wygenerowany przez Get-Credential
polecenie cmdlet. Jeśli wpiszesz nazwę użytkownika, zostanie wyświetlony monit o wprowadzenie hasła.
Poświadczenia są przechowywane w obiekcie PSCredential , a hasło jest przechowywane jako secureString.
Uwaga
Aby uzyskać więcej informacji na temat ochrony danych SecureString , zobacz Jak bezpieczny jest protokół SecureString?.
Typ: | PSCredential |
Position: | Named |
Domyślna wartość: | Current user |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Id
Określa identyfikatory rozłączonych sesji. Parametr Id działa tylko wtedy, gdy odłączona sesja była wcześniej połączona z bieżącą sesją.
Ten parametr jest prawidłowy, ale nie skuteczny, gdy sesja jest przechowywana na komputerze lokalnym, ale nie została połączona z bieżącą sesją.
Typ: | Int32[] |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-InstanceId
Określa identyfikatory wystąpień rozłączonych sesji.
Identyfikator wystąpienia to identyfikator GUID, który jednoznacznie identyfikuje psSession na komputerze lokalnym lub zdalnym.
Identyfikator wystąpienia jest przechowywany we właściwości InstanceID sesji PSSession.
Typ: | Guid[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Name
Określa przyjazne nazwy rozłączonych sesji.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Port
Określa port sieciowy na komputerze zdalnym używanym do ponownego nawiązywania połączenia z sesją. 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
, czyli port usługi WinRM dla protokołu HTTP i 5986
, który jest portem Usługi WinRM dla protokołu HTTPS.
Przed użyciem portu alternatywnego należy skonfigurować odbiornik WinRM na komputerze zdalnym do nasłuchiwania na tym porcie. Aby skonfigurować odbiornik, wpisz następujące dwa polecenia w wierszu polecenia programu PowerShell:
Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse
New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port \<port-number\>
Nie używaj parametru Port , chyba że musisz. Port ustawiony 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 |
-Session
Określa rozłączone sesje. Wprowadź zmienną zawierającą obiekty PSSession lub polecenie, które tworzy lub pobiera obiekty PSSession , takie jak Get-PSSession
polecenie.
Typ: | PSSession[] |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-SessionOption
Określa opcje zaawansowane dla sesji. Wprowadź obiekt SessionOption, taki jak obiekt utworzony za pomocą New-PSSessionOption
polecenia cmdlet lub tabela skrótów, w której klucze są nazwami opcji sesji, a wartości to wartości opcji sesji.
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ć opis opcji sesji, które zawierają wartości domyślne, zobacz New-PSSessionOption
. Aby uzyskać informacje o zmiennej preferencji $PSSessionOption , zobacz about_Preference_Variables. Aby uzyskać więcej informacji na temat konfiguracji sesji, zobacz Informacje o konfiguracjach sesji.
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
, zostanie użyta wartość domyślna , 32
.
Limit ograniczania ma zastosowanie tylko do bieżącego polecenia, a nie do sesji ani do komputera.
Typ: | Int32 |
Position: | Named |
Domyślna wartość: | None |
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 rozłączną sesją. Domyślnie nie jest używane szyfrowanie SSL.
Usługa WS-Management szyfruje całą zawartość programu 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 używasz tego parametru, 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 |
-WhatIf
Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.
Typ: | SwitchParameter |
Aliasy: | wi |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
Możesz przekazać sesję (PSSession) do tego polecenia cmdlet.
Dane wyjściowe
To polecenie cmdlet zwraca obiekt reprezentujący sesję, z którą ponownie nawiązano połączenie.
Uwagi
Program Windows PowerShell zawiera następujące aliasy dla programu Connect-PSSession
:
cnsn
To polecenie cmdlet jest dostępne tylko na platformach windows.
Connect-PSSession
Ponownie łączy się tylko z sesjami, które są rozłączone, czyli sesje, które mają wartość Rozłączone dla właściwości State . Tylko sesje połączone z komputerami z programem Windows PowerShell 3.0 lub nowszym można odłączyć i ponownie nawiązać połączenie.Jeśli używasz
Connect-PSSession
w sesji, która nie jest rozłączona, polecenie nie ma wpływu na sesję i nie generuje błędów.Rozłączone sesje sprzężenia zwrotnego z tokenami interaktywnymi, które są tworzone przy użyciu parametru EnableNetworkAccess , można ponownie połączyć tylko z komputera, na którym została utworzona sesja. To ograniczenie chroni komputer przed złośliwym dostępem.
Wartość właściwości State sesji PSSession jest względna dla bieżącej sesji. W związku z tym wartość Disconnected oznacza, że sesja PSSession nie jest połączona z bieżącą sesją. Nie oznacza to jednak, że sesja PSSession jest odłączona od wszystkich sesji. Może być połączony z inną sesją. Aby określić, czy możesz nawiązać połączenie z sesją, czy ponownie nawiązać połączenie, użyj właściwości Availability .
Wartość Availability (Brak) wskazuje, że można nawiązać połączenie z sesją. Wartość Busy wskazuje, że nie można nawiązać połączenia z usługą PSSession , ponieważ jest ona połączona z inną sesją.
Aby uzyskać więcej informacji na temat wartości właściwości State sesji, zobacz RunspaceState, wyliczenie.
Aby uzyskać więcej informacji na temat wartości właściwości Availability sesji, zobacz RunspaceAvailability Enumeration (Wyliczenie RunspaceAvailability).
Nie można zmienić wartości limitu czasu bezczynności sesji PSSession podczas nawiązywania połączenia z programem PSSession. Parametr SessionOption parametru
Connect-PSSession
przyjmuje obiekt SessionOption , który ma wartość IdleTimeout . Jednak wartość IdleTimeout obiektu SessionOption i wartość$PSSessionOption
IdleTimeout zmiennej są ignorowane podczas nawiązywania połączenia z usługą PSSession.Możesz ustawić i zmienić limit czasu bezczynności sesji PSSession podczas tworzenia psSession, przy użyciu
New-PSSession
poleceń cmdlet lubInvoke-Command
i po rozłączeniu z psSession.Właściwość IdleTimeout sesji PSSession ma kluczowe znaczenie dla rozłączonych sesji, ponieważ określa, jak długo sesja rozłączona jest utrzymywana na komputerze zdalnym. Odłączone sesje są uważane za bezczynne od momentu ich rozłączenia, nawet jeśli polecenia są uruchomione w sesji rozłączonej.