Connect-PSSession
Ponownie łączy się z rozłączonych sesji.
Składnia
Name (Domyślna)
Connect-PSSession
-Name <String[]>
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Session
Connect-PSSession
[-Session] <PSSession[]>
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ComputerNameGuid
Connect-PSSession
-ComputerName <String[]>
-InstanceId <Guid[]>
[-ApplicationName <String>]
[-ConfigurationName <String>]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-Port <Int32>]
[-UseSSL]
[-SessionOption <PSSessionOption>]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ComputerName
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>]
ConnectionUriGuid
Connect-PSSession
[-ConnectionUri] <Uri[]>
-InstanceId <Guid[]>
[-ConfigurationName <String>]
[-AllowRedirection]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-SessionOption <PSSessionOption>]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ConnectionUri
Connect-PSSession
[-ConnectionUri] <Uri[]>
[-ConfigurationName <String>]
[-AllowRedirection]
[-Name <String[]>]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-SessionOption <PSSessionOption>]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
InstanceId
Connect-PSSession
-InstanceId <Guid[]>
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Id
Connect-PSSession
[-Id] <Int32[]>
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Opis
Ten cmdlet jest dostępny tylko na platformie Windows.
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 parametruInvoke-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łączonych sesji, zobacz about_Remote_Disconnected_Sessions.
To cmdlet zostało wprowadzone w 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 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 polecenie cmdlet Connect-PSSession 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.
W przypadku używania parametru ConnectionURI zdalny obiekt docelowy może poinformować o przekierowaniu 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-PSSessionOptionMaximumRedirection polecenia cmdlet lub ustaw właściwość MaximumConnectionRedirectionCount zmiennej preferencji $PSSessionOption. Wartość domyślna to 5.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
ConnectionUriGuid
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
ConnectionUri
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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ę.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
ComputerNameGuid
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
ComputerName
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | 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:
DefaultBasicCredsspDigestKerberosNegotiateNegotiateWithImplicitCredential
Wartość domyślna to Default.
Aby uzyskać więcej informacji na temat wartości tego parametru, zobacz Wyliczenia Mechanizmów Uwierzytelniania.
Ostrzeżenie
Uwierzytelnianie za pomocą dostawcy obsługi zabezpieczeń poświadczeń (CredSSP), w którym poświadczenia użytkownika są przekazywane do zdalnego komputera w celu uwierzytelnienia, jest przeznaczone do poleceń wymagających uwierzytelniania na więcej niż jednym zasobie, takich jak dostęp 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.
Właściwości parametru
| Typ: | AuthenticationMechanism |
| Domyślna wartość: | None |
| Dopuszczalne wartości: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
ComputerNameGuid
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
ComputerName
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
ConnectionUriGuid
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
ConnectionUri
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-CertificateThumbprint
Określa cyfrowy certyfikat klucza publicznego (X509) konta użytkownika, które ma uprawnienia do połączenia z rozłączoną sesją. 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 polecenia Get-Item lub Get-ChildItem na dysku Cert: programu PowerShell.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
ComputerNameGuid
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
ComputerName
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
ConnectionUriGuid
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
ConnectionUri
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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, localhostlub kropkę (.)
Właściwości parametru
| Typ: | String[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | Cn |
Zestawy parametrów
ComputerNameGuid
| Position: | Named |
| Obowiązkowy: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
ComputerName
| Position: | Named |
| Obowiązkowy: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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 poprzedzany: 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 about_Session_Configurations.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
ComputerNameGuid
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
ComputerName
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
ConnectionUriGuid
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
ConnectionUri
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-Confirm
Prosi o potwierdzenie przed uruchomieniem cmdletu.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | por |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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 dla protokołu HTTP lub 5986 dla protokołu HTTPS.
Jeśli komputer docelowy przekierowuje połączenie do innego identyfikatora URI, PowerShell blokuje przekierowanie, chyba że użyjesz parametru AllowRedirection w poleceniu.
Właściwości parametru
| Typ: | Uri[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | URI, jednostka pojemności |
Zestawy parametrów
ConnectionUriGuid
| Position: | 0 |
| Obowiązkowy: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
ConnectionUri
| Position: | 0 |
| Obowiązkowy: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-Credential
Określa konto użytkownika, które ma uprawnienia do nawiązywania połączenia z rozłączonej sesji. Wartość domyślna to bieżący użytkownik.
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 / Notatka
Aby uzyskać więcej informacji na temat ochrony danych SecureString, zobacz Jak bezpieczny jest protokół SecureString?.
Właściwości parametru
| Typ: | PSCredential |
| Domyślna wartość: | Current user |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
ComputerNameGuid
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
ComputerName
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
ConnectionUriGuid
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
ConnectionUri
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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ą.
Właściwości parametru
| Typ: | Int32[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
Id
| Position: | 0 |
| Obowiązkowy: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | 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 InstanceIdPSSession.
Właściwości parametru
| Typ: | Guid[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
ComputerNameGuid
| Position: | Named |
| Obowiązkowy: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
ConnectionUriGuid
| Position: | Named |
| Obowiązkowy: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
InstanceId
| Position: | Named |
| Obowiązkowy: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Name
Określa przyjazne nazwy rozłączonych sesji.
Właściwości parametru
| Typ: | String[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
Name
| Position: | Named |
| Obowiązkowy: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
ComputerName
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
ConnectionUri
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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ów
Właściwości parametru
| Typ: | Int32 |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
ComputerNameGuid
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
ComputerName
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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.
Właściwości parametru
| Typ: | |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
Session
| Position: | 0 |
| Obowiązkowy: | True |
| Wartość z potoku: | True |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-SessionOption
Określa opcje zaawansowane dla sesji. Wprowadź obiekt SessionOption, taki jak obiekt utworzony przy użyciu polecenia cmdlet New-PSSessionOption lub tabela skrótu, w której klucze są nazwami opcji sesji, a wartości są wartościami opcji sesji.
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ć 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 about_Session_Configurations.
Właściwości parametru
| Typ: | PSSessionOption |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
ComputerNameGuid
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
ComputerName
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
ConnectionUriGuid
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
ConnectionUri
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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.
Właściwości parametru
| Typ: | Int32 |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-UseSSL
Wskazuje, że to polecenie cmdlet używa protokołu Secure Sockets Layer (SSL) do nawiązania połączenia z rozłączoną sesją. Domyślnie protokół SSL nie jest używany.
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.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
ComputerNameGuid
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
ComputerName
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-WhatIf
Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Cmdlet nie jest uruchomiony.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | Wi |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
CommonParameters
To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.
Dane wejściowe
PSSession
Do tego polecenia cmdlet można przekazać potok sesji (PSSession).
Dane wyjściowe
PSSession
To polecenie cmdlet zwraca obiekt reprezentujący sesję, z którą ponownie nawiązano połączenie.
Uwagi
Program PowerShell zawiera następujące aliasy dla Connect-PSSession:
Windows:
cnsn
Ten cmdlet jest dostępny tylko na platformach Windows.
Connect-PSSessionPonownie łą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-PSSessionw 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 stanu
jest względna dla bieżącej sesji. W związku z tym wartość Rozłączone oznacza, że PSSession nie jest połączona z bieżącą sesją. Nie oznacza to jednak, że PSSession jest odłączony od wszystkich sesji. Może być połączony z inną sesją. Aby określić, czy można nawiązać połączenie z sesją, czy ponownie nawiązać połączenie, użyj właściwości Availability. Wartość Dostępności Brak wskazuje, że można nawiązać połączenie z sesją. Wartość Busy wskazuje, że nie można nawiązać połączenia z PSSession, ponieważ jest połączony z inną sesją.
Aby uzyskać więcej informacji na temat wartości właściwości stanu
sesji, zobacz RunspaceState, wyliczenie .Aby uzyskać więcej informacji na temat wartości właściwości dostępności
sesji, zobacz RunspaceAvailability Enumeration .Nie można zmienić wartości limitu czasu bezczynności PSSession podczas nawiązywania połączenia z pssession. Parametr SessionOption
Connect-PSSessionprzyjmuje obiekt SessionOption, który ma wartość IdleTimeout. Jednak wartość IdleTimeout obiektu SessionOption i wartość$PSSessionOptionIdleTimeout zmiennej są ignorowane podczas nawiązywania połączenia z usługą PSSession.Możesz ustawić i zmienić limit czasu bezczynności PSSession podczas tworzenia PSSession, przy użyciu poleceń cmdlet
New-PSSessionlubInvoke-Command, oraz podczas rozłączania się z PSSession.Właściwość IdleTimeout pssession ma kluczowe znaczenie dla rozłączonych sesji, ponieważ określa, jak długo jest utrzymywana rozłączona sesja 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.