Jamf ProでWiFi情報をリセット出来るようにした話
どこの会社も支給したPCは会社のSSIDに自動的に接続出来るように設定されているかと思います。
しかし原因不明にSSIDの情報がなくなり、接続しようとするとパスワードを聞かれてしまうことが稀にあります。不思議ですねぇ。
少なくとも会社のWiFiにつなごうとしている都合上オフィスに出社している時にのみ発生する事象なので、今までは問い合わせを受けたらPCを持ってきてもらいパスワードのわかるメンバーが手入力で対応していたのですが、ふと「端末のチェックインやインベントリ情報更新もSelf Serviceからやってもらってるんだし、これも出来るんじゃね?」と思い実装しました。
大まかな流れ
運用の大まかな流れとしては以下の通りです。
別途社員に公開しているSSIDで一時的に接続してもらう
Self Serviceに接続できるようになるので、WiFi情報リセットのアイコンをクリック
正しいSSIDに接続されていることを確認したら一時的に接続したSSIDを手動で削除
完全に自動化が出来ないのは1.でどうしても手入力が発生するのと、ちゃんとSSIDが切り替わったことを確認せずに一時的に接続したSSIDを削除してもし失敗していたらまた手入力が発生する手間を考慮してです。
といっても概ね手入力でやってた流れそのままですね。
Jamf側で行う作業は以下になります。
WiFi情報をリセットするスクリプトを登録する
WiFi情報をリセットするポリシーを作成する
上記のスクリプトを呼ぶ
スクリプト実行後、WiFi情報を設定する
SSIDのパスワードがわかるメンバーしか出来なかった作業だけJamfに頑張ってもらいます。
スクリプトの作成
使用するコマンドの肝の部分は以下の通りです。
#!/bin/bash
# WiFiをオフ
networksetup -setairportpower en0 off
# SSIDを削除
networksetup -removepreferredwirelessnetwork en0 <アクセスポイント名>
# WiFiをオン
networksetup -setairportpower en0 on
念の為WiFi情報を削除する前後にWiFiをオンオフしています。
ポリシーの作成
スクリプトを呼び出すポリシーを作成します。
その際にSSIDを設定するコマンドを設定します。
# SSIDを設定
networksetup -setairportnetwork en0 <アクセスポイント名> <パスワード>
スクリプトにまとめなかったのはsudoコマンドが必要だからですね。
ファイルとプロセスのコマンドを実行はrootユーザーとして実行されるので利用させてもらいましょう。
Jamfにログインできる人にはパスワードが見える状態になってしまいますが、大体の企業では=パスワードを知ってる人だと思うので問題ないかと思います。
作成して
稀にしか発生しないのでまだ実運用での実績は少ないですが、少なくともこのポリシーによって利用者はわざわざ足を運ぶ必要もなく、情シスは他の作業を止めてポチポチとおぼえづらいパスワードを目視で入力する必要もなくなったわけですな。一件落着。
ふと、前職では社内ネットワーク用のSSIDのパスワードが60桁という前任者の強いこだわりが感じられたことを思い出しました。
元気ですかねぇ…。あの時いた人たち全員転職してるのでいまどうしているのやら。