- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VPN接続のMTU値変更の自動化)
VPN接続のMTU値変更 自動化方法とエラーチェック
このQ&Aのポイント
- NORDVPN接続時にMTU値を変更する必要があるが、アダプターIdxが変動するため自動化したい。毎回コマンドを入力する必要があるため、batファイルを作成してワンクリックで設定したい。コードの間違いを教えて欲しい。
- WindowsでNORDVPN接続時にアダプターIdxが変動してしまい、MTU値を確認するために毎回コマンドを入力する必要がある。そこで、batファイルを作成してワンクリックで設定を完了させたいのだが、うまくいかない。コードの間違いを教えて欲しい。
- NORDVPNの接続にはMTU値の変更が必要であり、そのために毎回コマンドを入力する必要がある。しかし、WindowsのアダプターIdxが変動するため非常に手間がかかる。そこで、batファイルを作成して自動化することにしたが、上手くいかない。コードの間違いを指摘して欲しい。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
DOSのコマンドに触れるのが久しぶりすぎて(笑)いろいろ調べて理解するのに時間がかかってしまいました。 見比べていてひとつだけ気になったのは【do set TMP=%%a】のdoの ) の前にスペースは不要ですか? 実際に試せる環境にないので解決しないかもしれませんが。 また、質問文に記載の構文で実行するとどのようなエラーを吐くのでしょうか?
その他の回答 (1)
- altium106_2
- ベストアンサー率52% (906/1740)
回答No.1
https://ameblo.jp/debianan/entry-12701722847.html 同じことを実施されている方が上のページでまとめられていますが、このようなことなのですかね?
質問者
補足
はい。まさにこの方を参考にさせていただきましたが上手くいかなかったので質問させていただきました。
お礼
わざわざ色々調べていただいて本当にありがとうございます! 回答いただいたdoの前部のスペースを消して、 ごにょごにょ触っているうちにうまく動作するようになりました(根本原因が不明なのですが...w) 一応最終的に動作したコード下に置いていきますw 管理者権限やらipv6のほうの変更(要らないんですけどw)やら追記しました。 @echo off cd /d %~dp0 for /f "tokens=3 delims=\ " %%i in ('whoami /groups^|find "Mandatory"') do set LEVEL=%%i if NOT "%LEVEL%"=="High" ( powershell.exe -NoProfile -ExecutionPolicy RemoteSigned -Command "Start-Process %~f0 -Verb runas" exit ) setlocal for /f "usebackq delims=" %%a in (`netsh interface ipv4 show interface ^| findstr NordLynx `)do set TMP=%%a set MTU=%TMP:~1,2% C:\Windows\system32\netsh interface ipv4 set interface %MTU% mtu=1354 C:\Windows\system32\netsh interface ipv6 set interface %MTU% mtu=1354 netsh interface ipv4 show interface netsh interface ipv6 show interface rem pause