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

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

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

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

1. IPアドレスを固定のものに設定(ここでは192.168.1.111にしている)
- フォルダの共有を有効にする(どうしても自動化できなかったので、手動で設定するよう促す)
- 「アプリケーションと安全でないファイルの起動」設定を変更(警告dlgを出さない)
- デスクトップに「test」フォルダを作って、共有する(ここを作業用PCとのファイルやりとりフォルダにする意図)
- リモートデスクトップを有効にする
- ファイル・フォルダの共有を有効にする(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)を置いておく必要アリ。**
→リモートデバッガの入手先などは、[こちらを参照。](https://qiita.com/tera1707/items/5d70ebf96d03c1042b9e)

# ファイルとプリンタの共有の自動化について

下記のページに、そのあたりの情報があった。
https://foojee.hatenadiary.org/entry/20091210

ただ、結構大変そう。いずれ見てみる。

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

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

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

バッチでレジストリを変更２ ※こっちがわかりやすい
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

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

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

リモートデスクトップがどうしてもできないときにみたところ
public/privateを切り替えする方法など
https://laboradian.com/win10-change-net-public-private/