追加修正 (2019.04.19updated)
2018年4月の Windows Update (April 2018 Update 1803) によってまたしても RDP Wrapper でリモートデスクトップが封じられてしまったので対策方法を修正
前提
Windows 10 の Windows Update すると時々リモートデスクトップで他PCから入れなくなることが度々ある。特に Windows10 HOME はリモートデスクトップ(RDP)サービスが元々入っていないので RDP Wrapper をインストールして対応するが、これも封じられてしまう。
対策
対策としては、termsrv.dll を入手してインストールする方法と rdpwrap.ini に設定を追加する方法があるがここでは後者を説明する(検索すると前者は沢山出てくるので割愛)
- rfxvmt.dll をコピーする
- RDP Wrapper をインストールする(2019年4月時点では v1.6.2)
- rdpwrap.ini に設定を追加
基本的にこれで大丈夫。
rfxvmt.dll をコピー
もともと C:\Windows\system32 の下にあるリモートデスクトップ/リモートアシスト用のDLLがWindows Update で消されてしまうらしいのでコピーする
手元の rfxvmt.dll が無い場合には下記よりダウンロードしてコピーする。
64-bit Windows 10用: https://github.com/stascorp/rdpwrap/files/1236856/rfxvmt.zip
32-bit Windows 10用: https://github.com/stascorp/rdpwrap/files/1238499/rfxvmt.zip
RDP Wrapper 最新版をインストール
RDP Wrapper を Release よりダウンロード
あとは install.bat -> update.bat する
rdpwrap.ini に設定を追加上書き
2019.07.15追加
rdpwrap.ini を修正するのが面倒な人は、下記の github (注意:本家から foked されたもの)からダウンロードして使うと良いだろう。
https://github.com/DrDrrae/rdpwrap/blob/master/res/rdpwrap.ini
以下は古い情報 (2019.07.10まで)
C:\Program Files\RDP Wrapper\rdpwrap.ini に下記サイトの設定を追加する
rdpwrap.ini は管理者権限でないと修正保存できないのでプロパティ情報を変えるなり管理者権限で修正追加を行う
[Add support for build 10.0.17763.292 #645] (https://github.com/stascorp/rdpwrap/issues/645)
追加する設定
;----------------------snip part1
[10.0.17763.292]
; Patch CEnforcementCore::GetInstanceOfTSLicense
LocalOnlyPatch.x86=1
LocalOnlyOffset.x86=AFAD4
LocalOnlyCode.x86=jmpshort
LocalOnlyPatch.x64=1
LocalOnlyOffset.x64=77A11
LocalOnlyCode.x64=jmpshort
; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled
SingleUserPatch.x86=1
SingleUserOffset.x86=4D665
SingleUserCode.x86=nop
SingleUserPatch.x64=1
SingleUserOffset.x64=1322C
SingleUserCode.x64=Zero
; Patch CDefPolicy::Query
DefPolicyPatch.x86=1
DefPolicyOffset.x86=4BE69
DefPolicyCode.x86=CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64=1
DefPolicyOffset.x64=17F45
DefPolicyCode.x64=CDefPolicy_Query_eax_rcx
; Hook CSLQuery::Initialize
SLInitHook.x86=1
SLInitOffset.x86=5B18A
SLInitFunc.x86=New_CSLQuery_Initialize
SLInitHook.x64=1
SLInitOffset.x64=1ABFC
SLInitFunc.x64=New_CSLQuery_Initialize
;.------------------------------------
;
;
;.--------------------------snip part2
[10.0.17763.292-SLInit]
bInitialized.x86 =CD798
bServerSku.x86 =CD79C
lMaxUserSessions.x86 =CD7A0
bAppServerAllowed.x86 =CD7A8
bRemoteConnAllowed.x86=CD7AC
bMultimonAllowed.x86 =CD7B0
ulMaxDebugSessions.x86=CD7B4
bFUSEnabled.x86 =CD7B8
bInitialized.x64 =ECAB0
bServerSku.x64 =ECAB4
lMaxUserSessions.x64 =ECAB8
bAppServerAllowed.x64 =ECAC0
bRemoteConnAllowed.x64=ECAC4
bMultimonAllowed.x64 =ECAC8
ulMaxDebugSessions.x64=ECACC
bFUSEnabled.x64 =ECAD0
;.---------------------------
RDP Wrapper を再起動して RDPCheck なり RDPConf でポートが listen 状態か確認
参考サイト
https://github.com/stascorp/rdpwrap/issues/645
https://www.rootlinks.net/2019/02/14/rdp-wrapperのtermsrv-dll-ver-10-0-17763-292での対応/
https://qiita.com/aoi70/items/47e521c6a310e3959b35
https://wanderism.net/archives/686
https://github.com/stascorp/rdpwrap/issues/194