Korjaus: Etätyöpöytäpalvelut on tällä hetkellä varattu

Joissakin tapauksissa käyttäjät eivät voi kirjautua sisään RDS-farmi-isäntäkoneisiin, joissa on Windows Server, käyttämällä sisäänrakennettua RDP-asiakasta (mstsc.exe) seuraavalla virheellä:

The task you are trying to do can't be completed because Remote Desktop Services is currently busy. Please try again in a few minutes. Other users should still be able to log on.

Tässä tapauksessa RDS-isäntäjärjestelmänvalvoja voi nähdä useita jumiutuneita käyttäjäistuntoja, joissa on nimi(4)käyttäjänimien ja sijaanYhteys katkaistutila Task Managerin Käyttäjät-välilehdellä.

Ongelma ilmenee kaikissa nykyisissä Windows Server -versioissa: 2012 R2, 2016, 2019 ja 2022.

Virhe voi ilmetä useista syistä:

  • Virhe etätyöpöytäpalveluiden toiminnassa;
  • Virhe csrss.exe-prosessissa;
  • Ongelma käyttäjäprofiilissa tai profsvc-palvelussa;
  • RAM-muisti tai kiintolevytila ​​loppumassa RDS-isännästä;
  • Virheelliset ryhmäkäytäntöasetukset.

Valitettavasti ei ole olemassa virallista Microsoft-ratkaisua, joka voisi korjata ongelman kokonaan. Ainoa mitä voit tehdä, on päästä eroon oireista.

Vianetsintään liittyy lähes aina ongelmallisen käyttäjän RD-istunnon nollaaminen tai RDS-palvelimen uudelleenkäynnistäminen, mutta joissain tapauksissa ongelma jatkuu. Tutkitaan ratkaisuja alkaen helpoimmasta

Sisällys:

Tarkista RDS-isännän suorituskyky ja käytettävissä olevat resurssit

Koska tämä virhe saattaa johtua RAM-muistin tai vapaan levytilan puutteesta, varmista, että palvelimella on riittävästi resursseja. Tarkista, että käyttöjärjestelmän asennuspaikalla on riittävästi vapaata RAM-muistia ja kiintolevytilaa (vapaata tilaa tulee olla vähintään 1 Gt), puhdista RDS-käyttäjäprofiilit vanhoista tiedostoista ja poista vanhat (käyttämättömät) käyttäjäprofiilit. Tarkista myös etätyöpöytäpalveluiden ja käyttäjäprofiilipalvelun (profsvc) kriittisten virheiden varalta tapahtumalokista.

Jos vapaita resursseja on tarpeeksi, siirry seuraavaan vaihtoehtoon.

Nollaa Hung Remote Desktop -istunnot RDS:ssä

Ensinnäkin yritä löytää ja nollata istunto käyttäjälle, joka ei voi kirjautua sisään RDS-palvelimelle virheilmoituksella "Remote Desktop Service is currently busyEtsi käyttäjä Tehtävienhallinnan Käyttäjät-välilehdeltä ja napsautaKirjaudu uloskontekstivalikossa. Useimmissa tapauksissa tämä ratkaisee ongelman, mutta joskus saatat löytää Task Managerista useita ripustettuja istuntoja, joissa on nimi (4) käyttäjänimen sijaan. Kytketyssä RDS-käyttäjäistunnossa on yleensä 4 käynnissä olevaa prosessia::

  • Client Server Runtime Process (csrss.exe)
  • Työpöytä Windowsin hallinta (dwm.exe)
  • Windowsin kirjautumissovellus (winlogon.exe)
  • Windowsin sisäänkirjautumisen käyttöliittymä

Yritä nollata kaikki roikkuvat (4) RDS-istunnot Task Managerilla yllä kuvatulla tavalla. Jos tämä ei auta, sinun on lopetettava manuaalisesti käynnissä olevat prosessit näissä istunnoissa.

  1. Avaa korotettu komentokehote ja suorita komento:query session
    Komento näyttää luettelon kaikista RDS-isännän käyttäjistä ja heidän istunnoistaan. Tulosteessa on 3 saraketta: SESSIONNAME, USERNAME ja ID. Etsi(4)käyttäjä ja vastaava tunnus, tässä esimerkissä se onID 2. Sinun täytyy tappaacsrss.exeprosessi, joka on käynnissä tässä istunnossa;
  2. Suorita komento:query process /id 2
    Komento näyttää kaikki istunnossa käynnissä olevat prosessit määritetyllä tunnuksella. Meidän on löydettävä csrss.exe-prosessin PID. Minun tapauksessani PID on5140. Sinun on lopetettava tämä prosessi.
  3. Tapa csrss.exe-prosessi sen PID:llä:taskkill /F /PID 5140

Kun csrss.exe-prosessi on valmis, kaikki muut käyttäjän istunnon prosessit lopetetaan automaattisesti. Tämän avulla voit lopettaa ripustetut RDS-käyttäjäistunnot ilman, että sinun tarvitsee käynnistää palvelinta uudelleen.

Tee se jokaiselle (4) käyttäjälle, jos sellaisia ​​on.

Suosittelemme rajoittamaan käyttäjien istuntojen enimmäiskestoa RDS-aikakatkaisuvaihtoehdolla GPO- tai kokoelmaasetuksissa. Tämä lopettaa automaattisesti ripustetut käyttäjäistunnot.

Lisäksi, jos työskentelet epäluotettavien linkkien parissa, suosittelemme, että määrität GPO-vaihtoehdonMääritä yhteydenpitovälito1 minuutti(Tietokoneen asetukset -> Hallintamallit -> Windows-komponentit -> Etätyöpöytäpalvelut -> Etätyöpöytäistunnon isäntä -> Yhteydet).

Tapa etätyöpöytäkäyttäjän istunto komentokehotteen avulla

Jos et ole pystynyt kirjautumaan ulos käyttäjästä, voit yrittää nollata RDS-käyttäjäistunnon komentokehotteessa:

  1. Avaa komentokehote järjestelmänvalvojana ja suorita komento:query session
  2. Lopeta käyttäjän istunto käyttämällä hänen SESSIONNAME tai tunnusta. Esimerkiksi:
    reset session rdp-tcp#16
    tai:
    reset session 3

Tämä on tehtävä jokaisen ongelmallisen RDS-käyttäjän kohdalla. Nyt voit yrittää kirjautua sisään, ongelman pitäisi ratketa.

Jos RDS-palvelin ei salli kirjautumista edes paikallisen järjestelmänvalvojan tilillä, voit etänä saada luettelon tietokoneen käyttäjäistunnoista.

qwinsta /server:mun-rds01

Voit sitten lopettaa ripustetun istunnon etänä:

reset session rdp-tcp#16 /server:mun-rds01

Tarkista RDS-isännän käyttöoikeusasetukset

Varmista, että RDSH-isännän lisenssipalvelin ja lisenssityyppi (CAL per käyttäjä/ CAL per laite) ovat oikein.

Sain virheilmoituksen "Tehtävää, jota yrität tehdä, ei voida suorittaa loppuun, koska Remote Desktop Services on tällä hetkellä varattu", ja unohdin määrittää palvelimen osoitteen, joka käyttää Remote Desktop Licensing -roolia RDSH-roolin asentamisen jälkeen. Siinä tapauksessa kaksi RDP-käyttäjää liittyi tavalliseen tapaan, ja kolmas kohtasi tämän virheen.

Katso myös:Kuinka käyttää Microsoft Remote Desktop -sovellusta etätietokoneen käyttämiseen

RDS-lisenssillä varustetun palvelimen osoite voidaan määrittää:

Poista RDP Max Connection Limit käytöstä GPO:ssa

Voit käyttää ryhmäkäytäntöjä rajoittamaan samanaikaisten (samanaikaisten) RDS-yhteyksien määrää. Oletuksena tätä käytäntöä ei ole määritetty. Tämä tarkoittaa, että RDSH-isäntä ei rajoita yhteyksien enimmäismäärää.

Käytä gpresultia tarkistaaksesi, onko käytäntö käytössä ja mikä arvo sillä on.

  1. Suorita seuraava komento korotetussa komentokehotteessa:gpresult /H c:gpresult.html
  2. Avaa C-aseman juuressa oleva tiedosto gpresult.html. Se on yleinen .html-tiedosto, joka voidaan avata selaimellasi (Internet Explorer on oletusarvoisesti poissa käytöstä nykyaikaisissa Windows-versioissa, ja sinun tulee käyttää MS Edgeä).
  3. Etsi GPO-asetus nimeltäRajoita yhteyksien määrääallaTietokoneen asetukset -> Hallintamallit -> Windows-komponentit -> Etätyöpöytäpalvelut -> Etätyöpöytäistunnon isäntäyhteydettai kirjoitaRajoita yhteyksien määrääetsiäksesi sivulta.

Jos tällaista käytäntöä ei ole, sitä ei sovelleta eikä samanaikaisten yhteyksien lukumäärää ole rajoitettu. Jos käytäntö on olemassa ja samanaikaisten yhteyksien lukumäärä on ilmoitettu, muuta sen arvo tarvitsemaasi numeroon. Voit määrittää GPO-vaihtoehdon käyttämällä paikallista ryhmäkäytäntöeditoria (gpedit.msc), ja jos käytäntö on asetettu verkkotunnuksen GPO:iden kautta, muokkaa sitä verkkotunnuksen GPO-editorilla (gpmc.msc). Kun olet tehnyt sen, älä unohda suorittaagpupdate /force-komento ottaaksesi uudet ryhmäkäytäntöasetukset käyttöön välittömästi.

Muita tapoja korjata kiireisiä RDP-palveluongelmia

Jos isännässä on tarpeeksi vapaita resursseja, RDP-lokeissa ei ole virheitä, käyttäjän istunnon nollaaminen ei jostain syystä auttanut, etkä voi käynnistää RDSH-palvelinta heti uudelleen, kannattaa kokeilla seuraavia vaihtoehtoja:

  • Varmista, että RDS-isäntä ei ole tyhjennystilassa, mikä estää käyttäjiä muodostamasta uusia RDP-yhteyksiä:chglogon.exe /QUERY. Jos komento palauttaa "Uusien käyttäjien kirjautumiset on POIS KÄYTÖSTÄ, mutta uudelleenyhteydet olemassa oleviin istuntoihin ovat KÄYTÖSSÄ", poista tyhjennystila käytöstä:chglogon.exe /enable
  • Poista valintaJatkuva bittikarttavälimuisti-vaihtoehto RDP-yhteysasetuksissamstsc.exeasiakas. Kokeile käyttää56 kbps modeemitila suorituskyvyn optimoimiseksi;
  • Käynnistä etätyöpöytäpalvelu uudelleen komennoilla:net stop termservicejanet start termservice. Tai käynnistä palvelu uudelleen etänä PowerShellin avulla:Get-Service termservice –ComputerName mun-rdsh1 | Restart-Service
  • Tapa kaikkitstheme.exeprosessit;
  • On suositeltavaa asentaa kaikki uusimmat päivitykset Windows-versiollesi. Käytä tavallisia Windows Update -työkaluja tai PSWindowsUpdate PowerShell -moduulia.
  • Windows Server 2012 R2:ssa tapahtumatunnus 20499 saattaa näkyä Event Viewerissä "Etätyöpöytäpalveluilla on kestänyt liian kauan ladata käyttäjän kokoonpano palvelimelta...". Voit ratkaista tämän ongelman lisäämälläfQueryUserConfigFromLocalMachinerekisterimerkintä:
    REG ADD "HKLMSYSTEMCurrentControlSetcontrolTerminal ServerWinstationsRDP-Tcp" /v fQueryUserConfigFromLocalMachine /t REG_DWORD /d 1 /f
    REG ADD "HKLMSoftwarePoliciesMicrosoftWindows NTTerminal Services" /v fQueryUserConfigFromLocalMachine /t REG_DWORD /d 1 /f
  • Jos Citrix on asennettu Windows-isäntään ja VDA-palvelimella on paljon katkaistuja istuntoja, voit korjata ongelman luomallaSeTokenDoesNotTrackSessionObjectrekisterimerkintä:
    REG ADD "HKLMSYSTEMCurrentControlSetControlSession ManagerKernel" /v SeTokenDoesNotTrackSessionObject /t REG_DWORD /d 1 /f
  • Tarkista käyttäjäprofiilipalvelu (profsvc) lokit. Jos käytät User Profile Disk (UPD)- tai FSLogix-profiileja Windows Serverissä, tarkista, että profiilitiedostot sisältävä tiedostopalvelin on käytettävissä eikä siinä ole suorituskykyongelmia. Luo myös, kun käytät UPD:tä Windows Server 2019/2016:ssaDeleteUserAppContainersOnLogoffrekisteriparametri, joka korjaa ongelmat monissa Windows Defenderin palomuurisäännöissä, jotka luodaan UWP Windows Storen sovelluksille joka kerta, kun käyttäjä kirjautuu sisään. Tämä kuvataan artikkelissa Huono RDS-suorituskyky Windows Server 2016/2019:ssä käyttäjäprofiililevyillä.

Related Posts