Üretim ortamında terminal sunucusu kullanıcısı oturumu kapatılamıyor, bağlantısı kesilemiyor veya sıfırlanamıyor


19

Bir 2008 Terminal Server'da bir kullanıcının oturumunun bağlantısını kesme, oturumu kapatma veya sıfırlama konusunda bazı fikirler arıyorum (tamamen kilitli olduğu için kullanıcı olarak oturum açamıyorum). Bu bir üretim ortamıdır, bu nedenle sunucuyu yeniden başlatmak veya sistem çapında bir şey yapmak şimdilik söz konusu değildir. Bu konuda bize yardımcı olacak Powershell hileleri var mı?

Bağlantıyı kesmeyi, oturumu kapatmayı ve oturumu sıfırlamayı ve oturumun işlemlerini de doğrudan aynı terminal sunucusundan (görev yöneticisi, Terminal Hizmetleri Yöneticisi ve Kaynak Monitörü'nden) sonuç vermeden öldürmeyi denedik.

Yardım!


GÜNCELLEME: Çalışabileceğimizi düşündüğümüz başka bir girişim olmadığı için sunucuyu yeniden başlattık. Birisi bu sorun hakkında daha fazla bilgi sahibi olabileceğini umarak bu soruyu açık bırakacağım ve bunun olası düzeltmeleri


2
Windows 2008 R2 SP1 Terminal sunucularımda da aynı sorun var. Sadece rastgele asılırlar ve kullanıcılar sunucuda oturum kapatamaz veya oturum açamaz. Yerel olarak yerel yönetici veya etki alanı yöneticisi olarak oturum açamıyorum. Sunucuya bağlanmanın tek yolu compmgmt.msc kullanmak ama burada bile olay günlüklerinde herhangi bir sorun göremiyorum. Bazı aşamalarda, IMA hizmetinin yanıt vermediğini ve sunucunun çiftlikten kaldırıldığını belirten bir ileti alıyorum. Bunu çözmenin tek yolu sunucuyu Sabit yeniden başlatmanızdır. Gücü kapatıp tekrar açın. Bunun nedenini hiçbir şeye



1
Bu sorunla karşılaşan herkes için potansiyel olarak faydalı bağlantılar
JohnLBevan

Yanıtlar:


7

Aynı sorunu çözmek için benim için çalışan, Kilitli hesap altında çalışan tüm işlemleri Görev Yöneticisi altından öldürmekti ve sonra o hesabı (Yönetici hesabından) kolayca kapatabiliyordum.

Kullanıcı daha sonra hesap altında tekrar oturum açabildi.

Yeniden başlatma gerekmez ve üçüncü taraf yazılımların indirilmesine gerek yoktur.


-Teşekkürler, beni sunucuyu yeniden başlatmamdan kurtardı! Gerçekten 1 sıkışmış oturum nedeniyle iş günü boyunca herkesi kovmak istemiyordu.
MAW74656

Bu süreçleri öldürmek güvenli midir? Benim kullanıcı vardır csrss.exe, dwm.exe, LoginUI.exe, ve winlogon.exe. winlogon.exe
Öldürmenin BSOD'yi

6

Sunucuyu yeniden başlatmaya gerek kalmadan hesabı nasıl sıfırladığımı paylaşmak istiyorum. Her şeyden önce sunucuya yönetici erişimine sahip olmanız gerekir. Aşağıdaki oturum açma seçeneğini kullanıyorum: mstsc / v: sunucuadı / console / adminSunucuya erişmek için . Ardından "Windows Taks Manager" da Kullanıcılar sekmesine gidin ve "Oturumu Kapat" istediğiniz hesabı sağ tıklatıp oturumu kapatın. Bu, söz konusu hesap tarafından kullanılan kilitli oturumu serbest bırakmalıdır.


1
dışında her zaman olmaz. Artı OP zaten bunu denediklerini söyledi.
BeowulfNode42

Bu sorun için, Görev Yöneticisi → Kullanıcılar'daki Oturumu Kapat düğmesi hiçbir şey yapmaz.
binki

5

Basit yanıt, yükseltilmiş bir komut istemi çalıştırmak ve "Taskmgr" yazmaktır ve daha sonra USERS sekmesi altındaki oturumları kapatmanıza izin verir. Yükseltilmiş oturumda olmadan çalışmaz.


Test edildi ve bu çözüm işe yaradı.
Olağanüstü Zeka

1
Benim için değil. Ayrıca, kullanıcının işlemlerinden herhangi birini öldürmek için taskmanager'i yönetici olarak kullanamazsınız.
BeowulfNode42

3

Bir cmd başlatabilir, bir sorgu oturumu yapabilir , öldürülecek oturumun kimliğini kontrol edebilir ve ardından bir sıfırlama oturumu yapabilirsiniz . Örneğin, sorgu oturumunda rdp-tcp # 1 oturum adının öldürmek istediğiniz oturum adı olduğunu görürseniz, rdp-tcp # 1 sıfırlama oturumu yürütebilir ve öldürülmesini sağlayabilirsiniz.


Teşekkürler, ama bu da yardımcı olmadı.
l0c0b0x

Bu reset session 9komutu çalıştırdığımda takılıyor. : My oturumunda dört süreçler aktif olan görünerek olmadan çalışan bulunmaya devam crss.exe, dwm.exe, LogonUI.exe, ve winlogon.exe. i.imgur.com/cFM62RA.png ve query session 9çıktılar No User exists for 9.
binki

3

Sanırım bugün de Win2008R2 Terminal Sunucumda oldu. Sympthoms vardı: 1. "Sonsuza kadar asılı" bağlantı "mesajı ile beni aradı. O sadece basit bir kullanıcı, bu yüzden ayrıntılı sorun açıklaması bekleyemem. 2. Oturumu kapatma / sıfırlama oturumunu denedim (genellikle bu durumlarda yardımcı olur) - çalışmadı. Oturum hala 'bağlantı kesildi' durumuyla listede duruyor. 3. Bu kullanıcı için tüm işlemleri öldürmeye çalıştı - yardımcı olmadı. Oturum devam eder ve öldürülmeyi reddeder.

Çözüm şuydu - kullanıcı olarak bağlanın (parolasını sıfırlayabilir veya bilgisayarında ne olduğunu görmek için bir tür uzaktan yardım kullanabilirseniz ve oturum açma penceresinde ne olduğunu görmek için kimlik bilgileriyle oturum açın). Bağlanırken RDP İstemcisinin 'ayrıntılar' düğmesine tıkladım - ve işte burada, winlogon'un yanlış bir şey yaptığını belirten bir hata mesajı, kullanıcının 'yeniden dene / yoksay / etc' düğmelerini tıklamasını ve neden olduğu her şeye gücü yeten winlogon'u beklemesini bekliyordu. bütün bu garip davranışlar.

ps Gerçekten bir oturum öldürmek zorlamak için bir yol bulamadım :(


Bu benim için düzeltildi! Kullanıcının başka bir kullanıcının bağlantısını kesmesini veya iptal etmeyi seçmesini bekliyordu. İptal'e tıkladım ve şimdi Görev Yöneticisi'nin Kullanıcılar sekmesinde takılı kalan Kullanıcı kayboldu. Teşekkürler!
binki

Sorun söz konusu olduğunda durumum şöyle görünüyordu: i.imgur.com/W6eO5wW.png i.imgur.com/EpPwyJc.png i.imgur.com/cFM62RA.png Ayrıca, Windows Server 2016 kullanıyorum
binki

3

Windows Server 2008 R2 Uzak Masaüstü sunucumuzla benzer bir sorun yaşadık. Kullanıcı oturumu RDS Manager'a bakarken "Etkin" gösterdi, ancak ilişkili oturum kimliği # veya bağlı cihaz gösterilmiyordu (her ikisi de boştu).

Yukarıdaki hilelerin tümü sorunu çözmedi. Söz konusu kullanıcı olarak bağlanırken, Terminal Sunucusunun meşgul olduğunu ve daha sonra tekrar denemek veya yöneticiye başvurmak için bir hata mesajı geri geldi.

Sunucuyu da yeniden başlattık.


2

Windows Server 2016'da da aynı sorunu yaşadım. Kullanıcı oturum açamadı.

Bu nedenle artık oturumun bağlantısını kesmek için aşağıdaki adımları denedim:

  1. CLI qwinsta , etkin olmayan ve etkin olan tüm oturumları listeler, kullanıcı adı olmadan ancak oturum kimliği olmayan bir bağlantısı kesilmiş oturum (ekran görüntüsünde "getr" olarak adlandırılır) vardır.

aktif oturumlar göster ve öldür

  1. oturum kimliği (7) 1 ile. Bu oturumu sıfırlama oturumu 7 ile öldürmeye çalıştım ( fyi : rwinsta sıfırlama oturumu için bir diğer addır )

  2. bir oturumda çalıştı, ancak bir dahaki sefere hiçbir etkisi olmadı, bu yüzden görev yöneticisini ve kullanıcı sekmesini açtım. Orada, her uzak masaüstü kullanıcısına atanmış bir genişletilebilir liste bulursunuz - bir listede kullanıcı adı yoktu ve sadece 4 görev çalıştığını gösterdi.

  3. Açık olanı denedim: Kullanıcı oturumunu kapatma. Herhangi bir etkisi olmadan.

kullanıcıyı kapatmaya çalışıyor

  1. Bu yüzden bu kullanıcıya atanan 4 görevi bitirmeye çalıştım. Dikkatli olun, çünkü bazı görevler, en önemlisi csrss.exe, öldürüldüğünde, sistemin yeniden başlatılmasına da neden olur. Onları atladım ve bazı belirgin RDP görevlerini öldürdüm.

Adım / Deneyin 4'ten sonra, son kilitlenen oturum bile öldürüldü ve kullanıcı tekrar giriş yapabildi

  1. Bu hala çalışmıyorsa, başka bir sorudan bu çözümü deneyin : RDP istemcisine bağlandığınızda "ayrıntılar" düğmesini tıklatın. Orada bir hata görmelisiniz ve hatta yeniden dene veya yoksay'ı tıklayabilirsiniz .

Hangi süreçleri öldürdüğünüz ve hangilerini öldürmediğiniz konusunda daha açık olabilir misiniz? Ben atlamak gerektiğini düşünüyorum winlogon.exeama böyle diğerleri hakkında emin değilim LoginUI.exe, csrss.exeve dwm.exe.
binki

İkinci seansın belirtileri benimkine benzerdi ve serverfault.com/a/176080/164429 . Daha eksiksiz bir çözüm denemek için bir adım olarak “Bağlan” ı ekleyebilir ve hatta süreçleri öldürmek zorunda kalabilirsiniz.
binki

@binki "csrss.exe" olmalıdır - bu işlemi öldürürseniz, sistem yeniden başlatılır.
nr

1

Kullanıcının, alt + sekmesi ile uzak masaüstü penceresinin arkasına gizlenmiş bir kimlik bilgileri pop-up kutusunun bulunmadığını kontrol etmeye değer olabilir.

Bir iş arkadaşı da aynı sorunu yaşıyordu; oturumu kapatamadı veya sıfırlayamadı ve tüm işlemleri manuel olarak kapatıldı. FROM'dan uzaklaştırdığı sistem için GUI'ye erişmeye çalıştığımda, uzak oturumun arkasına saklanan bir kimlik bilgileri kutusu buldum.


1

Aynı durum olurdu: Uzak Masaüstü Hizmetleri olan bir Windows Server 2008 R2, oturum 3 saat devre dışı bırakıldıktan veya bağlantısı kesildikten sonra kullanıcıları kapatmak için ayarlanmış RDP bağlantısı ve yine de bazı oturumlar kilitli kaldı. Onları hem Uzak Masaüstü Yöneticisi hem de qwinsta / quser ile başarılı bir şekilde kapatmaya çalıştım.

İşte nasıl çözdüm:

  1. İle oturum kimliğini buldum qwinsta.
  2. Ben winlogon.exeasılı oturumu için PID buldum query process /ID:yourid.
  3. Süreci öldürdüm taskkill /f /PID yourPID.

Gitme zamanı. Aksi halde bunun olmaması için bir çözüm bulmak istiyorum.


1

Benim için işe yarayan şuydu:

  • sunucuda oturum aç
  • görev yöneticisini aç
  • kullanıcı sekmesinde kullanıcıyı arayın
  • sağ tıklayın, bağlanın, kullanıcı şifresini girin, bir 'Lütfen bekleyin' ekranı gördüm
  • alt sunucuya basarsanız, sunucudan oturumu kapatır ve kullanıcıyı da kapatır

1

Kilitli Uzak Masaüstü Uygulaması kullanıcılarıyla bu sorunu yaşadım. Bu Powershell betiğini 2 dakikadan fazla bağlantısı kesilmiş olarak gösterilen kullanıcıları kapatmak için zamanlanmış bir görevde çalışacak şekilde yazdım. Gereken tek düzenleme , Uzak Masaüstü Aracısı Sunucusu'nu hariç tutmak için ayarladığım SERVERNAME , ancak istediğiniz herhangi bir sunucuyu hariç tutabilirsiniz veya hiçbirini hariç tutabilirsiniz.

Betiğim bu arada Windows Server 2012 R2 için yazılmış ...

Betik bunu yapar:

  • Tüm Uzak Masaüstü Kullanıcı Oturumlarının bir listesini alır.
  • "STATE_DISCONNECTED" demeyen oturumları yok sayar.
  • Aracı Sunucusunu (veya başka bir sunucuyu) yok sayar
  • Birleştirilmiş Oturum Kimliği olmayan oturumları yok sayar
  • Bağlantı kesme süresi olmayan oturumları yok sayar
  • Bağlantı kesme süresi olan oturumlar için geçerli saati kontrol eder ve şimdi ile bağlantı kesme süresi arasındaki zaman farkı X dakikadan uzunsa (bu durumda 2), winlogon işlemini öldürür.
  • Ayrıca bir oturumu kapatma komutu vermeye çalışır (Büyük olasılıkla winlogon işlemi öldürüldükten sonra başarısız olur).

Benim için çalışıyor! Umarım başka birine yardımcı olur! :)

CLS
$RD = Get-RDUserSession | select ServerName, UserName, SessionState, DisconnectTime, UnifiedSessionId, SessionId #Get details about the sessions
foreach ($item in $RD) {
    $UsessionID = $item.UnifiedSessionId -as [int] 
    $sessionID = $item.SessionId -as [int] 
    if ($item.SessionState -eq "STATE_DISCONNECTED" -and $item.ServerName -ne "SERVERNAME" -and $item.DisconnectTime -ne $null -and $item.UnifiedSessionId -ne $null){
        $TimeDiff = New-TimeSpan -start $item.DisconnectTime -end (Get-Date) #check time difference between disconnect time and now. If time is greater than 2 minutes....
        if ($TimeDiff.Minutes -gt 2) {
            #Kill winlogon session for the user
            Get-WmiObject -ComputerName $item.Servername -query "select * from win32_process where name='winlogon.exe'" | Where-Object {$_.SessionId -eq $SessionId} | %{$_.terminate()}
            #Log off user if session still exists (will fail if user kicked)
            Invoke-RDUserLogoff -HostServer $item.ServerName -UnifiedSessionID $UsessionID -Force -erroraction 'silentlycontinue'
            }
         }
      }

Veya ekranda ne olduğunu görebileceğiniz bir sürümü tercih ediyorsanız:

 CLS
    $RD = Get-RDUserSession | select ServerName, UserName, SessionState, DisconnectTime, UnifiedSessionId, SessionId
    foreach ($item in $RD) {
        $UsessionID = $item.UnifiedSessionId -as [int]
        $sessionID = $item.SessionId -as [int]
        if ($item.SessionState -eq "STATE_DISCONNECTED" -and $item.ServerName -ne "SERVERNAME" -and $item.DisconnectTime -ne $null -and $item.UnifiedSessionId -ne $null){
            #On Screen Output
            write-host " Name : " $Item.UserName -ForegroundColor "yellow" -NoNewline
            write-host " Unified Session Id : " $UsessionID -ForegroundColor "darkcyan" -NoNewline
            write-host " User Session Id : " $sessionID -ForegroundColor "darkyellow" -NoNewline
            write-host " Session State : " $item.SessionState -ForegroundColor "magenta" -NoNewline
            write-host " Server : " $item.ServerName -ForegroundColor "cyan" -NoNewline
            write-host " Disconnect Time : " $item.DisconnectTime -ForegroundColor "gray" 
            #End On Screen Output
            $TimeDiff = New-TimeSpan -start $item.DisconnectTime -end (Get-Date)
            if ($TimeDiff.Minutes -lt 2) {
                write-host " Disconnected for less than 2 minutes" -ForegroundColor "Green"}
            else {
                write-host " Disconnected for more than 2 minutes" -ForegroundColor "Red" -BackgroundColor "darkyellow"
                write-host " Killing session : " $item.ServerName " ID : " $UsessionID $item.UserName -ForegroundColor "Red"
                #Kill Process "Winlogon.exe" for the user (this should kill the session)
                Get-WmiObject -ComputerName $item.Servername -query "select * from win32_process where name='winlogon.exe'" | Where-Object {$_.SessionId -eq $SessionId} | %{$_.terminate()}
                #Logout User (if session still exists)
                Invoke-RDUserLogoff -HostServer $item.ServerName -UnifiedSessionID $UsessionID -Force -erroraction 'silentlycontinue'
                Write-host " Done! " -ForegroundColor "Green" -BackgroundColor "blue"
                }
             }
          }

1

Not defterinde bir dosya oluşturun ve bu dosyayı foundession.cmd olarak adlandırın. Query Session / server komutunu yerleştirin: sunucuadı | / i "% 1" dosyasını bulun ve bir dizine kaydedin. Resetsession.cmd adlı başka bir dosya oluşturun ve Oturumu Sıfırla% 1 / server:% 2 komutunu koyun ve kaydedin.

Bir komut isteminden bu dosyaları kaydettiğiniz dizine gidin ve findession kullanıcı adını (bulmaya çalıştığınız kullanıcının girişi) yazın. Enter tuşuna basın, oturum açma adı ve oturum kimliğini görmelisiniz. Resetsession.cmd ID Sunucuadı yazın, oturum sıfırlanır. Bunu günlük olarak kullanıyorum ve kullanıcıları bulmak ve oturumlarını sıfırlamak çok hızlı.


komutları vurgulamak ve okunabilirliği güçlendirmek için lütfen metin biçimlendirme seçeneklerini kullanın. Bu iyi bir cevap, ama lütfen düzenleyin.
Marco

Komutlar çok kısa olduğunda toplu iş dosyaları yazmanın bir anlamı yoktur ve yine de argümanlarını
iletmeniz

1
  1. İle oturum kimliğini bulun qwinsta.
  2. taskkill /FI "SESSION eq 1" /FQwinsta'dan döndürmek istediğiniz oturum kimliğinin 1 olduğu varsayılarak, oturum altındaki tüm işlemleri öldürün .

Bu Sunucu 2012 Sürüm 6.2 Build 9200 üzerinde çalıştı, ben tüm windows sürümü üzerinde çalışmasını beklenir.


1

Bu güçlü kabuk betiği benim için çalıştı, hatta güzel bir günlük dosyası bile veriyor. Buradan anladım . : Umarım bu başka birine yardımcı olur çünkü diğer cevapların çok fazla ön koşulu vardı ve benim için çalışmadı.

    # .SYNOPSIS
    #   Checks for disconnected sessions and logs off the disconnected user sessions.

    #.DESCRIPTION
    #   Checks for disconnected sessions and logs off the disconnected user sessions.

    #.NOTES
    #   File Name: Logoff-DisconnectedSession.ps1
    #   Author   : Bart Kuppens
    #   Version  : 1.1

    #.EXAMPLE
    #   PS > .\Logoff-DisconnectedSession.ps1


    function Ensure-LogFilePath([string]$LogFilePath)
    {
     if (!(Test-Path -Path $LogFilePath)) {New-Item $LogFilePath -ItemType directory >> $null}
    }

    function Write-Log([string]$message)
    {
       Out-File -InputObject $message -FilePath $LogFile -Append
    }

    function Get-Sessions
    {
       $queryResults = query session
       $starters = New-Object psobject -Property @{"SessionName" = 0; "UserName" = 0; "ID" = 0; "State" = 0; "Type" = 0; "Device" = 0;}
       foreach ($result in $queryResults)
       {
          try
          {
             if($result.trim().substring(0, $result.trim().indexof(" ")) -eq "SESSIONNAME")
             {
                $starters.UserName = $result.indexof("USERNAME");
                $starters.ID = $result.indexof("ID");
                $starters.State = $result.indexof("STATE");
                $starters.Type = $result.indexof("TYPE");
                $starters.Device = $result.indexof("DEVICE");
                continue;
             }

             New-Object psobject -Property @{
                "SessionName" = $result.trim().substring(0, $result.trim().indexof(" ")).trim(">");
                "Username" = $result.Substring($starters.Username, $result.IndexOf(" ", $starters.Username) - $starters.Username);
                "ID" = $result.Substring($result.IndexOf(" ", $starters.Username), $starters.ID - $result.IndexOf(" ", $starters.Username) + 2).trim();
                "State" = $result.Substring($starters.State, $result.IndexOf(" ", $starters.State)-$starters.State).trim();
                "Type" = $result.Substring($starters.Type, $starters.Device - $starters.Type).trim();
                "Device" = $result.Substring($starters.Device).trim()
             }
          } 
          catch 
          {
             $e = $_;
             Write-Log "ERROR: " + $e.PSMessageDetails
          }
       }
    }

    Ensure-LogFilePath($ENV:LOCALAPPDATA + "\DisconnectedSessions")
    $LogFile = $ENV:LOCALAPPDATA + "\DisconnectedSessions\" + "sessions_" + $([DateTime]::Now.ToString('yyyyMMdd')) + ".log"

    [string]$IncludeStates = '^(Disc)$'
    Write-Log -Message "Disconnected Sessions CleanUp"
    Write-Log -Message "============================="
    $DisconnectedSessions = Get-Sessions | ? {$_.State -match $IncludeStates -and $_.UserName -ne ""} | Select ID, UserName
    Write-Log -Message "Logged off sessions"
    Write-Log -Message "-------------------"
    foreach ($session in $DisconnectedSessions)
    {
       logoff $session.ID
       Write-Log -Message $session.Username
    }
    Write-Log -Message " "
    Write-Log -Message "Finished"  

Düzenleme:
Başlangıçta bu komut dosyasını çıkış ve tüm "bağlantısı kesilmiş" oturumları kapatmak için kullandım. Birçok kullanıcı ve sınırlı lisansa sahip birkaç terminal sunucusu uygulamamız var. Bağlantısı kesilen oturumlar çok uzun süre açık kalacak ve bazen süresiz olarak açık kalacaktı. Bu, bazı lisansları alacak ve diğer kullanıcıların sonuç olarak bağlanamayacağı kullanılmayan oturumlarla sonuçlandı.


  • Bazı sunucularımdaki oturumları düzenli olarak denetlemek ve bağlantıyı kesmek için zamanlanmış bir görev kullanarak komut dosyasını çalıştırıyorum .
    Herhangi bir etkileşim gerektirmeden bağımsız olarak çalışır .
  • Windows 2008 R2 Server ve Windows 2012 R2 Server işletim sistemlerinde kullanıyorum.
  • Yalnızca bağlantısı kesilen oturumları kapatır.
  • Bir 'günlük' dosyasını bağlantısını kestiği kullanıcılarla veya oturumlarla günceller.

Ne yaptığını açıklayabilir misiniz?
Konrad Gajewski

1
Merhaba Konrad, cevabı biraz düzenledim ve senaryonun ne yaptığını açıklamasını umuyorum. Temel olarak komut dosyası, uzak bir kullanıcının sunucu ile bağlantısını kestikten sonra açık kalan tüm bağlantısı kesilmiş oturumları kapatır.
9953-div-37

0

Belki hala devam eden ve oturumu kapatma işlemini engelleyen bir süreç vardır. Etkilenen kullanıcı için hala çalışan işlemleri kontrol edin. Sonra cadının soruna neden olduğunu görmek için işlemi tek tek öldürün.

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunKayıt Defteri anahtarını yalnızca gereken İşlemlerin başlatıldığını da denetleyin . 64bit'te öyle HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run.


0

" Process Explorer " aracını Microsoft'tan indirebilir ve sorununuzu çözmek için kullanabilirsiniz. Oturum kimliklerine sahipseniz, ilgili işlemleri bulabilirsiniz. Daha sonra bir kullanıcı oturumunun bağlantısı kesilirse, Process Explorer ile işlemi öldürebilirsiniz.


0

Tam olarak aynı ortam değil (2012r2 var), ancak Hyper-V Sanal Makine Yönetimi hizmetini (VMMS) yeniden başlatmak bağlantıyı benim için serbest bıraktı.


0

İşlemi tıklamanız ve işlemi tüm kullanıcılardan göstermeniz gerekir ve ardından bağlantıyı kesebilirsiniz.

Neden Uzak masaüstü oturumu ana makine yapılandırması sonunda bağlantı kesildi veya boş bir oturum altında belirli bir aralıktan sonra oturum ilkesi oluşturmuyorsunuz?


0

Benim düzeltmem: Farklı bir ağda bilgisayar yönetim aracı ile sorun sunucusuna bağlandım, açık oturumlarda sağ tıkladım ve her açık dosyayı kapattım sonra mstsc ile bağlanabildim


0

powershell'i her zaman yerel makinenizden kullanabilir ve uzaktan yapabilirsiniz

Invoke-command -computername <servername> -Credential (get-credential) { 
    $session = ((quser | ? { $_ -match <username> }) -split ' +' )[2]
    logoff $session
} 

Cevabınızı daha da kullanışlı hale getirmek için bu komutun nasıl çalıştığına dair temel bir açıklama yapmak faydalı olacaktır. Herkes bunu anlamak için PowerShell ile yeterince deneyimli olmayabilir. Katkınız için teşekkürler.
Reinstate Monica diyorum

-1

Ne yazık ki. Kullanıcı oturumumun bağlantısı kesildi. Görev yöneticisi kullanıcı olarak çalışan herhangi bir işlem göstermedi. Görev yöneticisinden kullanıcının oturumunu kapatamadım. Oturum kimliği komutunu sıfırlamayı denedim ve dondurma da sona erdi. Sonunda yönetici olarak farklı bir oturumda oturum açmak, hesabı silmek ve yeni bir oturum oluşturmak zorunda kaldım.


-1

Uzak Masaüstü Hizmetleri Yöneticisi'nden de kullanıcının oturumunu kapatmaya çalıştınız mı? Yönetimsel Araçlar -> Uzak Masaüstü Hizmetleri -> Uzak Masaüstü Hizmetleri Yöneticisi'ne gidin ve oturumu kapatın. Çalışabilir.


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.