विंडोज 7 होम प्रीमियम में रिमोट डेस्कटॉप कनेक्शन स्वीकार करें


13

विंडोज 7 होम प्रीमियम डिफ़ॉल्ट रूप से आने वाले रिमोट डेस्कटॉप कनेक्शन (यानी टर्मिनल सेवा सर्वर के रूप में) का समर्थन नहीं करता है।

लेकिन, रजिस्ट्री सेटिंग या Microsoft हॉटफ़िक्स के माध्यम से दूरस्थ डेस्कटॉप (सर्वर) को सक्षम करने के तरीके मौजूद हैं?

Windows Vista होम प्रीमियम के लिए एक समान प्रश्न मौजूद है।

जवाबों:


12

RDP रैपर dll पैचर्स की तुलना में अधिक बेहतर समाधान है।

लाभ:

  • विंडोज विस्टा, 7, 8, 10 का समर्थन करता है
  • सिस्टम dll को संशोधित नहीं करता है
  • भविष्य के विंडोज अपडेट के साथ टकराव नहीं होगा
  • अप्राप्य स्थापना के लिए इस्तेमाल किया जा सकता है
  • बिलिन fSingleSessionPerUserटॉगल है
  • कोई रिबूट की आवश्यकता नहीं है
  • वर्तमान में उपयोगकर्ताओं पर लॉग इन को प्रभावित नहीं करता है

मैं भी इसे सक्रिय rdp सत्र के माध्यम से स्थापित करने में सक्षम था। यह बस एक पल के लिए लिंक खो गया और फिर से फिर से जुड़ गया।


2
विंडोज 7 के लिए, एक गैर-प्रशासक उपयोगकर्ता के रूप में दूरस्थ रूप से लॉग इन करने में सक्षम होने के बाद, मैंने RDPWrap स्थापित करने के बाद उपयोगकर्ता को दूरस्थ डेस्कटॉप विशेषाधिकार प्रदान करने के लिए इस उत्तर से निर्देशों का पालन करने की आवश्यकता की ।
यह

4

आप Windows होम प्रीमियम मशीन पर दूरस्थ डेस्कटॉप (टर्मिनल सेवा) को सक्षम कर सकते हैं। इसमें हैक किए गए संस्करण (या पैच-इन / इन-प्लेसिंग को हैक करना) के साथ आपकी \ Windows \ System32 \ termsrv.dll फ़ाइल को ओवरराइट करना शामिल है, जिसे आप विभिन्न खोज इंजनों से पा सकते हैं।

मुझे वह सटीक साइट नहीं मिल रही है जहाँ मुझे मेरा पैच मिला है, लेकिन अन्य साइट मौजूद हैं, या तो एक पैचर , या DLL का एक संस्करण अद्यतन करने के लिए । इसके अलावा, SP1 के लिए, आपको एक अलग फ़ाइल की आवश्यकता हो सकती है। (क्षमा करें, मैं लिंक रोट से सुरक्षा नहीं कर सकता , लेकिन इन लिंक में डाउनलोड के लिए निष्पादन योग्य / DLL फाइलें हैं।)

मेरा अद्यतन एक बैच स्क्रिप्ट के साथ आया था, जो मेरे द्वारा उपयोग की जाने वाली सटीक फ़ाइलों का पता लगाने में मदद कर सकती है:

@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

2
मैं Windows Vista होम प्रीमियम के लिए इस सवाल का जवाब एहसास है कि ओ पी 7 के बजाय विस्टा के बारे में पूछ रहा था पहले
palswim
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.