web-dev-qa-db-ja.com

.batファイルを使用してリモートデスクトップのポート番号を変更するにはどうすればよいですか?

reg addを試しましたが、invalid syntaxと表示され続けます。 .batファイルを使用してレジストリを編集する方法を知っている人はいますか?

2
_reg add "HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d <newportnumber>
_

注意すべきいくつかの事柄:

  • リモートデスクトップのリスニングポートを変更する方法 パスが正しくありません。キーの一部として値名を指定します。
  • キーパスにはスペースが含まれています。したがって、キー名は引用符で囲む(またはエスケープする)必要があります。そうしないと、_reg.exe_は_Server\WinStations\RDP-Tcp_を別のパラメーターとして扱い、必要なパラメーターフラグがないため、エラーが発生した可能性があります。
  • 値はすでに存在しますが、タイプとして_REG_DWORD_を指定する必要があります。指定しないと、REG_SZ (string)として上書きされます。
  • _reg.exe_ツールは、デフォルトで10進数ではなく16進数を使用しているようです。 _2000_のポートを指定した場合、それが10進数の_2000_として扱われるのか、_0x2000_(10進数の8192)として扱われるのかはわかりません。数値の前に_0x_を付ける場合にのみ、16進数を使用する可能性がありますが、実験する必要があります。
  • このレジストリキーは、管理者以外は書き込みできません。キーの権限を変更しない限り、スクリプトを昇格して実行する必要があります。
  • ポートを変更した後、ターミナルサービスサービスと、場合によってはいくつかの関連サービスを再起動する必要があります。
    • このためのコマンドラインは_sc stop <servicename> && sc start <servicename>_です。
    • これを行う簡単な方法は、おそらく再起動することです。これは_shutdown /g_。です。
      • _/g_は、再起動して現在のユーザーに戻り、場合によっては現在のプログラムの一部として戻ることを意味します。単純な再起動の代わりに_/r_を使用してください。
      • デフォルトでは、shutdownは、マシンがシャットダウン/再起動する前に30秒を与えます。また、プログラムが閉じない場合(おそらくファイルが保存されていないため)、再起動しません。 _/t <seconds>_パラメーターを使用して、他の秒数後に再起動するように指示できます。また、_/f_を使用して、プログラムが終了したくない場合でも強制的に再起動することができます。 0より大きい任意の秒数で_/t_を使用すると、_/f_も意味します。
  • RDPポートを変更した後、ファイアウォールやポート転送ルールを更新する必要がある場合があります。そうしないと、RDPサーバーにアクセスできなくなります。これを行うコマンドはファイアウォールとルーターによって異なり、スクリプトから行うのは実用的でない場合があります。
5
CBHacking