Uzak Bağlantısı Kesilen Oturumlar hakkında
Kısa açıklama
PowerShell Oturumunun (PSSession) bağlantısının nasıl kesileceğini ve yeniden bağlanılacağını açıklar.
Uzun açıklama
PowerShell 3.0'dan başlayarak, bir PSSession bağlantısını kesebilir ve aynı bilgisayardan veya farklı bir bilgisayardan PSSession'a yeniden bağlanabilirsiniz. Oturum durumu korunur ve PSSession'daki komutlar, oturum bağlantısı kesildiğinde çalışmaya devam eder.
Bağlantısı Kesilen Oturumlar özelliği, PSSession'ın 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ı kesilen oturumlar, tamamlanması uzun süren komutları çalıştırmak için kullanışlıdır.
Enter-PSSession cmdlet'i kullanılarak başlatılan etkileşimli bir oturumun bağlantısını kesemezsiniz.
Bağlantısı kesilen oturumları, bilgisayar veya ağ kesintisi nedeniyle istemeden kesilen PSSession'ları yönetmek için kullanabilirsiniz.
Bağlantısı kesilmiş oturum cmdlet'leri
Aşağıdaki cmdlet'ler Bağlantısı Kesilen Oturumlar özelliğini destekler:
Connect-PSSession: Bağlantısı kesilmiş bir PSSession'a bağlanır.Disconnect-PSSession: Bir PSSession'ın bağlantısını keser.Get-PSSession: Yerel bilgisayardaki veya uzak bilgisayarlardaki PSSessions'ı alır.Receive-PSSession: Bağlantısı olmayan 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ı Kesilen Oturumlar özelliği nasıl çalışır?
PowerShell 3,0'dan itibaren PSSessions, oluşturuldukları oturumlardan bağımsızdır. Etkin PSSession'lar, istemci tarafındaki bilgisayar kapatılsa veya ağ bağlantısı kesilse bile uzak bilgisayarda veya bağlantının 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.
Bir PSSession'ın bağlantısını kestiğinizde PSSession etkin kalır ve uzaktaki bilgisayarda korunur. Oturum durumu Çalışıyor yerine Bağlantı Kesildi olarak değişir. Bağlantısı kesilmiş bir PSSession'a şuradan yeniden bağlanabilirsiniz:
- Aynı bilgisayardaki geçerli oturum
- Aynı bilgisayarda farklı bir oturum
- Farklı bir bilgisayardaki oturumdan
Oturumu sürdüren uzak bilgisayarın çalışıyor olması ve ağa bağlı olması gerekir.
Bağlantısı kesilen bir PSSession'daki komutlar, komut tamamlanana veya çıkış arabelleği dolana kadar uzak bilgisayarda kesintisiz olarak çalışmaya devam eder. Tam çıkış arabelleğinin bir komutu askıya almasını önlemek için Disconnect-PSSession, New-PSSessionOption veya 'in OutputBufferingMode parametresini kullanın. Yeni-PSTransportOption cmdlet'leri.
Bağlantısı kesilen oturumlar uzak bilgisayarda bağlantısı kesilmiş durumda tutulur. Remove-PSSession cmdlet'ini kullanarak PSSession'ı silene veya PSSession'ın boşta kalma zaman aşımı süresi dolana kadar yeniden bağlanmanız için kullanılabilirler. Bir PSSession'ın boşta kalma zaman aşımını, Disconnect-PSSession, New-PSSessionOption<'ın IdleTimeoutSec veya IdleTimeout parametrelerini kullanarak ayarlayabilirsiniz. /code> veya New-PSTransportOption cmdlet'leri.
Başka bir kullanıcı, yalnızca oturumu oluşturmak için kullanılan kimlik bilgilerini sağlayabilirse veya oturum yapılandırmasının Farklı Çalıştır kimlik bilgilerini kullanabilirse, oluşturduğunuz PSSessions'a bağlanabilir.
PSSessions'ı nasıl edinebilirim?
PowerShell 3.0'dan başlayarak, Get-PSSession cmdlet'i yerel bilgisayardaki ve uzak bilgisayarlardaki PSSessions'ı alır. Ayrıca geçerli oturumda oluşturulan PSSession'ları da alabilir.
Yerel bilgisayarda veya uzak bilgisayarlarda PSSessions almak için ComputerName veya ConnectionUri parametrelerini kullanın. Parametreler olmadan, Get-PSSession, nerede sonlandırıldıklarına bakılmaksızın yerel oturumda oluşturulan PSSession'ı alır.
Aşağıdaki örnek, Get-PSSession'un nasıl kullanılacağını gösterir.
New-PSSession, Server01 bilgisayarında 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 Sunucu01'den almak için Get-PSSession hedefini belirtmek üzere BilgisayarAdı parametresini kullanın.
Get-PSSession -ComputerName Server01
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
2 Session2 Server01 Opened Microsoft.PowerShell Available
Get-PSSession'un ComputerName parametresinin değeri localhost ise, Get-PSSession, yerel bilgisayarda sonlandırılan ve yerel bilgisayarda tutulan PSSessions'ı alır . Yerel bilgisayarda başlatılmış olsalar bile Server01 bilgisayarında PSSessions'ı alamaz.
Get-PSSession -ComputerName localhost
Geçerli oturumda oluşturulan oturumları almak için parametresiz Get-PSSession cmdlet'ini kullanın. Bu örnekte Get-PSSession, geçerli oturumda oluşturulan PSSession'ı 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ı nasıl kesilir?
Bir oturumun bağlantısını kesmek için Disconnect-PSSession cmdlet'ini kullanın. PSSession'ı tanımlamak için Session parametresini kullanın veya New-PSSession veya Get-PSSession cmdlet'lerinden bir PSSession nesnesini 'e yönlendirin Bağlantıyı Kes-PSSession.
Aşağıdaki komut PSSession'ın Server01 bilgisayarıyla olan bağlantısını keser. Durum özelliğinin değerinin Bağlantı Kesildi ve Kullanılabilirlik'in 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 Invoke-Command cmdlet'inin InDisconnectedSession parametresini kullanın. Bir oturum oluşturur, komutu başlatır ve komut herhangi bir çıktı döndürmeden önce bağlantıyı hemen keser.
Aşağıdaki komut, Server02 uzak bilgisayarındaki bağlantısı kesilmiş bir oturumda bir Get-WinEvent komutunu ç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ı kesilen oturumlara nasıl bağlanılır
Bağlantısı kesilmiş bir oturumu bağlamak için ComputerName veya ConnectionUri parametreleriyle Connect-PSSession cmdlet'ini kullanın. Alternatif olarak, Get-PSSession çıktısını Connect-PSSession'a aktarabilirsiniz.
Aşağıdaki örnekte Server02 bilgisayarındaki oturumlar alınmaktadır. Çıktı iki bağlantısız 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 durumdadır.
Connect-PSSession -ComputerName Server02 -Name Session2
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
2 Session2 juneb-srv8320 Opened Microsoft.PowerShell Available
Sonuçlar nasıl alınır?
Bağlantısı kesilmiş bir PSSession'da çalıştırılan komutların sonuçlarını almak için Receive-PSSession cmdlet'ini kullanın.
Connect-PSSession cmdlet'ini kullanmak yerine Receive-PSSession komutunu kullanabilirsiniz. Oturum zaten yeniden bağlıysa Receive-PSSession, oturumun bağlantısı kesildiğinde çalıştırılan komutların sonuçlarını alır. PSSession'ın bağlantısı hala kesikse, Receive-PSSession ona bağlanır ve ardından bağlantısı kesikken çalıştırılan komutların sonuçlarını alır.
Receive-PSSession bir işteki sonuçları (eşzamansız olarak) veya ana bilgisayar programına (eşzamanlı olarak) döndürebilir. İş veya Ana Bilgisayar'ı seçmek için OutTarget parametresini kullanın. Varsayılan değer Ana Bilgisayar'dır. Ancak, alınan komut geçerli oturumda bir İş olarak başlatıldıysa, varsayılan olarak bir İş olarak döndürülür.
Aşağıdaki örnek, Server02'deki oturuma yeniden bağlanmak ve Get-WinEvent komutunun sonuçlarını almak için Receive-PSSession cmdlet'ini kullanır. 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 Receive-Job cmdlet'ini 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'ın Durum ve Kullanılabilirlik özellikleri, oturumun yeniden bağlanmanız için uygun olup olmadığını size bildirir.
Bir PSSession mevcut oturuma bağlandığında durumu Açık ve kullanılabilirliği Kullanılabilir olur. PSSession bağlantısını kestiğinizde, PSSession durumu Bağlantı Kesildi olur ve kullanılabilirliği Yok olur.
Durum özelliğinin değeri geçerli oturuma göredir. Bağlantı Kesildi değeri, PSSession'ın mevcut oturuma bağlı olmadığı anlamına gelir. Ancak bu, PSSession'ın tüm oturumlarla bağlantısının kesildiği anlamına gelmez. Farklı bir oturuma bağlı olabilir.
PSSession'a bağlanıp bağlanamayacağınızı veya yeniden bağlanıp bağlanamayacağınızı 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'ın bağlantısı kesilip yeniden bağlandığında her oturumda Durum ve Kullanılabilirlik özelliklerinin değişen değerlerine dikkat 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ısı kesilen oturumlar, siz bunları Remove-PSSession cmdlet'ini kullanarak silene veya zaman aşımına uğrayana kadar uzak bilgisayarda korunur. Bir PSSession'ın IdleTimeout özelliği, bağlantısı kesilmiş bir oturumun silinmeden önce ne kadar süre muhafaza edileceğini belirler.
Boşta kalma zaman aşımı değerleri
Kalp atışı iş parçacığı yanıt almadığında PSSessions boşta kalır. Bir oturumun bağlantısının kesilmesi, oturumun boşta kalmasına neden olur ve bağlantısı kesilen oturumda komutlar hala çalışıyor olsa bile IdleTimeout saatini başlatır. PowerShell, bağlantısı kesilmiş oturumların etkin ancak boşta olduğunu kabul eder.
Oturum oluştururken ve bağlantıyı keserken, PSSession'daki boşta kalma zaman aşımının, oturumu ihtiyaçlarınız doğrultusunda sürdürmeye yetecek kadar uzun olduğunu, ancak uzak bilgisayardaki gereksiz kaynakları tüketmeyecek 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.
Bir oturum yapılandırmasına ilişkin IdleTimeoutMs ve MaxIdleTimeoutMs değerlerini almak için aşağıdaki komutu kullanın.
Get-PSSessionConfiguration |
Format-Table Name, IdleTimeoutMs, MaxIdleTimeoutMs
Uzak bilgisayardaki Administrators grubunun üyesiyseniz, bir oturum yapılandırması oluştururken bu değerleri ayarlayabilirsiniz. Ayrıca bağlantıyı kestiğinizde 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 saniye cinsindendir.
Bir PSSession'ın boşta kalma zaman aşımını, PSSession'ı oluşturduğunuzda (New-PSSession, Invoke-Command) ve bağlantısını kestiğinizde (Disconnect-PSSession) ayarlayabilirsiniz. ). Ancak PSSession'a bağlandığınızda (Connect-PSSession) veya sonuç alırken (Receive-PSSession) IdleTimeout değerini değiştiremezsiniz. .
Connect-PSSession ve Receive-PSSession cmdlet'leri, örneğin bir PSSessionOption nesnesini alan bir SessionOption parametresine sahiptir. New-PSSessionOption cmdlet'i tarafından döndürülür.
SessionOption nesnesindeki IdleTimeout değeri ve $PSSessionOption tercih değişkenindeki IdleTimeout değeri değeri değiştirmez Connect-PSSession veya Receive-PSSession komutundaki IdleTimeout'un.
Belirli bir boşta kalma zaman aşımı değerine sahip bir PSSession oluşturmak için bir $PSSessionOption tercih değişkeni oluşturun. IdleTimeout özelliğinin değerini istediğiniz değere (milisaniye cinsinden) ayarlayın.
PSSessions oluşturduğunuzda $PSSessionOption değişkenindeki değerler, oturum yapılandırmasındaki değerlere göre ö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ğerine sahip bir PSSession oluşturmak için New-PSSessionOption cmdlet'inin IdleTimeoutMSec parametresini kullanın. Ardından, New-PSSession veya Invoke-Command cmdlet'lerinin SessionOption parametresinin değerindeki oturum seçeneğini kullanın.
Oturumu oluştururken ayarlanan değerler, $PSSessionOption tercih değişkeninde ve oturum yapılandırmasında ayarlanan değerlere göre önceliklidir.
Örneğin:
$o = New-PSSessionOption -IdleTimeoutMSec 172800000
New-PSSession -SessionOption $o
Bağlantı kesilirken PSSession'ın boşta kalma zaman aşımını değiştirmek için Disconnect-PSSession cmdlet'inin IdleTimeoutSec parametresini kullanın.
Örneğin:
Disconnect-PSSession -IdleTimeoutSec 172800
Belirli bir boşta kalma zaman aşımı ve maksimum boşta kalma zaman aşımı ile bir oturum yapılandırması oluşturmak için New-PSTransportOption cmdlet'inin IdleTimeoutSec ve MaxIdleTimeoutSec parametrelerini kullanın. Ardından, Register-PSSessionConfiguration'un TransportOption parametresinin değerindeki taşıma seçeneğini kullanın.
Örneğin:
$o = New-PSTransportOption -IdleTimeoutSec 172800 -MaxIdleTimeoutSec 259200
Register-PSSessionConfiguration -Name Test -TransportOption $o
Bir oturum yapılandırmasının varsayılan boşta kalma zaman aşımını ve maksimum boşta kalma zaman aşımını değiştirmek için New-PSTransportOption cmdlet'inin IdleTimeoutSec ve MaxIdleTimeoutSec parametrelerini kullanın. Ardından, Set-PSSessionConfiguration'un TransportOption parametresinin değerindeki taşıma seçeneğini kullanın.
Örneğin:
$o = New-PSTransportOption -IdleTimeoutSec 172800 -MaxIdleTimeoutSec 259200
Set-PSSessionConfiguration -Name Test -TransportOption $o
Çıkış arabelleğe alma modu
Bir PSSession'ın çıkış arabelleğe alma modu, PSSession'ın çıkış arabelleği dolduğunda komut çıkışının nasıl yönetileceğini belirler.
Bağlantısı kesilmiş bir oturumda, çıkış arabelleğe alma 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 gibidir:
Engelle(varsayılan) - Çıkış arabelleği dolduğunda, arabellek temizlenene kadar yürütme askıya alınır.Engelleverileri korur ancak komutu kesintiye uğratabilir.Drop- Çıkış arabelleği dolduğunda yürütme devam eder. Yeni çıktı oluşturuldukça en eski çıktı atılır.Bırakdeğerini kullanırken çıktıyı bir dosyaya yönlendirin. Bu değer bağlantısı kesilen oturumlar için önerilir.
Oturum yapılandırmasının OutputBufferingMode özelliği, oturum yapılandırmasını kullanan oturumların varsayılan ara belleğe alma modunu belirler.
Bir 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ındaki varsayılan değeri geçersiz kılabilir ve bir PSSession oluşturduğunuzda, bağlantıyı kestiğinizde ve yeniden bağlandığınızda PSSession'ın çıktı ara belleğe alma modunu ayarlayabilirsiniz.
Uzak bilgisayardaki Administrators grubunun üyesiyseniz, oturum yapılandırmalarının çıktı arabelleğe alma modunu oluşturabilir ve değiştirebilirsiniz.
Drop çıktı arabelleğe alma moduna sahip bir PSSession oluşturmak için, OutputBufferingMode özelliğinin değerinin $PSSessionOption tercih değişkeni oluşturun. >Bırak.
PSSessions oluşturduğunuzda $PSSessionOption değişkenindeki değerler, oturum yapılandırmasındaki değerlere göre önceliklidir.
Örneğin:
$PSSessionOption = New-PSSessionOption -OutputBufferingMode Drop
Drop değerine sahip bir oturum seçeneği oluşturmak için New-PSSessionOption cmdlet'inin OutputBufferingMode parametresini kullanın. Ardından PSSessionOption nesnesini, New-PSSession veya Invoke-Command cmdlet'lerinin SessionOption parametresinin değeri olarak kullanın. .
Oturumu oluştururken ayarlanan değerler, $PSSessionOption tercih değişkeninde ve oturum yapılandırmasında ayarlanan değerlere göre önceliklidir.
Örneğin:
$o = New-PSSessionOption -OutputBufferingMode Drop
New-PSSession -SessionOption $o
Bağlantıyı keserken bir PSSession'ın çıktı arabelleğe alma modunu değiştirmek için Disconnect-PSSession cmdlet'inin OutputBufferingMode parametresini kullanın.
Örneğin:
Disconnect-PSSession -OutputBufferingMode Drop
Yeniden bağlanırken bir PSSession'ın çıkış arabelleğe alma modunu değiştirmek için New-PSSessionOption cmdlet'inin OutputBufferingMode parametresini kullanın. Ardından, Connect-PSSession veya Receive-PSSession'un SessionOption parametresinin 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 çıktı ara belleğe alma modu olan Drop ile bir oturum yapılandırması oluşturmak için, bir aktarım seçeneği oluşturmak üzere New-PSTransportOption cmdlet'inin OutputBufferingMode parametresini kullanın. Bırak değerine sahip nesne. Ardından, Register-PSSessionConfiguration'un TransportOption parametresinin değerindeki taşıma seçeneğini kullanın.
Örneğin:
$o = New-PSTransportOption -OutputBufferingMode Drop
Register-PSSessionConfiguration -Name Test -TransportOption $o
Bir oturum yapılandırmasının varsayılan çıktı arabelleğe alma modunu değiştirmek için New-PSTransportOption cmdlet'inin OutputBufferingMode parametresini kullanarak Drop< değerine sahip bir aktarım seçeneği oluşturun /kod>. Ardından, Set-PSSessionConfiguration'un SessionOption parametresinin 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 başlatılan ve sonlandırılan PSSession'lardır. Diğer PSSession'larda olduğu gibi, etkin geridöngü oturumları bağlantının uzak ucundaki bilgisayarda (yerel bilgisayar) tutulur, böylece geridöngü oturumlarının bağlantısını kesebilir ve geridöngü oturumlarına yeniden bağlanabilirsiniz.
Varsayılan olarak geridöngü oturumları, oturumda çalıştırılan komutların diğer bilgisayarlara erişmesine izin vermeyen bir ağ güvenlik belirteciyle oluşturulur. Yerel bilgisayardaki veya uzak bilgisayardaki herhangi bir oturumdan ağ güvenlik belirtecine sahip geridöngü oturumlarına yeniden bağlanabilirsiniz.
Ancak, New-PSSession, Enter-PSSession veya Invoke-Command'ın EnableNetworkAccess parametresini kullanırsanız cmdlet'te geridöngü oturumu etkileşimli bir güvenlik belirteciyle oluşturulur. Etkileşimli belirteç, geri döngü oturumunda çalışan komutların diğer bilgisayarlardan veri almasını sağlar.
Etkileşimli belirteçlerle geridöngü oturumlarının bağlantısını kesebilir ve ardından aynı oturumdan veya aynı bilgisayardaki farklı bir oturumdan bu oturumlara yeniden bağlanabilirsiniz. Ancak kötü niyetli erişimi önlemek için, etkileşimli belirteçlerle geridöngü oturumlarına yalnızca oluşturuldukları bilgisayardan yeniden bağlanabilirsiniz.
Bağlantısı kesilen oturumlarda işler bekleniyor
Wait-Job cmdlet'i bir iş tamamlanana kadar bekler ve ardından komut istemine veya sonraki komuta geri döner. Varsayılan olarak Wait-Job, bir işin çalıştığı oturumun bağlantısı kesilirse geri döner. Wait-Job cmdlet'ini oturum yeniden bağlanana kadar beklemeye yönlendirmek için Açık durumunda Force parametresini kullanın. Daha fazla bilgi için bkz. Bekleme İşi.
Sağlam oturumlar ve kasıtsız bağlantı kesilmesi
Bir bilgisayar arızası veya ağ kesintisi nedeniyle PSSession'ın bağlantısı istemeden kesilebilir. PowerShell, PSSession'ı kurtarmaya çalışır ancak başarısı, nedenin ciddiyetine ve süresine bağlıdır.
İstemeden bağlantısı kesilen bir PSSession'ın durumu Bozuk veya Kapalı olabilir, ancak aynı zamanda Bağlantısı Kesildi de olabilir. Durum'un değeri Bağlantı Kesildi ise, PSSession'ı yönetmek için oturumun bağlantısının kasıtlı olarak kesilmesi durumunda kullanacağınız tekniklerin aynısını kullanabilirsiniz. Örneğin, oturuma yeniden bağlanmak için Connect-PSSession cmdlet'ini ve oturum bağlantısı kesildiğinde çalıştırılan komutların sonuçlarını almak için Receive-PSSession cmdlet'ini kullanabilirsiniz.
PSSession'da komutlar çalışırken PSSession'ın oluşturulduğu oturumu kapatırsanız (çıkarsanız) PowerShell, PSSession'ı uzak bilgisayardaki Bağlantısı Kesildi durumunda tutar. Bir PSSession'ın oluşturulduğu oturumu kapatırsanız (çıkarsanız) ancak PSSession'da hiçbir komut çalışmıyorsa PowerShell, PSSession'ı korumaya çalışmaz.
Ayrıca bakınız
- about_Jobs
- about_Remote
- about_Remote_Variables
- about_PSSessions
- about_Session_Configurations
- Invoke-Command
- Connect-PSSession
- Bağlantıyı Kes-PSSession
- Get-PSSession
- Alma-PSSession