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-PSSessionOption
veya New-PSTransportOption
cmdlet'lerinin Disconnect-PSSession
OutputBufferingMode 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-PSSessionOption
Disconnect-PSSession
ayarlayabilirsiniz.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-PSSession
gö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-PSSession
belirtin.
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-PSSession
Get-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-PSSession
yö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-PSSession
Receive-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-PSSessionConfiguration
değ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-PSSessionConfiguration
değ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ırkenDrop
çı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 Drop
bir PSSession oluşturmak için OutputBufferingMode özelliğinin değerinin olduğu Drop
bir $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 Drop
kullanı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 Drop
bir oturum yapılandırması oluşturmak için cmdlet'in New-PSTransportOption
OutputBufferingMode parametresini kullanarak değerine Drop
sahip bir aktarım seçeneği nesnesi oluşturun. Ardından, öğesinin TransportOption parametresinin Register-PSSessionConfiguration
değ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 Drop
sahip bir aktarım seçeneği oluşturun. Ardından, öğesinin SessionOption parametresinin Set-PSSessionConfiguration
değ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-PSSession
veya Invoke-Command
cmdlet'in New-PSSession
EnableNetworkAccess 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.
PowerShell
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin