Udostępnij za pośrednictwem


Disconnect-PSSession

Rozłącza się z sesją.

Składnia

Disconnect-PSSession
          [-Session] <PSSession[]>
          [-IdleTimeoutSec <Int32>]
          [-OutputBufferingMode <OutputBufferingMode>]
          [-ThrottleLimit <Int32>]
          [-WhatIf]
          [-Confirm]
          [<CommonParameters>]
Disconnect-PSSession
          [-IdleTimeoutSec <Int32>]
          [-OutputBufferingMode <OutputBufferingMode>]
          [-ThrottleLimit <Int32>]
          -Name <String[]>
          [-WhatIf]
          [-Confirm]
          [<CommonParameters>]
Disconnect-PSSession
          [-IdleTimeoutSec <Int32>]
          [-OutputBufferingMode <OutputBufferingMode>]
          [-ThrottleLimit <Int32>]
          -InstanceId <Guid[]>
          [-WhatIf]
          [-Confirm]
          [<CommonParameters>]
Disconnect-PSSession
          [-IdleTimeoutSec <Int32>]
          [-OutputBufferingMode <OutputBufferingMode>]
          [-ThrottleLimit <Int32>]
          [-Id] <Int32[]>
          [-WhatIf]
          [-Confirm]
          [<CommonParameters>]

Opis

To polecenie cmdlet jest dostępne tylko na platformie Windows.

Polecenie cmdlet Disconnect-PSSession rozłącza sesję programu PowerShell (PSSession), na przykład polecenie cmdlet New-PSSession, z bieżącej sesji. W związku z tym pssession jest w stanie rozłączenia. Możesz nawiązać połączenie z odłączonym PSSession z bieżącej sesji lub z innej sesji na komputerze lokalnym lub innym komputerze.

Polecenie cmdlet Disconnect-PSSession rozłącza tylko otwarte psSessions, które są połączone z bieżącą sesją. Disconnect-PSSession nie można odłączyć uszkodzonych lub zamkniętych psSessionslub interaktywnych pssessions uruchomionych przy użyciu polecenia cmdlet Enter-PSSession i nie może odłączyć psSessions, które są połączone z innymi sesjami.

Aby ponownie nawiązać połączenie z odłączonym PSSession, użyj poleceń cmdlet Connect-PSSession lub Receive-PSSession.

Po rozłączeniu PSSession polecenia w PSSession będą nadal uruchamiane, chyba że pssession przekroczenia limitu czasu lub polecenia w pssession są blokowane przez pełny bufor wyjściowy. Aby zmienić limit czasu bezczynności, użyj parametru IdleTimeoutSec. Aby zmienić tryb buforowania danych wyjściowych, użyj parametru OutputBufferingMode Możesz również użyć parametru InDisconnectedSession polecenia cmdlet Invoke-Command, aby uruchomić polecenie w rozłączonej sesji.

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 — rozłączanie sesji według nazwy

To polecenie rozłącza UpdateSessionpssession na komputerze Server01 z bieżącej sesji. Polecenie używa parametru Name , aby zidentyfikować PSSession.

PS> Disconnect-PSSession -Name UpdateSession
Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
1  UpdateSession   Server01        Disconnected  Microsoft.PowerShell          None

Dane wyjściowe pokazują, że próba rozłączenia zakończyła się pomyślnie. Stan sesji jest , a dostępności jest , co wskazuje, że sesja nie jest zajęta i można ponownie nawiązać połączenie.

Przykład 2 — odłączanie sesji od określonego komputera

To polecenie rozłącza ITTaskpssession na komputerze Server12 z bieżącej sesji. Sesja ITTask została utworzona w bieżącej sesji i nawiązuje połączenie z komputerem Server12. Polecenie używa polecenia cmdlet Get-PSSession, aby pobrać sesję i polecenie cmdlet Disconnect-PSSession, aby je rozłączyć.

PS> Get-PSSession -ComputerName Server12 -Name ITTask |
  Disconnect-PSSession -OutputBufferingMode Drop -IdleTimeoutSec 86400
Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
1  ITTask          Server12        Disconnected  ITTasks               None

Polecenie Disconnect-PSSession używa parametru OutputBufferingMode, aby ustawić tryb wyjściowy na Drop. To ustawienie zapewnia, że skrypt uruchomiony w sesji może nadal działać, nawet jeśli bufor wyjściowy sesji jest pełny. Ponieważ skrypt zapisuje swoje dane wyjściowe w raporcie w udziale plików, inne dane wyjściowe mogą zostać utracone bez konsekwencji.

Polecenie używa również parametru IdleTimeoutSec, aby przedłużyć limit czasu bezczynności sesji do 24 godzin. To ustawienie umożliwia administratorowi lub innym administratorom ponowne nawiązanie połączenia z sesją w celu sprawdzenia, czy skrypt został uruchomiony i w razie potrzeby rozwiąż problemy.

Przykład 3 — używanie wielu psSessions na wielu komputerach

W tej serii poleceń pokazano, jak polecenie cmdlet Disconnect-PSSession może być używane w scenariuszu przedsiębiorstwa. W takim przypadku nowy technik uruchamia skrypt w sesji na komputerze zdalnym i występuje problem. Technik rozłącza się z sesją, aby bardziej doświadczony menedżer mógł nawiązać połączenie z sesją i rozwiązać problem.

PS> $s = New-PSSession -ComputerName Srv1, Srv2, Srv30 -Name ITTask
PS> Invoke-Command $s -FilePath \\Server01\Scripts\Get-PatchStatus.ps1
PS> Get-PSSession -Name ITTask -ComputerName Srv1 | Disconnect-PSSession
Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
1 ITTask           Srv1            Disconnected  Microsoft.PowerShell          None

PS> Get-PSSession -ComputerName Srv1, Srv2, Srv30 -Name ITTask
Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 1 ITTask          Srv1            Disconnected  Microsoft.PowerShell          None
 2 ITTask          Srv2            Opened        Microsoft.PowerShell     Available
 3 ITTask          Srv30           Opened        Microsoft.PowerShell     Available

PS> Get-PSSession -ComputerName Srv1 -Name ITTask -Credential Domain01\User01
Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 1 ITTask          Srv1            Disconnected  Microsoft.PowerShell          None

PS> $s = Connect-PSSession -ComputerName Srv1 -Name ITTask -Credential Domain01\User01
PS> Invoke-Command -Session $s {dir $HOME\Scripts\PatchStatusOutput.ps1}
PS> Invoke-Command -Session $s {mkdir $HOME\Scripts\PatchStatusOutput}
PS> Invoke-Command -Session $s -FilePath \\Server01\Scripts\Get-PatchStatus.ps1
PS> Disconnect-PSSession -Session $s

Technik rozpoczyna się od utworzenia sesji na kilku komputerach zdalnych i uruchomienia skryptu w każdej sesji. Pierwsze polecenie używa polecenia cmdlet New-PSSession do utworzenia sesji ITTask na trzech komputerach zdalnych. Polecenie zapisuje sesje w zmiennej $s. Drugie polecenie używa parametru FilePath polecenia cmdlet Invoke-Command, aby uruchomić skrypt w sesjach w zmiennej $s.

Skrypt uruchomiony na komputerze Srv1 generuje nieoczekiwane błędy. Technik kontaktuje się ze swoim menedżerem i prosi o pomoc. Menedżer kieruje technika do odłączenia się od sesji, aby mógł zbadać. Drugie polecenie używa polecenia cmdlet Get-PSSession, aby pobrać sesję ITTask na komputerze Srv1 i polecenie cmdlet Disconnect-PSSession, aby je rozłączyć. To polecenie nie ma wpływu na sesje ITTask na innych komputerach.

Trzecie polecenie używa polecenia cmdlet Get-PSSession w celu pobrania sesji ITTask. Dane wyjściowe pokazują, że sesje ITTask na komputerach Srv2 i Srv30 nie miały wpływu na polecenie rozłączenia.

Menedżer loguje się na swoim komputerze macierzysty, łączy się z siecią firmową, uruchamia program PowerShell i używa polecenia cmdlet Get-PSSession, aby uzyskać sesję ITTask na komputerze Srv1. Używa poświadczeń technika do uzyskania dostępu do sesji.

Następnie menedżer używa polecenia cmdlet Connect-PSSession do nawiązania połączenia z sesją ITTask na komputerze Srv1. Polecenie zapisuje sesję w zmiennej $s.

Menedżer używa polecenia cmdlet Invoke-Command do uruchamiania niektórych poleceń diagnostycznych w sesji w zmiennej $s. Rozpoznaje, że skrypt nie powiódł się, ponieważ nie znalazł wymaganego katalogu. Menedżer używa funkcji MkDir do utworzenia katalogu, a następnie uruchamia ponownie skrypt Get-PatchStatus.ps1 i rozłącza się z sesją. Menedżer zgłasza swoje ustalenia technikowi, sugeruje, że ponownie łączy się z sesją w celu ukończenia zadań i prosi go o dodanie polecenia do skryptu Get-PatchStatus.ps1, który tworzy wymagany katalog, jeśli nie istnieje.

Przykład 4 — zmiana wartości limitu czasu dla usługi PSSession

W tym przykładzie pokazano, jak poprawić wartość właściwości IdleTimeout sesji, aby można było ją odłączyć.

Właściwość limitu czasu bezczynności sesji ma kluczowe znaczenie dla rozłączonych sesji, ponieważ określa, jak długo jest utrzymywana rozłączona sesja przed usunięciem. Możesz ustawić opcję limitu czasu bezczynności podczas tworzenia sesji i po jej rozłączeniu. Wartości domyślne limitu czasu bezczynności sesji są ustawiane w zmiennej preferencji $PSSessionOption na komputerze lokalnym i w konfiguracji sesji na komputerze zdalnym. Wartości ustawione dla sesji mają pierwszeństwo przed wartościami ustawionymi w konfiguracji sesji, ale wartości sesji nie mogą przekraczać limitów przydziału ustawionych w konfiguracji sesji, takich jak MaxIdleTimeoutMs wartość.

PS> $Timeout = New-PSSessionOption -IdleTimeout 172800000
PS> $s = New-PSSession -Computer Server01 -Name ITTask -SessionOption $Timeout
PS> Disconnect-PSSession -Session $s
Disconnect-PSSession : The session ITTask cannot be disconnected because the specified
idle timeout value 172800(seconds) is either greater than the server maximum allowed
43200 (seconds) or less that the minimum allowed60(seconds).  Choose an idle time out
value that is within the allowed range and try again.

PS> Invoke-Command -ComputerName Server01 {Get-PSSessionConfiguration Microsoft.PowerShell} |
 Format-List -Property *

Architecture                  : 64
Filename                      : %windir%\system32\pwrshplugin.dll
ResourceUri                   : http://schemas.microsoft.com/powershell/microsoft.powershell
MaxConcurrentCommandsPerShell : 1000
UseSharedProcess              : false
ProcessIdleTimeoutSec         : 0
xmlns                         : http://schemas.microsoft.com/wbem/wsman/1/config/PluginConfiguration
MaxConcurrentUsers            : 5
lang                          : en-US
SupportsOptions               : true
ExactMatch                    : true
RunAsUser                     :
IdleTimeoutms                 : 7200000
PSVersion                     : 3.0
OutputBufferingMode           : Block
AutoRestart                   : false
SecurityDescriptorSddl        : O:NSG:BAD:P(A;;GA;;;BA)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW;;;WD)
MaxMemoryPerShellMB           : 1024
MaxIdleTimeoutms              : 2147483647
Uri                           : http://schemas.microsoft.com/powershell/microsoft.powershell
SDKVersion                    : 2
Name                          : microsoft.powershell
XmlRenderingType              : text
Capability                    : {Shell}
RunAsPassword                 :
MaxProcessesPerShell          : 15
ParentResourceUri             : http://schemas.microsoft.com/powershell/microsoft.powershell
Enabled                       : true
MaxShells                     : 25
MaxShellsPerUser              : 25
Permission                    : BUILTIN\Administrators AccessAllowed
PSComputerName                : localhost
RunspaceId                    : aea84310-6dbf-4c21-90ac-13980039925a
PSShowComputerName            : True


PS> $s.Runspace.ConnectionInfo
ConnectionUri                     : http://Server01/wsman
ComputerName                      : Server01
Scheme                            : http
Port                              : 80
AppName                           : /wsman
Credential                        :
ShellUri                          : http://schemas.microsoft.com/powershell/Microsoft.PowerShell
AuthenticationMechanism           : Default
CertificateThumbprint             :
MaximumConnectionRedirectionCount : 5
MaximumReceivedDataSizePerCommand :
MaximumReceivedObjectSize         : 209715200
UseCompression                    : True
NoMachineProfile                  : False
ProxyAccessType                   : None
ProxyAuthentication               : Negotiate
ProxyCredential                   :
SkipCACheck                       : False
SkipCNCheck                       : False
SkipRevocationCheck               : False
NoEncryption                      : False
UseUTF16                          : False
OutputBufferingMode               : Drop
IncludePortInSPN                  : False
Culture                           : en-US
UICulture                         : en-US
OpenTimeout                       : 180000
CancelTimeout                     : 60000
OperationTimeout                  : 180000
IdleTimeout                       : 172800000

PS> Disconnect-PSSession $s -IdleTimeoutSec 43200
Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 4 ITTask          Server01        Disconnected  Microsoft.PowerShell          None

PS> $s.Runspace.ConnectionInfo.IdleTimeout
43200000

Pierwsze polecenie używa polecenia cmdlet New-PSSessionOption do utworzenia obiektu opcji sesji. Używa parametru IdleTimeout, aby ustawić limit czasu bezczynności 48 godzin (172800000 milisekund). Polecenie zapisuje obiekt opcji sesji w zmiennej $Timeout.

Drugie polecenie używa polecenia cmdlet New-PSSession do utworzenia sesji ITTask na komputerze Server01. Polecenie zapisz sesję w zmiennej $s. Wartość parametru SessionOption to 48-godzinny limit czasu bezczynności w zmiennej $Timeout.

Trzecie polecenie rozłącza sesję ITTask w zmiennej $s. Polecenie kończy się niepowodzeniem, ponieważ wartość limitu czasu bezczynności sesji przekracza limit przydziału MaxIdleTimeoutMs w konfiguracji sesji. Ponieważ limit czasu bezczynności nie jest używany do momentu rozłączenia sesji, to naruszenie może nie być wykrywane podczas używania sesji.

Czwarte polecenie używa polecenia cmdlet Invoke-Command do uruchomienia polecenia Get-PSSessionConfiguration dla konfiguracji sesji Microsoft.PowerShell na komputerze Server01. Polecenie używa polecenia cmdlet Format-List do wyświetlania wszystkich właściwości konfiguracji sesji na liście. Dane wyjściowe pokazują, że właściwość MaxIdleTimeoutMS, która ustanawia maksymalną dozwoloną wartość IdleTimeout dla sesji korzystających z konfiguracji sesji, jest 43200000 milisekund (12 godzin).

Piąte polecenie pobiera wartości opcji sesji sesji w zmiennej $s. Wartości wielu opcji sesji to właściwości właściwości ConnectionInfo właściwości Runspace sesji. Dane wyjściowe pokazują, że wartość właściwości IdleTimeout sesji jest 172800000 milisekund (48 godzin), która narusza MaxIdleTimeoutMs limit przydziału 12 godzin w konfiguracji sesji. Aby rozwiązać ten konflikt, możesz użyć parametru ConfigurationName, aby wybrać inną konfigurację sesji lub użyć parametru IdleTimeout, aby zmniejszyć limit czasu bezczynności sesji.

Szóste polecenie rozłącza sesję. Używa parametru IdleTimeoutSec, aby ustawić limit czasu bezczynności na maksymalną 12-godzinną.

Siódme polecenie pobiera wartość właściwości IdleTimeout rozłączonej sesji, która jest mierzona w milisekundach. Dane wyjściowe potwierdzają, że polecenie zakończyło się pomyślnie.

Parametry

-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

-Id

Rozłącza się z sesjami przy użyciu określonego identyfikatora sesji. Wpisz co najmniej jeden identyfikator (oddzielony przecinkami) lub użyj operatora zakresu (..), aby określić zakres identyfikatorów.

Aby uzyskać identyfikator sesji, użyj polecenia cmdlet Get-PSSession. Identyfikator wystąpienia jest przechowywany we właściwości identyfikatora sesji.

Typ:Int32[]
Position:1
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-IdleTimeoutSec

Zmienia wartość limitu czasu bezczynności rozłączonego pssession. Wprowadź wartość w sekundach. Minimalna wartość to 60 (1 minuta).

Limit czasu bezczynności określa, jak długo odłączony PSSession jest utrzymywany na komputerze zdalnym. Po wygaśnięciu limitu czasu PSSession zostanie usunięty.

Odłączone pssessions są uważane za bezczynne od momentu ich rozłączenia, nawet jeśli polecenia są uruchomione w rozłączonej sesji.

Wartość domyślna limitu czasu bezczynności sesji jest ustawiana przez wartość IdleTimeoutMs właściwości konfiguracji sesji. Wartość domyślna to 7200000 milisekund (2 godziny).

Wartość tego parametru ma pierwszeństwo przed wartością właściwości IdleTimeout zmiennej preferencji $PSSessionOption oraz domyślną wartością limitu czasu bezczynności w konfiguracji sesji. Jednak ta wartość nie może przekroczyć wartości MaxIdleTimeoutMs właściwości konfiguracji sesji. Wartość domyślna MaxIdleTimeoutMs wynosi 12 godzin (43200000 milisekund).

Typ:Int32
Position:Named
Domyślna wartość:60
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-InstanceId

Rozłącza się z sesjami z określonymi identyfikatorami wystąpień.

Identyfikator wystąpienia to identyfikator GUID, który jednoznacznie identyfikuje sesję na komputerze lokalnym lub zdalnym. Identyfikator wystąpienia jest unikatowy, nawet w wielu sesjach na wielu komputerach.

Aby uzyskać identyfikator wystąpienia sesji, użyj polecenia cmdlet Get-PSSession. Identyfikator wystąpienia jest przechowywany we właściwości InstanceID sesji.

Typ:Guid[]
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Name

Rozłącza się z sesjami z określonymi przyjaznymi nazwami. Dozwolone są symbole wieloznaczne.

Aby uzyskać przyjazną nazwę sesji, użyj polecenia cmdlet Get-PSSession. Przyjazna nazwa jest przechowywana we właściwości Name sesji.

Typ:String[]
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:True

-OutputBufferingMode

Określa sposób zarządzania danymi wyjściowymi poleceń w rozłączonej sesji, gdy bufor wyjściowy jest pełny. Wartość domyślna to Block.

Jeśli polecenie w rozłączonej sesji zwraca dane wyjściowe, a bufor wyjściowy wypełnia, wartość tego parametru skutecznie określa, czy polecenie będzie nadal uruchamiane podczas rozłączania sesji. Wartość Block zawiesza polecenie do momentu ponownego nawiązania połączenia sesji. Wartość Drop umożliwia ukończenie polecenia, chociaż dane mogą zostać utracone. W przypadku używania wartości Drop przekierowuj dane wyjściowe polecenia do pliku na dysku.

Prawidłowe wartości to:

  • Block: gdy bufor wyjściowy jest pełny, wykonanie jest zawieszone do momentu wyczyszczenia buforu.
  • Drop: gdy bufor wyjściowy jest pełny, wykonywanie będzie kontynuowane. W miarę zapisywania nowych danych wyjściowych najstarsze dane wyjściowe są odrzucane.
  • None: nie określono trybu buforowania danych wyjściowych. Wartość właściwości OutputBufferingMode konfiguracji sesji jest używana dla rozłączonej sesji.
Typ:OutputBufferingMode
Position:Named
Domyślna wartość:Block
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Session

Rozłącza się z określonymi PSSessions. Wprowadź obiekty PSSession, takie jak te zwracane przez polecenie cmdlet New-PSSession. Można również potokować obiekt PSSession, aby Disconnect-PSSession.

Polecenie cmdlet Get-PSSession może pobrać wszystkie pssessions, które kończą się na komputerze zdalnym, w tym psSessions, które są rozłączone i psSessions, które są połączone z innymi sesjami na innych komputerach. Disconnect-PSSession rozłącza tylko pssession, które są połączone z bieżącą sesją. Jeśli potokujesz inne psSessions do Disconnect-PSSession, polecenie Disconnect-PSSession zakończy się niepowodzeniem.

Typ:PSSession[]
Position:1
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-ThrottleLimit

Ustawia limit ograniczania dla polecenia Disconnect-PSSession.

Limit ograniczania jest maksymalną liczbą współbieżnych połączeń, 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ść:32
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-WhatIf

Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Polecenie cmdlet nie jest uruchamiane.

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

PSSession

Możesz przekazać sesję do tego polecenia cmdlet.

Dane wyjściowe

PSSession

To polecenie cmdlet zwraca obiekt reprezentujący sesję, która została rozłączona.

Uwagi

Program PowerShell zawiera następujące aliasy dla Disconnect-PSSession:

  • Windows:
    • dnsn

To polecenie cmdlet jest dostępne tylko na platformach windows.

  • Polecenie cmdlet Disconnect-PSSession działa tylko wtedy, gdy na komputerach lokalnych i zdalnych jest uruchomiony program PowerShell 3.0 lub nowszy.

  • Jeśli używasz polecenia cmdlet Disconnect-PSSession w rozłączonej sesji, polecenie nie ma wpływu na sesję i nie generuje błędów.

  • Rozłączone sesje sprzężenia zwrotnego z interaktywnymi tokenami zabezpieczającymi (utworzone 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.

  • Po rozłączeniu pssession stan sesji jest Disconnected, a dostępność jest Brak.

    Wartość właściwości State jest względna względem bieżącej sesji. W związku z tym wartość Disconnected 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ść AvailabilityNone 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 on 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.