Share via


about_Remote_Disconnected_Sessions

Kısa açıklama

Bir PowerShell Oturumu'na (PSSession) bağlantıyı kesmeyi ve yeniden bağlanmayı açıklar.

Uzun açıklama

PowerShell 3.0'dan başlayarak, PSSession bağlantısını kesebilir ve PSSession'a aynı bilgisayardan veya farklı bir bilgisayardan yeniden bağlanabilirsiniz. Oturum durumu korunur ve oturum bağlantısı kesildiğinde PSSession'daki komutlar çalışmaya devam eder.

Bağlantısı Kesilmiş Oturumlar özelliği, PSSession'un oluşturulduğu oturumu kapatmanıza ve uzak PSSession'da çalışan komutları kesintiye uğratmadan bilgisayarı kapatmanıza olanak tanır. Bağlantısı kesilmiş oturumlar, tamamlanması uzun süren komutları çalıştırmak için kullanışlıdır.

cmdlet'ini kullanmaya başlayan etkileşimli oturum bağlantısını Enter-PSSession kesemezsiniz.

Bilgisayar veya ağ kesintisi nedeniyle yanlışlıkla bağlantısı kesilen PSSessions'ı yönetmek için bağlantısı kesilmiş oturumları kullanabilirsiniz.

Bağlantısı kesilmiş oturum cmdlet'leri

Aşağıdaki cmdlet'ler Bağlantısı Kesilmiş Oturumlar özelliğini destekler:

  • Connect-PSSession: bağlantısı kesilmiş bir PSSession'a Bağlan.
  • Disconnect-PSSession: PSSession bağlantısını keser.
  • Get-PSSession: Yerel bilgisayarda veya uzak bilgisayarlarda PSSessions alır.
  • Receive-PSSession: Bağlantısız oturumlarda çalıştırılan komutların sonuçlarını alır.
  • Invoke-Command: InDisconnectedSession parametresi bir PSSession oluşturur ve bağlantıyı hemen keser.

Bağlantısı Kesilmiş Oturumlar özelliği nasıl çalışır?

PowerShell 3.0 sürümünden itibaren PSSessions, oluşturuldukları oturumlardan bağımsızdır. İstemci tarafı bilgisayar kapatılmış veya ağ bağlantısı kesilmiş olsa bile, etkin PSSessions bağlantının uzak bilgisayarda veya sunucu tarafında tutulur.

PowerShell 2.0'da PSSession, kaynak oturumla bağlantısı kesildiğinde veya oluşturulduğu oturum sona erdiğinde uzak bilgisayardan silinir.

PsSession bağlantısını kestiğiniz zaman, PSSession etkin kalır ve uzak bilgisayarda korunur. Oturum durumu Çalışıyor durumundan Bağlantısı Kesildi olarak değişir. Bağlantısı kesilmiş bir PSSession'a

  • Aynı bilgisayardaki geçerli oturum
  • Aynı bilgisayarda farklı bir oturum
  • Farklı bir bilgisayardaki oturumdan

Oturumu koruyan uzak bilgisayar çalışıyor olmalı ve ağa bağlı olmalıdır.

Bağlantısı kesilmiş bir PSSession'daki komutlar, komut tamamlanana veya çıkış arabelleği dolana kadar uzak bilgisayarda kesintisiz çalışmaya devam eder. Tam çıkış arabelleğinin bir komutu askıya almasını önlemek için , New-PSSessionOptionveya New-PSTransportOption cmdlet'lerinin Disconnect-PSSessionOutputBufferingMode parametresini kullanın.

Bağlantısı kesilmiş oturumlar uzak bilgisayardaki bağlantısız durumda tutulur. PsSession'ı silene kadar ,örneğin cmdlet'ini kullanarak Remove-PSSession veya PSSession boşta kalma zaman aşımı süresi dolana kadar yeniden bağlanabilirsiniz. , veya cmdlet'lerinin IdleTimeoutSec veya IdleTimeout parametrelerini kullanarak PSSession'ın boşta kalma zaman aşımını New-PSSessionOptionDisconnect-PSSessionayarlayabilirsiniz.New-PSTransportOption

Başka bir kullanıcı, oluşturduğunuz PSSessions'a bağlanabilir, ancak yalnızca oturumu oluşturmak için kullanılan kimlik bilgilerini sağlayabilir veya oturum yapılandırmasının RunAs kimlik bilgilerini kullanabilir.

PSSessions'ı alma

PowerShell 3.0'dan Get-PSSession başlayarak, cmdlet yerel bilgisayarda ve uzak bilgisayarlarda PSSessions alır. Geçerli oturumda oluşturulan PSSessions'ı da alabilir.

PsSessions'ı yerel bilgisayarda veya uzak bilgisayarlarda almak için ComputerName veya Bağlan ionUri parametrelerini kullanın. Parametreler olmadan, Get-PSSession sonlandırılmalarından bağımsız olarak yerel oturumda oluşturulan PSSession'ı alır.

Aşağıdaki örnekte nasıl kullanılacağı Get-PSSessiongösterilmektedir.

New-PSSession Server01 bilgisayarına bir oturum oluşturur. Oturum Server01 bilgisayarında bulunur.

New-PSSession -ComputerName Server01
Id Name      ComputerName  State    ConfigurationName     Availability
-- ----      ------------  -----    -----------------     ------------
 2 Session2  Server01      Opened   Microsoft.PowerShell     Available

Oturumu Server01'den almak için ComputerName parametresini kullanarak hedefini Get-PSSessionbelirtin.

Get-PSSession -ComputerName Server01
Id Name      ComputerName  State    ConfigurationName     Availability
-- ----      ------------  -----    -----------------     ------------
 2 Session2  Server01      Opened   Microsoft.PowerShell     Available

ComputerName parametresinin Get-PSSession değeri localhost ise, Get-PSSession konumunda sonlandırılan ve yerel bilgisayarda tutulan PSSessions alır. Yerel bilgisayarda başlatılmış olsalar bile Server01 bilgisayarında PSSessions'ı almaz.

Get-PSSession -ComputerName localhost

Geçerli oturumda oluşturulan oturumları almak için cmdlet'ini Get-PSSession parametresiz kullanın. Bu örnekte, Get-PSSession geçerli oturumda oluşturulan PSSession'u alır ve Server01 bilgisayarına bağlanır.

Get-PSSession
Id Name      ComputerName  State    ConfigurationName     Availability
-- ----      ------------  -----    -----------------     ------------
 2 Session2  Server01      Opened   Microsoft.PowerShell     Available

Oturumların bağlantısını kesme

Oturumun Disconnect-PSSession bağlantısını kesmek için cmdlet'ini kullanın. PSSession'ı tanımlamak için Session parametresini kullanın veya veya cmdlet'lerinden New-PSSessionGet-PSSession bir PSSession nesnesini öğesine yöneltinDisconnect-PSSession.

Aşağıdaki komut, PSSession ile Server01 bilgisayarının bağlantısını keser. State özelliğinin değerinin Bağlantısı Kesik ve Kullanılabilirlik değerinin Yok olduğuna dikkat edin.

Get-PSSession -ComputerName Server01 | Disconnect-PSSession
Id Name      ComputerName  State         ConfigurationName     Availability
-- ----      ------------  -----         -----------------     ------------
 2 Session2  Server01      Disconnected  Microsoft.PowerShell          None

Bağlantısı kesilmiş bir oturum oluşturmak için cmdlet'in InDisconnectedSession parametresini Invoke-Command kullanın. Bir oturum oluşturur, komutu başlatır ve komutun herhangi bir çıkış döndürebilmesi için bağlantıyı hemen keser.

Aşağıdaki komut, Server02 uzak bilgisayarındaki bağlantısı kesilmiş bir oturumda bir Get-WinEvent komut çalıştırır.

Invoke-Command -ComputerName Server02 -InDisconnectedSession -ScriptBlock {
   Get-WinEvent -LogName "*PowerShell*" }
Id Name      ComputerName  State         ConfigurationName     Availability
-- ----      ------------  -----         -----------------     ------------
 4 Session3  Server02      Disconnected  Microsoft.PowerShell          None

Bağlantısı kesilmiş oturumlara bağlanma

Bağlantısı kesilmiş bir oturumu bağlamak için cmdlet'ini Connect-PSSession ComputerName veya Bağlan ionUri parametreleriyle kullanın. Alternatif olarak, çıkışını Get-PSSession öğesine Connect-PSSessionyöneltebilirsiniz.

Aşağıdaki örnek, Server02 bilgisayarındaki oturumları alır. Çıkış, bağlantısı kesilmiş iki oturum içerir.

Get-PSSession -ComputerName Server02
Id Name      ComputerName   State         ConfigurationName     Availability
-- ----      ------------   -----         -----------------     ------------
 2 Session2  juneb-srv8320  Disconnected  Microsoft.PowerShell          None
 4 Session3  juneb-srv8320  Disconnected  Microsoft.PowerShell          None

Aşağıdaki komut Session2'ye bağlanır. PSSession artık açık ve kullanılabilir.

Connect-PSSession -ComputerName Server02 -Name Session2
Id Name      ComputerName    State    ConfigurationName     Availability
-- ----      ------------    -----    -----------------     ------------
 2 Session2  juneb-srv8320   Opened   Microsoft.PowerShell     Available

Sonuçları alma

Bağlantısı kesilmiş bir PSSession'da çalıştırılan komutların sonuçlarını almak için cmdlet'ini Receive-PSSession kullanın.

cmdlet'ini Connect-PSSession kullanmak yerine kullanabilirsinizReceive-PSSession. Oturum zaten yeniden bağlandıysa, Receive-PSSession oturumun bağlantısı kesildiğinde çalıştırılan komutların sonuçlarını alır. PSSession bağlantısı hala kesikse ona Receive-PSSession bağlanır ve bağlantısı kesildiği sırada çalıştırılan komutların sonuçlarını alır.

Receive-PSSession sonuçları bir işte (zaman uyumsuz olarak) veya konak programına (zaman uyumlu olarak) döndürebilir. İş veya Konak'ı seçmek için OutTarget parametresini kullanın. Varsayılan değer Konak'tır. Ancak, alınan komut geçerli oturumda İş olarak başlatıldıysa, varsayılan olarak İş olarak döndürülür.

Aşağıdaki örnek, Server02'de oturuma yeniden bağlanmak ve komutun sonuçlarını almak için cmdlet'ini Get-WinEvent kullanırReceive-PSSession. OutTarget parametresi, bir İş'teki sonuçları almak için kullanılır.

Receive-PSSession -ComputerName Server02 -Name Session3 -OutTarget Job
Id   Name   PSJobTypeName   State         HasMoreData     Location
--   ----   -------------   -----         -----------     --------
 3   Job3   RemoteJob       Running       True            Server02

İşin sonuçlarını almak için cmdlet'ini Receive-Job kullanın.

Get-Job | Receive-Job -Keep
ProviderName: PowerShell

TimeCreated             Id LevelDisplayName Message     PSComputerName
-----------             -- ---------------- -------     --------------
5/14/2012 7:26:04 PM   400 Information      Engine stat Server02
5/14/2012 7:26:03 PM   600 Information      Provider "W Server02
5/14/2012 7:26:03 PM   600 Information      Provider "C Server02
5/14/2012 7:26:03 PM   600 Information      Provider "V Server02

Durum ve Kullanılabilirlik özellikleri

Bağlantısı kesilmiş bir PSSession'un Durum ve Kullanılabilirlik özellikleri, oturuma yeniden bağlanıp bağlanamayacağınızı belirtir.

Bir PSSession geçerli oturuma bağlandığında, durumu Açık ve kullanılabilirliği Kullanılabilir durumdadır. PSSession bağlantısını kestiğiniz zaman, PSSession durumu Bağlantısı Kesildi ve kullanılabilirliği Yok şeklindedir.

State özelliğinin değeri geçerli oturuma göredir. Bağlantısı Kesildi değeri, PSSession'un geçerli oturuma bağlı olmadığı anlamına gelir. Ancak bu, PSSession'un tüm oturumlarla bağlantısının kesildiğini göstermez. Farklı bir oturuma bağlı olabilir.

PSSession'a bağlanıp bağlanamayacağınızı veya yeniden bağlanabileceğinizi belirlemek için Kullanılabilirlik özelliğini kullanın. Yok değeri oturuma bağlanabileceğinizi gösterir. Meşgul değeri, başka bir oturuma bağlı olduğundan PSSession'a bağlanamadığınızı gösterir.

Aşağıdaki örnek, aynı bilgisayarda iki PowerShell oturumunda çalıştırılır. PSSession bağlantısı kesildiğinden ve yeniden bağlandığından, her oturumda Durum ve Kullanılabilirlik özelliklerinin değişen değerlerini not edin.

# Session 1
New-PSSession -ComputerName Server30 -Name Test
Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
1  Test   Server30        Opened        Microsoft.PowerShell     Available
# Session 2
Get-PSSession -ComputerName Server30 -Name Test
Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
1 Test    Server30        Disconnected  Microsoft.PowerShell          Busy
# Session 1
Get-PSSession -ComputerName Server30 -Name Test | Disconnect-PSSession
Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
1 Test    Server30        Disconnected  Microsoft.PowerShell          None
# Session 2
Get-PSSession -ComputerName Server30
Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
1 Test    Server30        Disconnected  Microsoft.PowerShell          None
# Session 2
Connect-PSSession -ComputerName Server30 -Name Test
Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
3 Test    Server30        Opened        Microsoft.PowerShell     Available
# Session 1
Get-PSSession -ComputerName Server30
Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
1 Test    Server30        Disconnected  Microsoft.PowerShell          Busy

Bağlantı kesilen oturumlar, cmdlet'ini kullanarak veya zaman aşımına Remove-PSSession uğradıklarında, siz silene kadar uzak bilgisayarda korunur. PsSession'un IdleTimeout özelliği, bağlantısı kesilmiş bir oturumun silinmeden önce ne kadar süre tutuldığını belirler.

Boşta kalma zaman aşımı değerleri

Sinyal iş parçacığı yanıt almadığında PSSessions boşta olur. Oturumun bağlantısının kesilmesi, komutların bağlantısı kesilmiş oturumda çalışmaya devam ediyor olsa bile oturumun boşta olmasını sağlar ve IdleTimeout saatini başlatır. PowerShell bağlantısı kesilmiş oturumları etkin ancak boşta olarak kabul eder.

Oturum oluştururken ve bağlantısını keserken, PSSession'daki boşta kalma zaman aşımının oturumunuzu ihtiyaçlarınıza göre sürdürecek kadar uzun olduğunu, ancak uzak bilgisayarda gereksiz kaynakları tüketecek kadar uzun olmadığını doğrulayın.

Oturum yapılandırmasının IdleTimeoutMs özelliği, oturum yapılandırmasını kullanan oturumların varsayılan boşta kalma zaman aşımını belirler. Varsayılan değeri geçersiz kılabilirsiniz, ancak bu değer oturum yapılandırmasının MaxIdleTimeoutMs özelliğini aşamaz.

Oturum yapılandırması için IdleTimeoutMs ve MaxIdleTimeoutMs değerlerini almak için aşağıdaki komutu kullanın.

Get-PSSessionConfiguration |
  Format-Table Name, IdleTimeoutMs, MaxIdleTimeoutMs

Uzak bilgisayardaki Yönetici istrators grubunun üyesiyseniz, bir oturum yapılandırması oluştururken bu değerleri ayarlayabilirsiniz. Ayrıca, bağlantıyı kestiğiniz zaman değerleri değiştirebilirsiniz.

Oturum yapılandırmalarının ve oturum seçeneklerinin boşta kalma zaman aşımı değeri milisaniye cinsindendir. Oturumların ve oturum yapılandırma seçeneklerinin boşta kalma zaman aşımı değeri saniyeler içindedir.

PSSession'u (New-PSSession, Invoke-Command) oluştururken ve bağlantısını kestiğiniz zaman (Disconnect-PSSession) PSSession'un boşta kalma zaman aşımını ayarlayabilirsiniz. Ancak, PSSession'a (Connect-PSSession) bağlandığınızda veya sonuç (Receive-PSSession) aldığınızda IdleTimeout değerini değiştiremezsiniz.

ve Receive-PSSession cmdlet'leriConnect-PSSession, cmdlet'i tarafından döndürülen bir nesne gibi PSSessionOption nesnesi alan bir SessionOption parametresine New-PSSessionOption sahiptir.

SessionOption nesnesindeki IdleTimeout değeri ve tercih değişkenindeki $PSSessionOption IdleTimeout değeri, veya Connect-PSSessionReceive-PSSession komutundaki IdleTimeout değerini değiştirmez.

Belirli bir boşta kalma zaman aşımı değeriyle pssession oluşturmak için bir $PSSessionOption tercih değişkeni oluşturun. IdleTimeout özelliğinin değerini istenen değere ayarlayın (milisaniye cinsinden).

PSSessions oluşturduğunuzda, değişkendeki $PSSessionOption değerler oturum yapılandırmasındaki değerlerden önceliklidir.

Örneğin, aşağıdaki komut 48 saatlik boşta kalma zaman aşımını ayarlar:

$PSSessionOption = New-PSSessionOption -IdleTimeoutMSec 172800000

Belirli bir boşta kalma zaman aşımı değeriyle PSSession oluşturmak için cmdlet'in New-PSSessionOption IdleTimeoutMSec parametresini kullanın. Ardından, veya Invoke-Command cmdlet'lerinin SessionOption parametresinin değerinde oturum New-PSSession seçeneğini kullanın.

Oturumu oluştururken ayarlanan değerler tercih değişkeninde ve oturum yapılandırmasında $PSSessionOption ayarlanan değerlerden önceliklidir.

Örneğin:

$o = New-PSSessionOption -IdleTimeoutMSec 172800000
New-PSSession -SessionOption $o

Bağlantıyı keserken PSSession'ın boşta kalma zaman aşımını değiştirmek için cmdlet'in Disconnect-PSSession IdleTimeoutSec parametresini kullanın.

Örneğin:

Disconnect-PSSession -IdleTimeoutSec 172800

Belirli bir boşta kalma zaman aşımı ve en fazla boşta kalma zaman aşımı ile oturum yapılandırması oluşturmak için cmdlet'in IdleTimeoutSec ve MaxIdleTimeoutSec parametrelerini kullanın.New-PSTransportOption Ardından, öğesinin TransportOption parametresinin Register-PSSessionConfigurationdeğerindeki aktarım seçeneğini kullanın.

Örneğin:

$o = New-PSTransportOption -IdleTimeoutSec 172800 -MaxIdleTimeoutSec 259200
Register-PSSessionConfiguration -Name Test -TransportOption $o

Oturum yapılandırmasının varsayılan boşta kalma zaman aşımını ve en fazla boşta kalma zaman aşımını değiştirmek için cmdlet'in IdleTimeoutSec ve MaxIdleTimeoutSec parametrelerini kullanın.New-PSTransportOption Ardından, öğesinin TransportOption parametresinin Set-PSSessionConfigurationdeğerindeki aktarım seçeneğini kullanın.

Örneğin:

$o = New-PSTransportOption -IdleTimeoutSec 172800 -MaxIdleTimeoutSec 259200
Set-PSSessionConfiguration -Name Test -TransportOption $o

Çıkış arabelleği oluşturma modu

PSSession'un çıkış arabelleğe alma modu, PSSession'un çıkış arabelleği dolduğunda komut çıkışının nasıl yönetileceğini belirler.

Bağlantısı kesilmiş bir oturumda çıkış arabelleği modu, oturumun bağlantısı kesildiğinde komutun çalışmaya devam edip etmeyeceğini etkili bir şekilde belirler.

Geçerli değerler aşağıdaki gibi:

  • Block (varsayılan) - Çıkış arabelleği dolduğunda, arabellek temizlenene kadar yürütme askıya alınır. Block verileri korur, ancak komutu kesintiye uğratabilir.
  • Drop - Çıkış arabelleği dolduğunda yürütme devam eder. Yeni çıkış oluşturulurken en eski çıkış atılır. değerini kullanırken Drop çıkışı bir dosyaya yeniden yönlendirin. Bu değer bağlantısız oturumlar için önerilir.

Oturum yapılandırmasının OutputBufferingMode özelliği, oturum yapılandırmasını kullanan oturumların varsayılan arabelleğe alma modunu belirler.

Oturum yapılandırmasının OutputBufferingMode değerini bulmak için aşağıdaki komut biçimlerinden birini kullanabilirsiniz:

(Get-PSSessionConfiguration <ConfigurationName>).OutputBufferingMode
Get-PSSessionConfiguration | Format-Table Name, OutputBufferingMode

Oturum yapılandırmasında varsayılan değeri geçersiz kılabilir ve PSSession oluştururken, bağlantıyı kestiğinizde ve yeniden bağlandığınızda PSSession'un çıkış arabelleğe alma modunu ayarlayabilirsiniz.

Uzak bilgisayardaki Yönetici istrators grubunun üyesiyseniz oturum yapılandırmalarının çıkış arabelleğe alma modunu oluşturabilir ve değiştirebilirsiniz.

çıkış arabelleğe alma moduyla Dropbir PSSession oluşturmak için OutputBufferingMode özelliğinin değerinin olduğu Dropbir $PSSessionOption tercih değişkeni oluşturun.

PSSessions oluşturduğunuzda, değişkendeki $PSSessionOption değerler oturum yapılandırmasındaki değerlerden önceliklidir.

Örneğin:

$PSSessionOption = New-PSSessionOption -OutputBufferingMode Drop

değerine sahip bir oturum seçeneği oluşturmak için cmdlet'in New-PSSessionOption OutputBufferingMode parametresini Dropkullanın. Ardından veya Invoke-Command cmdlet'lerinin SessionOption parametresinin New-PSSession değeri olarak PSSessionOption nesnesini kullanın.

Oturumu oluştururken ayarlanan değerler tercih değişkeninde ve oturum yapılandırmasında $PSSessionOption ayarlanan değerlerden önceliklidir.

Örneğin:

$o = New-PSSessionOption -OutputBufferingMode Drop
New-PSSession -SessionOption $o

Bağlantıyı keserken pssession çıkış arabelleği modunu değiştirmek için cmdlet'in Disconnect-PSSession OutputBufferingMode parametresini kullanın.

Örneğin:

Disconnect-PSSession -OutputBufferingMode Drop

Yeniden bağlanırken pssession çıkış arabelleği modunu değiştirmek için cmdlet'in OutputBufferingMode parametresini New-PSSessionOption kullanın. Ardından, veya Receive-PSSessionöğesinin SessionOption parametresinin Connect-PSSession değerindeki oturum seçeneğini kullanın.

Örneğin:

$o = New-PSSessionOption -OutputBufferingMode Drop
Connect-PSSession -ComputerName Server01 -Name Test -SessionOption $o

varsayılan çıkış arabelleğe alma moduyla Dropbir oturum yapılandırması oluşturmak için cmdlet'in New-PSTransportOption OutputBufferingMode parametresini kullanarak değerine Dropsahip bir aktarım seçeneği nesnesi oluşturun. Ardından, öğesinin TransportOption parametresinin Register-PSSessionConfigurationdeğerindeki aktarım seçeneğini kullanın.

Örneğin:

$o = New-PSTransportOption -OutputBufferingMode Drop
Register-PSSessionConfiguration -Name Test -TransportOption $o

Oturum yapılandırmasının varsayılan çıkış arabelleğe alma modunu değiştirmek için cmdlet'in New-PSTransportOption OutputBufferingMode parametresini kullanarak değerine Dropsahip bir aktarım seçeneği oluşturun. Ardından, öğesinin SessionOption parametresinin Set-PSSessionConfigurationdeğerindeki Aktarım seçeneğini kullanın.

Örneğin:

$o = New-PSTransportOption -OutputBufferingMode Drop
Set-PSSessionConfiguration -Name Test -TransportOption $o

Geri döngü oturumlarının bağlantısını kesme

Geri döngü oturumları veya yerel oturumlar, aynı bilgisayarda ortaya çıkan ve sonlandıran PSSessions'dır. Diğer PSSessions gibi, etkin geri döngü oturumları da bağlantının uzak ucundaki (yerel bilgisayar) bilgisayarda tutulur, böylece geri döngü oturumlarının bağlantısını kesebilir ve yeniden bağlanabilirsiniz.

Varsayılan olarak geri döngü oturumları, oturumda çalıştırılan komutların diğer bilgisayarlara erişmesine izin vermeyen bir ağ güvenlik belirteci ile oluşturulur. Yerel bilgisayardaki veya uzak bilgisayardaki herhangi bir oturumdan ağ güvenlik belirtecine sahip geri döngü oturumlarına yeniden bağlanabilirsiniz.

Ancak, , Enter-PSSessionveya Invoke-Command cmdlet'in New-PSSessionEnableNetworkAccess parametresini kullanırsanız, geri döngü oturumu etkileşimli bir güvenlik belirteci ile oluşturulur. Etkileşimli belirteç, geri döngü oturumunda çalışan komutların diğer bilgisayarlardan veri almasına olanak tanır.

Geri döngü oturumlarının bağlantısını etkileşimli belirteçlerle kesebilir ve sonra bunlara aynı oturumdan veya aynı bilgisayardaki farklı bir oturumdan yeniden bağlanabilirsiniz. Ancak, kötü amaçlı erişimi önlemek için, yalnızca oluşturuldukları bilgisayardan etkileşimli belirteçlerle geri döngü oturumlarına yeniden bağlanabilirsiniz.

Bağlantısız oturumlarda işler bekleniyor

Wait-Job Cmdlet, bir iş tamamlanana kadar bekler ve ardından komut istemine veya sonraki komuta döner. Varsayılan olarak, Wait-Job bir işin çalıştığı oturumun bağlantısı kesilirse döndürür. Cmdlet'i Wait-Job oturum yeniden bağlanana kadar beklemeye yönlendirmek için, Açık durumda Force parametresini kullanın. Daha fazla bilgi için bkz . Wait-Job.

Sağlam oturumlar ve kasıtsız bağlantı kesilmesi

PsSession bilgisayar hatası veya ağ kesintisi nedeniyle istemeden kesilebilir. PowerShell, PSSession'ı kurtarmaya çalışır, ancak başarı nedeni önem derecesine ve süresine bağlıdır.

İstenmeyen şekilde bağlantısı kesilen PSSession'un durumu Bozuk veya Kapalı olabilir, ancak Bağlantısı kesilmiş de olabilir. State değerinin Bağlantısı Kesildi ise, pssession'ı yönetmek için oturumun bağlantısı kasıtlı olarak kesildiğinde yaptığınız gibi aynı teknikleri kullanabilirsiniz. Örneğin, oturuma yeniden bağlanmak için cmdlet'ini Receive-PSSession ve oturumun bağlantısı kesildiği sırada çalıştırılan komutların sonuçlarını almak için cmdlet'ini kullanabilirsinizConnect-PSSession.

Komutlar PSSession'da çalışırken PSSession'un oluşturulduğu oturumu kapatırsanız (çıkış yaparsanız), PowerShell PSSession'ı uzak bilgisayardaki Bağlantısız durumda tutar. PSSession'un oluşturulduğu oturumu kapatırsanız (çıkış yaparsanız), ancak PSSession'da hiçbir komut çalışmazsa, PowerShell PSSession'un bakımını yapmaya çalışmaz.

Ayrıca bkz.