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 Disconnect-PSSession cmdlet rozłącza sesję programu PowerShell (PSSession), na przykład uruchomioną przy użyciu New-PSSession polecenia cmdlet z bieżącej sesji. W związku z tym usługa PSSession jest w stanie rozłączenia. Połączenie z odłączonym programem PSSession można nawiązać z bieżącej sesji lub z innej sesji na komputerze lokalnym lub innym komputerze.

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

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

Po rozłączeniu programu PSSession polecenia w programie PSSession będą nadal uruchamiane do momentu ich zakończenia, chyba że przekroczenie limitu czasu psSession lub przekroczenie limitu czasu poleceń w programie PSSession jest 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 Invoke-CommandInDisconnectedSession polecenia cmdlet, aby uruchomić polecenie w sesji rozłączonej.

Aby uzyskać więcej informacji na temat funkcji Rozłączone sesje, zobacz about_Remote_Disconnected_Sessions.

To polecenie cmdlet zostało wprowadzone w Windows PowerShell 3.0.

Przykłady

Przykład 1 — Rozłącz sesję według nazwy

To polecenie rozłącza UpdateSession serwer PSSession na komputerze Server01 z bieżącej sesji. Polecenie używa parametru Name do identyfikowania serwera 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 to Disconnected i wartość Dostępność to None, 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 ITTask serwer PSSession na komputerze Server12 z bieżącej sesji. Sesja została utworzona ITTask w bieżącej sesji i nawiązuje połączenie z komputerem Server12. Polecenie używa Get-PSSession polecenia cmdlet , aby pobrać sesję i Disconnect-PSSession polecenie cmdlet, aby go 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 można utracić 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 połączenie z sesją w celu sprawdzenia, czy skrypt został uruchomiony i rozwiąż problemy w razie potrzeby.

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

W tej serii poleceń pokazano, jak Disconnect-PSSession polecenie cmdlet 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 tworzenia sesji na kilku komputerach zdalnych i uruchamiania skryptu w każdej sesji. Pierwsze polecenie używa polecenia cmdlet do utworzenia New-PSSessionITTask sesji na trzech komputerach zdalnych. Polecenie zapisuje sesje w zmiennej $s . Drugie polecenie używa parametru Invoke-CommandFilePath polecenia cmdlet do uruchamiania skryptu w sesjach w zmiennej$s.

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

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

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

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

Menedżer używa Invoke-Command polecenia cmdlet do uruchamiania niektórych poleceń diagnostycznych w sesji w zmiennej $s . Rozpoznaje, że skrypt nie powiodł się, ponieważ nie znalazł wymaganego katalogu. Menedżer używa MkDir funkcji do utworzenia katalogu, a następnie ponownie uruchamia Get-PatchStatus.ps1 skrypt i rozłącza się z sesją. Menedżer zgłasza swoje wyniki technikowi, sugeruje, że ponownie nawiąż połączenie 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 — zmienianie wartości limitu czasu dla programu 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 sesja rozłączona jest utrzymywana przed jego usunięciem. Możesz ustawić opcję limitu czasu bezczynności podczas tworzenia sesji i rozłączania. Wartości domyślne limitu czasu bezczynności sesji są ustawiane w $PSSessionOption zmiennej preferencji 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 wartość MaxIdleTimeoutMs .

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 New-PSSessionOption polecenia cmdlet do utworzenia obiektu opcji sesji. Używa parametru IdleTimeout , aby ustawić limit czasu bezczynności 48 godzin (172800000 milisekundy). Polecenie zapisuje obiekt opcji sesji w zmiennej $Timeout .

Drugie polecenie używa New-PSSession polecenia cmdlet do utworzenia ITTask sesji 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, dopóki sesja nie zostanie rozłączona, to naruszenie może nie być wykrywane, gdy sesja jest używana.

Czwarte polecenie używa Invoke-Command polecenia cmdlet do uruchomienia Get-PSSessionConfiguration polecenia dla Microsoft.PowerShell konfiguracji sesji na komputerze Server01. Polecenie używa Format-List polecenia cmdlet do wyświetlania wszystkich właściwości konfiguracji sesji na liście. Dane wyjściowe pokazują, że właściwość MaxIdleTimeoutMS , która określa maksymalną dozwoloną wartość IdleTimeout dla sesji korzystających z konfiguracji sesji, jest 43200000 milisekundami (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 to 172800000 milisekundy (48 godzin), która narusza limit przydziału MaxIdleTimeoutMs 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 maksymalnie 12-godzinny.

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.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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 Get-PSSession polecenia cmdlet . Identyfikator wystąpienia jest przechowywany we właściwości ID sesji.

Type:Int32[]
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-IdleTimeoutSec

Zmienia wartość limitu czasu bezczynności rozłączonego programu PSSession. Wprowadź wartość w sekundach. Wartość minimalna to 60 (1 minuta).

Limit czasu bezczynności określa, jak długo odłączona sesja PSSession jest utrzymywana na komputerze zdalnym. Po wygaśnięciu limitu czasu usunięcie programu PSSession .

Odłączone sesje PSSession 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ść właściwości IdleTimeoutMs konfiguracji sesji. Wartość domyślna to 7200000 milisekundy (2 godziny).

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

Type:Int32
Position:Named
Default value:60
Required:False
Accept pipeline input:False
Accept wildcard characters: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 Get-PSSession polecenia cmdlet . Identyfikator wystąpienia jest przechowywany we właściwości InstanceID sesji.

Type:Guid[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

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

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

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-OutputBufferingMode

Określa sposób zarządzania danymi wyjściowymi polecenia 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 działać, gdy sesja jest rozłączona. Wartość Block zawiesza polecenie do momentu ponownego nawiązania połączenia z sesją. Wartość parametru Drop umożliwia wykonanie polecenia, chociaż dane mogą zostać utracone. W przypadku używania Drop wartości przekieruj dane wyjściowe polecenia do pliku na dysku.

Prawidłowe wartości:

  • Block: Gdy bufor wyjściowy jest pełny, wykonywanie jest zawieszone, dopóki bufor nie zostanie wyczyszczone.
  • 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.
Type:OutputBufferingMode
Position:Named
Default value:Block
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Session

Rozłącza się z określonymi pssessions. Wprowadź obiekty PSSession , takie jak te, które New-PSSession zwraca polecenie cmdlet. Można również przekazać obiekt PSSession do Disconnect-PSSessionelementu .

Polecenie Get-PSSession cmdlet może pobrać wszystkie sesje PSSession zakończone na komputerze zdalnym, w tym sesje PSSessions , które są odłączone i psSessions , które są połączone z innymi sesjami na innych komputerach. Disconnect-PSSession rozłącza tylko sesję PSSession , która jest połączona z bieżącą sesją. W przypadku potoku innych pssessions do Disconnect-PSSessionpolecenia Disconnect-PSSession polecenie zakończy się niepowodzeniem.

Type:PSSession[]
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ThrottleLimit

Ustawia limit ograniczania dla Disconnect-PSSession polecenia .

Limit ograniczania jest maksymalną liczbą połączeń współbieżnych, które można ustanowić w celu uruchomienia tego polecenia. Jeśli pominiesz ten parametr lub wprowadzisz wartość 0, zostanie użyta wartość domyślna , 32.

Limit ograniczania dotyczy tylko bieżącego polecenia, a nie sesji lub komputera.

Type:Int32
Position:Named
Default value:32
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Dane wejściowe

PSSession

Sesję można przekazać Disconnect-PSSessiondo potoku .

Dane wyjściowe

PSSession

Disconnect-PSSession Zwraca obiekt reprezentujący sesję, która została rozłączona.

Uwagi

To polecenie cmdlet jest dostępne tylko na platformach systemu Windows.

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

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

  • Rozłączone sesje sprzężenia zwrotnego z interaktywnymi tokenami zabezpieczeń (utworzone za pomocą parametru EnableNetworkAccess ) można ponownie połączyć tylko z komputera, na którym utworzono sesję. To ograniczenie chroni komputer przed złośliwym dostępem.

  • Gdy rozłączysz usługę PSSession, stan sesji to Disconnected , a dostępność to Brak.

    Wartość właściwości State jest względna względem bieżącej sesji. W związku z Disconnected tym wartość oznacza, że usługa 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ść NoneDostępności wskazuje, że można nawiązać połączenie z sesją. Wartość wskazuje Busy , że nie można nawiązać połączenia z sesją PSSession , ponieważ jest połączona z inną sesją.

    Aby uzyskać więcej informacji na temat wartości właściwości State sesji, zobacz RunspaceState Enumeration (Wyliczenie RunspaceState).

    Aby uzyskać więcej informacji na temat wartości właściwości Availability sesji, zobacz RunspaceAvailability Enumeration (Wyliczenie RunspaceAvailability).