見出し画像

ネットワークの切り替えでバッチファイルを作った

学校でネットワークの切り替えが行われます。
切り替え後、全ての教職員の端末の設定を変えないと、端末からネットワークに接続できず、仕事ができなくなってしまいます。
端末の数は150台ほどあります。
どのように効率的に作業をするか、頭が痛いところです。

現在の状態

回線

現在うちの県の県立学校には、教育用の回線として
・校務系(校務用PCを接続)
・学習系(共用PCを接続)
・校内無線LAN用(GIGAスクール端末を接続)
の3つの回線があります。

通常は「教師系」「生徒系」「GIGA系」と呼んでいますが、
「看護師も寄宿舎指導員も使っているのに「教師系」と呼ぶのはおかしい」
「小学部は「児童」と呼ぶから「生徒系」と呼ぶのはおかしい」
などと思うこともあります。

でも、3つの回線に分かれていると、
・校務用パソコン(教師系)を教室に持って行っても教育系回線につなげられない。
・職員室でしか校務ができない。
・校務系で作った教材データが生徒系で使えない(Googleドライブを介せば使えますが)。
・教師1名に対して校務用パソコンと授業用端末の2台が必要になる。
など、弊害のほうが大きくなってきています。
コロナ禍で自宅からリモートワークができなかったことも問題になっているでしょう。

文部科学省でも、「GIGAスクール構想の下での校務の情報化の在り方に関する専門家会議」の提言を受けて、令和6年1月に「教育情報セキュリティポリシーに関するガイドライン」を改訂しています。
校務系・学習系ネットワークの統合は時間の問題でした。
「ゼロトラスト」もキーワードになっています。

うちの県では、今回の回線切り替えにより回線が一本化されることになりました。

認証方式

また、ネットワークの切り替えに合わせて、教師系のActiveDirectryの運用をやめるという連絡も来ました。
それに伴い、端末をドメイン環境からワークグループ環境に変更するよう指示がありました。
ということは、これも設定を変える必要があります。

業者が回線切り替え工事を行ったら、この2つの設定変更をやらないと学校の業務が止まってしまいます。
それも教師がやらないといけない・・・。

考えられる方法

情報教育部で設定して回る

一番確実な方法です。
でも、うちの学校には150台ほどの教師用端末があります。
「土日出勤するかw」
という話もありましたが、切替工事は週の半ばなので、土日まで待てません(いくら教員は労働基準監督署の管轄外だからって、そもそも休日出勤を考えちゃダメだろ)。
非現実的です。

各自で設定してもらう

全員の端末に管理者権限を振って、マニュアルを見て設定変更してもらいます。
できる先生が中にはいるとは思いますが、できない先生が多く出ることが容易に予想できます。
管理者権限で訳の分からない操作をされてしまうと後が大変、という不安もあります。

バッチファイルを配布する

情報教育部でバッチファイルを作成して実行してもらえば、簡単な操作で設定変更できます。
設定自体も、
・DNSサーバーの設定
・ドメイン環境からワークグループへの変更
ぐらいなので、それならバッチファイルを作るのもそんなに難しくないのではないかと思いました。

バッチファイル

ドメイン環境からワークグループへの変更

事前にファイルの拡張子を表示させておきます。

メモ帳で次のコードを打ちます。

@echo off

wmic ComputerSystem WHERE "name='%computername%'" CALL UnJoinDomainOrWorkgroup Username="(ローカル管理者アカウント名)" Password="(管理者パスワード)" FUnJoinOptions=0
wmic ComputerSystem WHERE "name='%computername%'" CALL JoinDomainOrWorkgroup Name="WORKGROUP"

pause
exit

具体的には、
ローカル管理者アカウント:kiwapc
管理者パスワード:passWORD
なら

@echo off

wmic ComputerSystem WHERE "name='%computername%'" CALL UnJoinDomainOrWorkgroup Username="kiwapc" Password="passWORD" FUnJoinOptions=0
wmic ComputerSystem WHERE "name='%computername%'" CALL JoinDomainOrWorkgroup Name="WORKGROUP"

pause
exit

です。

保存したら、拡張子を.txtから.batに変更します。
アイコンが歯車に変わります。

設定する端末にコピーします。
アイコンを右クリックし、「管理者として実行」をクリックします。
ユーザーアカウント制御は「はい」をクリックします。
これで再起動すると、ワークグループ環境になります。

IPアドレスの自動取得とDNSサーバーの設定

教育委員会から指示されているのは、
・プライマリDNSを指定するが、セカンダリDNSは空欄にする。
です。
IPアドレスは固定でも大丈夫と聞いていますが、将来的には自動取得にするようなので、やってしまいます。

有線LANの設定です。
3行目でIPアドレス(IPv4)を自動取得します。
4行目でDNSサーバーの設定をします。

@echo off

netsh interface ipv4 set address name="イーサネット" source=dhcp
netsh interface ipv4 set dnsservers name="イーサネット" static (IPアドレス) primary

pause
exit

DNSサーバーのIPアドレスが192.168.0.1なら、

@echo off

netsh interface ipv4 set address name="イーサネット" source=dhcp
netsh interface ipv4 set dnsservers name="イーサネット" static 192.168.0.1 primary

pause
exit

になります。

保存したら、拡張子を.txtから.batに変更します。
アイコンが歯車に変わります。

設定する端末にコピーします。
アイコンを右クリックし、「管理者として実行」をクリックします。
ユーザーアカウント制御は「はい」をクリックします。

それで実行すると・・・

ファイル名、ディレクトリ名、またはボリュームラベルの構文が間違っています。

そんなに難しくないコードですし、ネットで調べても苦労したという書きぶりの方はいないのに、なぜ通らないのだろうか、と不思議に思っていました。
ちなみに、PowerShell(管理者)では正しく実行されます。

調べてもわからないので、ChatGPTに聞いてみました。

1. バッチファイルのエンコーディングの問題

バッチファイルがUTF-8などのエンコーディングで保存されていると、文字が正しく認識されないことがあります。特に日本語のインターフェイス名を使っている場合、エンコーディングの違いが原因でエラーが発生することがあります。

インターフェースの名前が「イーサネット」と日本語になっています。
「これか!。」
メモ帳で「名前を付けて保存」ダイアログボックスを見てみると、「エンコード」が「UTF-8」になっていました。
UTF-8と言えば、Googleカレンダーの読み込みなどで文字化けして、今までも悩まされたエンコード方式です。
ANSI」で保存して、拡張子をbatにして実行すると、無事に反映されました。

まとめ

2つのバッチファイルが完成しました。
事前に今動いている管理ツールでデスクトップに配布して、Cドライブ直下に移動しておいてもらいます。
そして、回線切り替え工事が始まったらバッチファイルを実行してもらいます。
これで設定の効率が格段に上がります。
他にもやらなくてはいけない設定があるのですが、ネットワーク切り替えの対応に比べれば緊急性は低いので、何とかなるでしょう。

ただ、先行実施した学校では予期しない様々な問題が生じたようなので、これで万全とはいかないのだろうなと思います。
多くの先生がバッチファイルだけで設定変更できることを祈ります。

この記事が気に入ったらサポートをしてみませんか?