Windows10タブレット起動時にLTEがオンラインにならないときに試すバッチファイル

起動時にオンラインにならないときがある

SIMが挿せるWindows10のタブレットを設定していました。再起動はシャットダウンを繰り返しているうちに、起動時に自動的にオンラインになるはずのLTEが切断済みのままオンラインになってくれないことがありました。

環境

機内モードとネットワークアダプタの無効・有効で直るけど...。

とりあえず、機内モードのOFFとONをすればオンラインになりました。

それとは別にネットワークアダプタの携帯電話を無効・有効でも同じようにオンライン状態になりました。

しかし、これを起動の度に行うのは超めんどくさいです。

よって、これをバッチファイルにして行うようにしようと思ったのですが、管理者として実行しないとダメで、このタブレットの使用者は一般ユーザーなので、バッチファイルを実行する権限がありません。

タスクスケジューラに登録して起動時に特権ユーザーで実行させるという方法もあるのですが、正常にオンライン状態で起動できる場合もあるので、毎回無理矢理実行するのも何だか嫌だな~と思いました。

管理者権限が不要の方法があった!

起動時にユーザーがオフラインで困ったときだけ自分でどうにかできるような方法が無いかと考えたとき、一つ方法が見つかりました。

これを行うコマンドは管理者権限が不要で、一般ユーザーでも実行できます。これをバッチファイルにしてユーザーのデスクトップに置いておけば、ユーザー自身で解決できます。

携帯ネットワークを切断するコマンド

netsh mbn disconnect interface="携帯電話"

携帯ネットワークを接続するコマンド

このコマンドはプロファイル名の指定が必要です。

netsh mbn connect interface="携帯電話" connmode=name name=プロファイル名

プロファイル名を調べるコマンド

APN設定には「au」だとか「LTE NET」とか名前を付けていますが、プロファイル名はまったく別物の名前が付いています。よくわからない英数字の羅列になっていますが、これが接続時のコマンドに必要となります。

netsh mbn show profile

プロファイルの詳細を確認するコマンド

上記の英数の羅列ではプロファイル名と言われても、特に複数ある場合は現在使用中のプロファイルと一致しているものなのかわかならいので、ここで中身を確認します。

netsh mbn show profile name=プロファイル名

ちなみに、ここで表示されるAPNプロファイルの実体であるXMLが保存されている場所は以下となります。ここにあるXMLファイルを開くことでもプロファイルの詳細を確認できます。

XMLのファイル名がプロファイルの名前と似ていますが、全く別物で中に記載してあるプロファイルの名前を使用します。

これらのコマンドを組合せてバッチファイルにしたらうまくいきました。

機内モードのOFF/ONをさせればいいのですが、そんな簡単なことを説明してもできない方がいらっしゃるので、「LTE再起動.bat」とか「携帯ネットワークがオフラインで困ったとき.bat」みたいな名前でデスクトップに置いておけば説明不要で直感的に使えるかと思います。

バッチファイルのソース

このバッチファイルは登録されているAPN設定が一つしかないのが前提で作っています。複数登録がある場合は一番上に表示されるAPN番号を取得して、携帯電話の接続を実行します。また、APN番号が起動の度に変更されるので、変更されても現在のAPN番号を取得して実行するようにしています。

@echo off
@setlocal enabledelayedexpansion

echo.
echo LTE接続をリセットします。

echo.
echo "携帯電話"を無効化しています。
netsh mbn disconnect interface="携帯電話"

echo プロファイルを調べています。
netsh mbn show profile
for /f "tokens=1,2* usebackq delims=:" %%i in (`netsh mbn show profile ^| findstr /r /n "." ^| findstr /r "4:"`) do @set PROFILE=%%j
 
rem 余計なスペースを削除
call :Trim !PROFILE!

echo.
echo プロファイル"!PROFILE!"を取得しました。

echo.
echo アクセスポイント名を調べています。

echo.
netsh mbn show profile name=!PROFILE! | findstr "アクセス ポイント名"

echo.
echo プロファイル"%PROFILE%"を使用して"携帯電話"を有効化しています。
timeout /T 5 /nobreak >nul
netsh mbn connect interface="携帯電話" connmode=name name=!PROFILE!

echo LTE接続のリセットが完了しました。
echo.
echo 接続が復旧しない場合は"機内モード"のオン/オフを試してください。
echo.
goto End

 
:End
endlocal
pause
exit

:Trim
set PROFILE=%*

参考サイト

lteモデムを使ってwindows10のコマンドラインからネットワーク接続と切断をするのにnetshコマンドを試してみた | kako blog

http://kako.com/blog/?p=45688

PAGETOP