htsign's blog

ノンジャンルで書くつもりだけど技術系が多いんじゃないかと思います

HTAでIPアドレスを変更するアプリ作った

弊社の私が在籍している部署では、業務上WindowsパソコンのIPアドレスを非常に頻繁に書き換えます。
書き換えると言っても、大体192.168.1.***10.0.0.***なので
ぶっちゃけバッチスクリプトで十分なのですが、そこはそれ。

どうせやるならそれなりに使えるものに仕上げたいものです。
ちなみに、とっくにこの手のアプリは世の中に腐るほど出回っていますが、セキュリティポリシーという体裁においては社用PCに勝手にアプリを入れるわけにはいかないので。


というわけで作りました。

ダウンロード : https://dl.dropbox.com/u/414379/script/IPアドレス変更.hta

IPアドレス変更.htaというなんのヒネリもない見たままのファイル名です。

ヘルプ(?)

使い方は大体UIに書きだしてあるので特にヘルプとか作ってませんしこれからも作る気はないですが

サブネットマスクは255.255.255.0などというように書くのではなく/24と書きます。
自分自身にとって打ち込むのがめんどくさいのでこのようにしました。

下部の2つのテキストボックスはIPアドレス割り当てのラジオボタンが「静的」であるとき入力可能になります。

適当に入力して「実行」すれば対象のネットワークアダプタのIPアドレスが書き換えられます。

ネットマスク表記は省略OKです。192.168.1.10などとだけ書いても通ります。
省略した場合は、実行時に自動的に/24が補完されます。

ショートカットキー(?)としては Enter と Escape をサポートしています。
Enter が実行ボタン押下、 Escape がクリアボタン押下にそれぞれ対応しています。

実行後、成功すると結果が表示されます。

失敗した場合はエラーが表示されます。
結構頑張ってエラー処理入れたのであまり無茶なことはしないと思いますが、変な挙動になったら諦めて捨ててください。


ちなみに、Windows Vista以降導入されたUACにもたぶん対応しています。
UACの影響下で一般ユーザーとして実行すると

このようなダイアログが表示されて、権限を昇格させるかを選択出来ます。
ここで「はい」を選ぶと、昇格のプロンプトがたぶん表示されると思います。*1
「いいえ」を選択すると、一般ユーザー権限のみで実行されるので、ReadOnlyになります。書き換えでコケます。

一応、私のWindows 8マシンでも正常にIPアドレスを書き換えられることを確認しています。


以上、説明終わり。

最後に

HTAなので当然ソースコードは完全公開です。
多少は見られることを考慮して適当にコメント入れていきましたが、
後になっていくほど面倒くさくなり、かなり読みにくい割にコメントの量はとても少ないと思います。

読もうとする人はそれほどいないと思いますが、読めないと思います。

*1:なぜ「たぶん」なのかというと、私の環境ではUACを無効にしていて未検証だからです。