Uzak Masaüstü Oturumundan nasıl düzgün bir şekilde çıkılır? tsdiscon şimdi yerel kullanıcıyı öncelikli olarak kaydediyor


1

tsdisconUzak bir masaüstü bağlantısıyla bağlantıyı kesmek için bu komutu mutlu bir şekilde kullanıyordum . Bu satırla bir "bat-file" yaptım ve bu işleve bir kısayol atadım. Şimdi bu komutu Windows 10 makinelerde kullanmakta sorun yaşıyorum .

Eski kullanım

Bununla birlikte tsdiscon, iki durumda RDP bağlantısından memnuniyetle imza atabilirim:

  1. RDP oturumundayken, RDP oturumundan çıkacağım
  2. Yerel makinedeyken, RDP oturumu da sonlandırılacak. Ancak, yerel makineye hiçbir şey olmayacak

Şuanki problem

Son zamanlarda, belki de Windows 10 güncellemeleri nedeniyle, bu komutu uzak masaüstü oturumunda vermeniz yalnızca RDP oturumundan değil, yerel makineden de uzaklaşacaktır. Bu biraz can sıkıcı bir durum. Buna göre, tsdisconher iki durumda da emri verdiğimde :

  1. Eğer RDP oturumundaysam, sadece o uzak oturumdan değil yerel makineden de çıkacağım
  2. Yerel makinedeysem, iki makineden de imza atacağım.

Çözüm?

tsdisconSonlandırmak istediğim belirli oturum adını girebilir miyim ? Veya bu komutun hangi kapsamda yürürlüğe gireceğini öngören belirli bir parametre olmalı mı?

Şimdiye kadar aynı command ( tsdiscon) Windows 7 makinelerinde aynı şekilde çalışıyor . Uzak masaüstü oturumunu başlatmak için bir Windows 10 makinesi kullanmaya başladığımda buggy olur .

Yanıtlar:


0

Bu neredeyse 2 yıl önce sorduğum kendi sorularıma cevap verme girişimi. Hâlâ günlük RDP kullanıyorum ve bu tsdisconkomutu okumak için daha fazla zaman harcadım .

Daha kısa cevap

İlk önce, asıl soruya cevap vereyim. Belgelerine göre , tsdisconkomut, SessionNameve dahil olmak üzere çeşitli parametreleri alır SessionId. query sessionKomut isteminden komut verilmesi , bu iki alanı ortaya çıkarır.

PS C:\WINDOWS\system32> query session
 SESSIONNAME       USERNAME                 ID  STATE   TYPE        DEVICE
 services                                    0  Disc
>rdp-tcp#84        Your_Username             1  Active
 console                                     3  Conn
 rdp-tcp                                 65536  Listen

Bu yanıt yukarı yazmadan önce bir saat kadar, ben bir sorunu nereye tarafından şaşırtmamışımdır tsdisconkomutu: Söz konusu orijinal karışıklık ==> Belirli yanlış anlama anlamına tsdisconkomut zaman bu yerel bir yerel makineden çıkarılacak gerekiyordu değil Makine kişisel bir bilgisayardır. Bu yerel kişisel bilgisayarın tek kullanıcısı olduğumda bu daha doğrudur. Bahse girerim kullanım amacı tsdisconsunucu yöneticisinin insanları sunucularından kovmasıdır :)


Yine de, uzak RDP oturumlarından nasıl düzgün şekilde geri dönüleceğini tartışmanın zaman alacağını düşünüyorum. Şimdilik iki bölümden oluşan bir AutoHotKey yaklaşımı alıyorum: 1. RDP oturumundan geri dönmek için; ve ardından 2. yerel RDP'nin yerel oturumunu yerel makineden öldürmek için.

Daha iyi bir çıkış yolu

Bölüm 1: Uzak RDP oturumundan geri dönüş

Şimdilik, beni bir RDP oturumundan geri almak için aşağıdaki kısayolu tasarladım. Aynı betiği hem yerel makinede hem de uzak RDP bağlantılı makinede çalıştırırken, Ctrl+ CapsLock( Ctrlilk önce Capslock) düğmesine basmak , RDP oturumunu "gizleyecek" ve klavye odağı + fare odağını hemen hemen yerel makineye geri yükleyecektir.

; The following are AutoHotKey scripts.
#IfWinActive ahk_class TscShellContainerClass
    ^Capslock::
        Sleep 50
        WinMinimize
    return
#IfWinActive
; Make-shift script as suggested by: https://autohotkey.com/boards/viewtopic.php?t=25432
; May solve the awkward loss-of-focus when returning back from RDP
^Capslock::
    WinGetClass activeclass, A
    WinGetTitle activetitle, A
    MsgBox, 48, Warning, %activetitle% ahk_class %activeclass%, 0.666666
return

RDP oturumunu "öldürmek" için basit bir çözüm

As Ctrl+ CapsLockkısayol kez% 99 çalışma olmalıdır, o zaman olduğu gibi işini kolaylaştıracak: Varolan RDP oturumu öldürmek . Yine, AutoHotKey kullanışlıdır, çünkü çalışan farklı makinelerde birden fazla RDP oturumu olabilir ve bunlardan sadece birini öldürmem gerekir.

#+y:: 
    WinClose, <Session 1: name_of_the_saved_RDP_config_file> - Remote Desktop Connection
    WinClose, <Session 2: name_of_the_saved_RDP_config_file> - Remote Desktop Connection
return

<Session 1...>AHK betiğinin bölümünü dikkatlice ikame etmek gerekir . Etkin olduğunda RDP oturumunun Pencere Başlığı ile eşleşmesi gerekir. Genelde aşağıdaki prosedürleri kullanarak aradım: 1. Bir Pencerede bir RDP oturumu açın, yani tüm aktif monitörleri yaymadan 2. Bir "pencere" için tüm tanımlayıcıları gösteren bir AHK yardımcı programı olan "Windows Spy" 'ı açın: tanımlayıcıların tam kümesi Pencere Başlığı, işlem_adı ve win_class_name içerir.


Not: Haftalık ev (-kodu) iyileştirme oturumu sırasında , tsdisconsorunu tekrar çözmek için yola çıktım . Çok benzer sorgu terimleriyle, bu eski soruyu yeniden keşfettiğim için mutluyum. Belgeleri biraz daha dikkatlice okuduğumda, benim tüm kullanımları için tek bir komutta bahse girmemem gerektiği açıkça ortaya çıktı. Böylece bu uzun soluklu cevap gel. Umarım RDP ile oynayan insanlara çok yardımcı olabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.