Udostępnij przez


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:

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

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 , 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.

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:

PSSession[]

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-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 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 SessionOptionConnect-PSSession przyjmuje 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-PSSession lub Invoke-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.