Windows 7 Édition Familiale Premium ne prend pas en charge les connexions entrantes Bureau à distance par défaut (c'est-à-dire en tant que serveur de services Terminal Server).
Mais existe-t-il des moyens d'activer le Bureau à distance (serveur) via un paramètre de registre ou un correctif Microsoft?
Une question similaire existe pour Windows Vista Home Premium.
RDP Wrapper est une solution bien supérieure aux correcteurs DLL.
Avantages:
fSingleSessionPerUser
basculeJ'ai même pu l'installer via une session RDP active. Il a juste perdu la liaison pendant un moment, puis s'est reconnecté.
Vous pouvez activer le Bureau à distance (services Terminal Server) sur un ordinateur Windows Home Premium. Il consiste à écraser votre fichier\Windows\System32\termsrv.dll avec une version piratée (ou à le corriger/à le pirater sur place), que vous pouvez trouver à partir de divers moteurs de recherche.
Je ne trouve pas le site exact où j'ai trouvé mon correctif, mais d'autres sites existent, avec un patcher ou un version de la DLL à mettre à jour . En outre, pour SP1, vous aurez peut-être besoin d'un fichier différent. (Désolé, je ne peux pas me protéger contre Link Rot , mais ces liens contiennent des fichiers exécutables/DLL à télécharger.)
Ma mise à jour est venue avec un script batch, qui peut aider à localiser les fichiers exacts que j'ai utilisés:
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET WINVER=Windows 7 Build 7601
SET SET_PRODUCTNAME="Windows 7"
SET SET_CURRENTBUILD="7601"
SET SET_CSDBUILDNUMBER="1130"
SET SET_VERSION=%SET_CURRENTBUILD%.%SET_CSDBUILDNUMBER%
TITLE Concurrent Remote Desktop Sessions %WINVER%
:SHOWHELP
IF /I *%1 == *-? GOTO PRINTHELP
IF /I *%1 == *help GOTO PRINTHELP
GOTO PERMISSIONCHK
:PRINTHELP
ECHO This script enables concurrent remote desktop sessions
ECHO for %WINVER%
ECHO.
ECHO This script must be run as an Administrator.
ECHO To open an elevated command Prompt with Administrator privileges
ECHO press WinKey, typ cmd, and hit Ctrl+Shift+Enter.
ECHO.
ECHO.
ECHO Available commandline switches:
ECHO.
ECHO -? Show this help.
ECHO help Same as -?.
ECHO multi Enable multiple sessions per user.
ECHO blank Enable remote logon for user accounts that are not password protected.
ECHO.
GOTO END
:PERMISSIONCHK
REM Note: Mikinho, Updated admin right checks to a more appropiate method
SET HasAdminRights=0
FOR /F %%i IN ('WHOAMI /PRIV /NH') DO (
IF "%%i"=="SeTakeOwnershipPrivilege" SET HasAdminRights=1
)
IF NOT %HasAdminRights%==1 (
ECHO.
ECHO This script must be run as an Administrator.
ECHO.
ECHO Use switch -? to show help.
ECHO.
GOTO END
)
:VERSIONCHECK
REM Note: Mikinho, Improved checks...
FOR /F "tokens=3*" %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName ^| FIND "ProductName"') DO SET PRODUCTNAME=%%A %%B
REM IF /I NOT "%PRODUCTNAME%" == %SET_PRODUCTNAME% GOTO UNSUPPORTED
FOR /F "tokens=3" %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "EditionID"') DO SET EDITIONID=%%A
IF /I NOT "%EDITIONID%" == "Ultimate" IF /I NOT "%EDITIONID%" == "Enterprise" IF /I NOT "%EDITIONID%" == "Professional" IF /I NOT "%EDITIONID%" == "HomePremium" GOTO UNSUPPORTED
FOR /F "tokens=3" %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "CurrentBuild"') DO SET CURRENTBUILD=%%A
IF /I NOT "%CURRENTBUILD%" == %SET_CURRENTBUILD% GOTO UNSUPPORTED
FOR /F "tokens=3" %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "CSDBuildNumber"') DO SET CSDBUILDNUMBER=%%A
IF /I NOT "%CSDBUILDNUMBER%" == %SET_CSDBUILDNUMBER% GOTO UNSUPPORTED
GOTO START
:UNSUPPORTED
ECHO.
ECHO Your operating system is not supported.
ECHO Only for %WINVER%
GOTO END
:START
CLS
IF /I EXIST %SystemRoot%\SysWOW64 (SET Arch=64) ELSE (SET Arch=32)
:DETECTARGUMENTS
SET SINGLESESSION=1
SET BLANK=1
IF /I *%1 == *MULTI SET SINGLESESSION=0
IF /I *%2 == *MULTI SET SINGLESESSION=0
IF /I *%1 == *BLANK SET BLANK=0
IF /I *%2 == *BLANK SET BLANK=0
:SETSOURCEFOLDER
REM This will get the folder the batch file was launched from since the current
REM directory will change if launched from a network share
SET SOURCEFOLDER=%~dp0
ECHO Source Folder is %SOURCEFOLDER%, Windows is %Arch%-bit
ECHO.
:TAKEOWNERSHIP
ECHO Taking ownership of %SystemRoot%\System32\termsrv.dll
takeown /a /f %SystemRoot%\System32\termsrv.dll
ECHO Granting Administrators rights
ICACLS %SystemRoot%\System32\termsrv.dll /Grant "%USERNAME%":F
ICACLS %SystemRoot%\System32\termsrv.dll /Grant Administrators:F
:STOPTERMINALSERVICES
ECHO Stopping Remote Desktop Services
REM Update: Mikinho, changed to TermService for globalization
NET stop TermService /y
:BACKUPTERMSRVDLL
IF /I EXIST %SystemRoot%\System32\termsrv.dll.%SET_VERSION%.bak GOTO PATCHED
COPY "%SystemRoot%\System32\termsrv.dll" "%SystemRoot%\System32\*.*.%SET_VERSION%.bak"
:COPYTERMSRVDLL
IF /I NOT EXIST "%SOURCEFOLDER%%Arch%_termsrv.dll" (
ECHO.
ECHO The %Arch% version of termsrv.dll is not present
ECHO.
ECHO Use switch -? to show help.
ECHO.
GOTO END
)
ECHO Copying "%SOURCEFOLDER%%Arch%_termsrv.dll" to "%SystemRoot%\System32\termsrv.dll"
COPY /Y "%SOURCEFOLDER%%Arch%_termsrv.dll" "%SystemRoot%\System32\termsrv.dll"
GOTO IMPORTREGKEYS
:PATCHED
ECHO ######################################
ECHO # Patched Already ,Config Editing... #
ECHO ######################################
:IMPORTREGKEYS
ECHO Enabling RDP
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
:HOMEPREMIUM
IF /I "%EDITIONID%" == "HomePremium" (
NETSH advfirewall firewall delete rule name="Remote Desktop (TCP-In)"
NETSH advfirewall firewall add rule name="Remote Desktop (TCP-In)" program=System profile=public,private,domain dir=in localport=3389 protocol=tcp action=allow description="Inbound rule for the Remote Desktop service to allow RDP traffic. [TCP 3389]"
COPY /Y "%SOURCEFOLDER%%Arch%_rdpclip.exe" "%SystemRoot%\system32\rdpclip.exe"
)
:SETSINGLESESSIONSETTING
ECHO Setting fSingleSessionPerUser to %SINGLESESSION%
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d %SINGLESESSION% /f
:SETBLANKPASSWORDPOLICY
ECHO Setting LimitBlankPasswordUser to %BLANK%
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d %BLANK% /f
:CONFIGUREFIREWALL
ECHO Configuring Remote Desktop in Windows Firewall
NETSH advfirewall firewall set rule group="remote desktop" new enable=Yes
:STARTTERMINALSERVICES
ECHO Starting Remote Desktop Services
REM Update: Mikinho, changed from "Remote Desktop Services" for globalization
NET START TermService
:PAUSE5SECONDS
ECHO Pausing 5 seconds to give service time to start listening
CHOICE /n /c y /d y /t 5 > nul
:CHECKIFSERVICELISTENING
ECHO Checking if Service is listening on port 3389
SUBST
NETSTAT -a | find /i "3389"
IF ERRORLEVEL 1 GOTO SERVICENOTLISTENING
:SERVICEISLISTENING
ECHO Service is listening
ECHO Done
GOTO END
:SERVICENOTLISTENING
ECHO Service is not listening
:CONTINUE
ECHO Done
:END
ENDLOCAL
PAUSE
EXIT /B