Help us understand the problem. What is going on with this article?

[Windows/バッチ] リモートデバッグするときのIPアドレス変更やインストール、設定等々一気にやってしまいたい

もくじ
https://qiita.com/tera1707/items/4fda73d86eded283ec4f

やりたいこと

手元の作業PCで作成したアプリが、実機についているデバイスがないと動かないというときに、VisualStudioのリモートデバッグ機能を使って実機でデバッグするのだが、度々その実機が「ちょっとデモで動かしたいから貸して」とかで持っていかれてしまう。
その際別の実機を借りるのだが、毎回リモートデバッグのための設定をするのが面倒なため、手早く設定できるようにしたい。

やり方

下記のようなバッチを作成する。やっていることは、下記の通り。

  1. IPアドレスを固定のものに設定(ここでは192.168.1.111にしている)
  2. フォルダの共有を有効にする(どうしても自動化できなかったので、手動で設定するよう促す)
  3. 「アプリケーションと安全でないファイルの起動」設定を変更(警告dlgを出さない)
  4. デスクトップに「test」フォルダを作って、共有する(ここを作業用PCとのファイルやりとりフォルダにする意図)
  5. リモートデスクトップを有効にする
  6. ファイル・フォルダの共有を有効にする(VisualStudioでリモートPCに出力できるように)

意図

デスクトップ上にフォルダ(testフォルダ)を作って、自分の作業用PCのVisualstudioでビルドしたものをそこに出力されるよう設定して使う想定。

アプリケーションと安全でないファイルの起動の設定は、リモートで実行したアプリから別のexeを実行しようとしたときに警告dlgが出るのを防ぐ。

リモートデバッグしたい実機用一括設定.bat
@echo off

rem -------------------------------------------------------
rem IPアドレスを固定のものに設定
rem ※よく使う環境が、日本語と英語両方あるので、両方でtryする
rem -------------------------------------------------------
netsh interface ip set address "Ehternet 2" static 192.168.1.111 255.255.255.0
netsh interface ip set address "イーサネット 2" static 192.168.1.111 255.255.255.0
echo;

rem -------------------------------------------------------
rem 「アプリケーションと安全でないファイルの起動」を編集
rem 0:有効にする ★
rem 1:ダイアログを表示する
rem 3:無効にする
rem -------------------------------------------------------
Reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3" /v "1806" /t REG_DWORD /d "0" /f

rem -------------------------------------------------------
rem デスクトップに「test」フォルダを作って、共有する
rem ※everyoneに古コントロールを付けて共有
rem -------------------------------------------------------
set DESKTOPPATH=%USERPROFILE%\Desktop
set SHAREFOLDERPATH=%DESKTOPPATH%\test
cd %DESKTOPPATH%

mkdir test
net share test /delete
net share test="%SHAREFOLDERPATH%" /grant:everyone,full

rem -------------------------------------------------------
rem リモートデスクトップを許可する設定実施
rem 0:許可する
rem 1:許可しない
rem -------------------------------------------------------
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d "0" /f

rem -------------------------------------------------------
rem フォルダの共有を有効にする。
rem ここは自動化ができなかったので、手でやるよう促す。
rem -------------------------------------------------------
control.exe /name Microsoft.NetworkAndSharingCenter
echo 左のほうにある「共有の詳細設定の変更」を押してください。
echo 「共有の詳細設定」画面が開きます。
echo;
pause
echo;
echo 1.「プライベート」の中の「ファイルとプリンタ共有」で、「ファイルとプリンタの共有を有効にする」にチェックしてください。
pause
echo;
echo 2.「ゲストまたはパブリック」の中の「ファイルとプリンタ共有」で、「ファイルとプリンタの共有を有効にする」にチェックしてください。
pause
echo;
echo 3.「ドメイン」の中の「ファイルとプリンタ共有」で、「ファイルとプリンタの共有を有効にする」にチェックしてください。
pause
echo;
echo 4.「すべてのネットワーク」の中の「パブリックフォルダーの共有」で、「共有を有効にして・・・」にチェックしてください。
pause
echo 手動設定おわりです。
echo;

rem -------------------------------------------------------
rem リモートデバッガをインストールする
rem -------------------------------------------------------
echo リモートデバッガをインストールします。
%~dp0vs_remotetools.exe

rem -------------------------------------------------------
rem 終わり
rem -------------------------------------------------------
echo 作業完了です。

pause

※同じ階層に、MSのページから落としてきたリモートデバッガのインストーラー(vs_remotetools.exe)を置いておく必要アリ。
→リモートデバッガの入手先などは、こちらを参照。

参考

batファイルからインターネットオプションを操作したい
https://teratail.com/questions/23565

「アプリケーションと安全でないファイルの起動」がレジストリのどこか?
https://yuzuemon.hatenablog.com/entry/20110510/1305043925

バッチでレジストリを変更
http://neos21.hatenablog.com/entry/2017/01/11/000000

バッチでレジストリを変更2 ※こっちがわかりやすい
https://www.projectgroup.info/tips/Windows/cmd_0024.html

デスクトップへのパスをバッチでとる
https://pentan.info/server/windows/cmd/userprofile.html

ファイル、フォルダの共有設定
https://www.atmarkit.co.jp/ait/articles/0609/09/news020.html

ファイル、フォルダの共有設定2 これでできた
https://social.technet.microsoft.com/Forums/windowsserver/ja-JP/d3984239-8037-4a13-b78b-7ea06294ffbe?forum=windowsserver2003ja

リモートデスクトップの許可設定
http://long-distance.jp/sb/log/eid47.html

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした