Udostępnij za pomocą


Disconnect-PSSession

Rozłącza się z sesją.

Składnia

Session (domyślnie)

Disconnect-PSSession
    [-Session] <PSSession[]>
    [-IdleTimeoutSec <Int32>]
    [-OutputBufferingMode <OutputBufferingMode>]
    [-ThrottleLimit <Int32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Name

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

InstanceId

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

Id

Disconnect-PSSession
    [-Id] <Int32[]>
    [-IdleTimeoutSec <Int32>]
    [-OutputBufferingMode <OutputBufferingMode>]
    [-ThrottleLimit <Int32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Opis

Polecenie Disconnect-PSSession cmdlet rozłącza sesję programu PowerShell ("PSSession"), taką jak sesja uruchomiona New-PSSession przy użyciu polecenia cmdlet, od bieżącej sesji. W związku z tym PSSession jest w stanie rozłączenia. Możesz połączyć się z odłączonym PSSession z bieżącej sesji lub z innej sesji na komputerze lokalnym lub innym komputerze.

Polecenie Disconnect-PSSession cmdlet rozłącza tylko otwarte PSSessions połączone z bieżącą sesją. Disconnect-PSSession nie można rozłączyć przerwanych lub zamkniętych sesji PSSessions ani interaktywnych sesji PSSessions uruchomionych przy użyciu Enter-PSSession polecenia cmdlet i nie można rozłączyć PSSessions połączonych z innymi sesjami.

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

Gdy program PSSession zostanie rozłączony, polecenia w programie PSSession będą nadal działać do momentu ich ukończenia, chyba że upłynie limit czasu PSSession lub polecenia w programie PSSession zostaną zablokowane 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łączonych sesji, zobacz about_Remote_Disconnected_Sessions.

Ten cmdlet został wprowadzony w programie Windows PowerShell 3.0.

Przykłady

Przykład 1 — rozłączanie sesji według nazwy

To polecenie odłącza UpdateSession PSSession na komputerze Server01 od bieżącej sesji. W poleceniu użyto parametru Name do zidentyfikowania elementu 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 Rozłączona, a Dostępność to Brak, co oznacza, że sesja nie jest zajęta i można ją ponownie połączyć.

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

To polecenie rozłącza program ITTask PSSession na komputerze Server12 z bieżącą sesją. Sesja ITTask została utworzona w bieżącej sesji i łączy się 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 w celu ustawienia trybu wyjściowego 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 New-PSSession polecenia cmdlet do utworzenia sesji ITTask na trzech komputerach zdalnych. Polecenie zapisuje sesje w zmiennej $s. Drugie polecenie używa parametru FilePath polecenia Invoke-Command cmdlet w celu uruchomienia skryptu 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. Kierownik nakazuje technikowi odłączenie się od sesji, aby mógł zbadać sprawę. Drugie polecenie używa Get-PSSession polecenia cmdlet w celu pobrania sesji ITTask na komputerze Srv1 i Disconnect-PSSession polecenia cmdlet w celu jej rozłączenia. To polecenie nie ma wpływu na sesje ITTask na innych komputerach.

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

Menedżer loguje się do swojego komputera domowego, łączy się z siecią firmową, uruchamia program Windows PowerShell i używa Get-PSSession polecenia cmdlet w celu pobrania sesji ITTask na komputerze Srv1. Używa poświadczeń technika do uzyskania dostępu 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 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                   : https://schemas.microsoft.com/powershell/microsoft.powershell
MaxConcurrentCommandsPerShell : 1000
UseSharedProcess              : false
ProcessIdleTimeoutSec         : 0
xmlns                         : https://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                           : https://schemas.microsoft.com/powershell/microsoft.powershell
SDKVersion                    : 2
Name                          : microsoft.powershell
XmlRenderingType              : text
Capability                    : {Shell}
RunAsPassword                 :
MaxProcessesPerShell          : 15
ParentResourceUri             : https://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                          : https://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 wynoszący 48 godzin (172800000 milisekund). Polecenie zapisuje obiekt opcji sesji w zmiennej $Timeout.

Drugie polecenie używa New-PSSession polecenia cmdlet do utworzenia sesji ITTask na komputerze Server01. Polecenie zapisuje 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 Invoke-Command polecenia cmdlet do uruchomienia Get-PSSessionConfiguration polecenia konfiguracji sesji Microsoft.PowerShell na komputerze Server01. Polecenie używa Format-List polecenia cmdlet w celu wyświetlenia 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, wynosi 43200000 milisekund (12 godzin).

Piąte polecenie pobiera wartości opcji sesji sesji w zmiennej $s. Wartości wielu opcji sesji są właściwościami właściwości ConnectionInfo właściwości Runspace sesji. Dane wyjściowe pokazują, że wartość właściwości IdleTimeout sesji wynosi 172800000 milisekund (48 godzin), co narusza limit przydziału MaxIdleTimeoutMs wynoszący 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 skrócić 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

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ązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów: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.

Właściwości parametru

Typ:

Int32[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

Id
Position:1
Obowiązkowe:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-IdleTimeoutSec

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

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

Rozłączone PSSessions są uznawane za bezczynne od momentu 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 72000000 milisekund (2 godziny).

Wartość tego parametru ma pierwszeństwo przed wartością właściwości IdleTimeout zmiennej preferencji $PSSessionOption i 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 to 12 godzin (43200000 milisekund).

Właściwości parametru

Typ:Int32
Domyślna wartość:60
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów: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.

Właściwości parametru

Typ:

Guid[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

InstanceId
Position:Named
Obowiązkowe:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Name

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

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

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:True
DontShow:False

Zestawy parametrów

Name
Position:Named
Obowiązkowe:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

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

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ść Blokuj zawiesza polecenie do momentu ponownego nawiązania połączenia z sesją. Wartość Drop umożliwia wykonanie polecenia, chociaż dane mogą zostać utracone. W przypadku korzystania z wartości Drop przekieruj dane wyjściowe polecenia do pliku na dysku.

Prawidłowe wartości to:

  • Blokuj: 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.
  • Brak: nie określono trybu buforowania danych wyjściowych. Wartość właściwości OutputBufferingMode konfiguracji sesji jest używana dla rozłączonej sesji.

Właściwości parametru

Typ:OutputBufferingMode
Domyślna wartość:Block
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Session

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

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

Właściwości parametru

Typ:

PSSession[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

Session
Position:1
Obowiązkowe:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów: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.

Właściwości parametru

Typ:Int32
Domyślna wartość:32
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe: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ązkowe: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

Sesję można potokować do Disconnect-PSSession.

Dane wyjściowe

PSSession

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

Uwagi

  • 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 sesji stan sesji jest Rozłączone, a dostępność jest Brak.

    Wartość właściwości State jest relatywna względem aktualnej sesji. W związku z tym wartość Rozłączone oznacza, że sesja PSSession nie jest połączona z bieżącą sesją. Nie oznacza to jednak, że sesja PSSession jest odłączona od wszystkich sesji. Może być połączony z inną sesją. Aby określić, czy moż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 usługą PSSession, ponieważ jest ona połączona 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.