RDPセッションを存続させる方法は?
はい、私はこの質問が以前に尋ねられたことを知っていますが、私が読んで試したすべてのソリューションは、ロックされた環境では機能しませんドメインレベルの設定は厳しく制御され、マシンレベルのグループポリシーでさえ部分的にロックダウンされます。
これが私の具体的なシナリオです。私のワークステーションはWindows 10であり、20マイル離れた別のWindows 10マシンにVPN経由で定期的にRDPを使用しています。このRDPセッションは、アクティビティがない非常に短い時間(おそらく30分程度)で自動的に閉じます。この期間を変更することはできません。権限がないため、IT担当者が変更することはありません。
RDPを介してリモートPC内でアクティブになっていない状態が30分間続いただけで、セッションが強制的に閉じられたときに受け取るメッセージは次のとおりです。
リモートコンピューターがユーザーからの入力を受信しなかったため、リモートデスクトップサービスセッションが終了しました。
私は成功せずに以下を試しました:
RDセッションを意図的に切断するまで、RDセッションを存続させたいだけです。いくつかの方法、いくつかのハック、いくつかのツール、実際に機能するものがなければなりません。
助けてください。前もって感謝します。
Local machine: Win10 Pro 1809
Remote machine (physical hardware, not VM): Win10 Enterprise 1909
次のスクリプトは無料の AutoHotkey を使用しています。
スクリプトは、コンピュータが非アクティブかどうかを10分(600000ミリ秒)ごとにチェックします。次に、タイトルですべてのリモートデスクトップウィンドウを検索し、それぞれについてRDPウィンドウをアクティブウィンドウに設定し、画面の中央にクリックを送信します。 Enter キー。
SetTitleMatchMode, 2
Loop
{
if A_TimeIdle >= 600000
{
WinGet, id, List, Remote Desktop Connection
Loop, %id%
{
this_id := id%A_Index%
WinGetTitle, this_title, ahk_id %this_id%
TrayTip, Found RDP session, %this_title%, 2, 17
ControlSend , , {Enter}, ahk_id %this_id%
}
}
Sleep, 600000
}
return
このスクリプトは、Windows 10 VMへのRDPを備えたWindows 10コンピューターでテストされました。不明な理由により、AutoHotkeyはRDPウィンドウを再度最小化できず、以前にアクティブだったウィンドウを再度アクティブにできないため、RDPはアクティブなままです。
AutoHotKeyをインストールした後、上記のテキストを.ahk
ファイルに入れ、ダブルクリックしてテストします。トレイバーの緑色のHアイコンを右クリックして[終了]を選択すると、スクリプトを停止できます。ログイン時に実行するには、C:\Users\USER-NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
のスタートアップグループに配置します。
セッションをアクティブに保つことはかなり簡単にすることができます:
Alive.jsスクリプト:
var WshShell = WScript.CreateObject("WScript.Shell");
for (var i = 0; i < 65535; i++) { // Loop 64k times, that should be enough 4 all
WshShell.SendKeys('{SCROLLLOCK}');
WshShell.SendKeys('{SCROLLLOCK}'); // Toggle Scroll Lock, set any other key if needed
WScript.Sleep(300000); // Wait 5 minutes or whatever time you want (in ms)
}
スクリプトを実行するActive.batファイル:
@color A
@echo Refresh Active.
@Cscript.exe Alive.js
@timeout 1
.batを起動すると、それだけです。
そのはず:
コンピューターの構成/管理用テンプレート/ Windowsコンポーネント/リモートデスクトップサービス/リモートデスクトップセッションホスト/セッション時間制限
ただし、これはデフォルトでは設定されていないため、誰かが設定したことを意味します。つまり、あなたがこのポリシーを回避していることが判明した場合、彼らはそれを好まない可能性があります。