IPアドレスからホスト名を調べたい~BATファイルを実行してもらう

遠隔地の拠点でネットワークトラブルがあり、ログを収集したところIPアドレスは記録されている事が分かった。しかしIPアドレスの割当はDHCPで行っており、また複数の会社で共同利用しているネットワークなので、接続されているPCを把握出来ていない。

ログの収集と同じタイミングで、NBTSTATコマンドを実行して調査をすれば当該IPアドレスのホスト名を突き止めることが出来るが、拠点のユーザーにはあまり手間をかけさせたくないので、BATファイルを作ることにした。

実行するコマンドを記したBATファイル

対象とするIPアドレスをリスト

この2つのファイルを、デスクトップに置いて、BATファイル(load-list.bat)を実行してもらう。するとデスクトップに「logfile.txt」というコマンドの実行結果が得られる。

BATファイルの置き場所(PATH)を自動的に認識させる方法もあったと思うが、面倒なので「デスクトップ」に置いて実行という条件のもとに簡単に作成した。

処理的には一切複雑な事をせず、洗練されていないのでコマンドを実行した結果がログファイルに記されるだけ。それでも遠隔地で(リモート操作は制限されているので不可)実行したいコマンドを簡単に処理させてもらえるので、ユーザーにも指示(依頼)しやすく、こちらとしても知りたい結果が得られる。

実行(収集)結果は電子メールに添付して送り返して貰った。

BATファイルで別ファイル(リスト)を読み込む手法は、応用が利くので利便性は高いと思われる。カンマ区切りにも対応出来るので、詳しくはbatファイル内でfor文を使う事例を検索すると良いでしょう。

私はプログラマーでは無いので複雑な事よりも、手早く結果がえられるシンプルさを優先します。リストからIPアドレスを一行ずつ読み込んで変数に取り込んで実行するだけのループ処理でも十分使えると思っています。

Windows 7のリカバリー後にWindows Updateが全然進まない件で備忘録

長期間使用されてPC環境が汚れていると思われるPC、しばらく予備機としてストックしているので、この機会にシステムリカバリーを行って、すぐに使用出来る様に備えることにした。

メーカーのリカバリーディスクを使用してハードディスクを消去後、Windows 7 Professionalをリカバリー。真っ新なOS環境が手に入った。今までならこの後に必要なアプリ(Office等)をインストールするだけで良かったが、最近は、Windows Updateが進まないという不具合があるのでこの課題をクリアして置く必要がある。

結果的には下記の順番で修正パッチを適用してやれば、無事にWindows Updateが進むようになった。れっきとした「トラブル」だと思うがマイクロソフトはそう認識していない様なので、無用な労力(スキル)を要求される。

KB976932 (windows7 SP1)※7無印の場合のみ必要
IE9の場合はIE11にアップデートする
KB3020369 (Rollupパッケージの事前必須パッケージ)
KB3125574 (Rollupパッケージ)
KB3145739 (2016年4月アップデート時短効果確認済み)
KB3161664 (2016年6月アップデート時短効果確認済み)
KB3102433 (.Net Framework 4.6.1)
KB3172605 (Rollupパッケージ)

ImageMagickがVer.6からVer.7に変わりコマンドも変更されていた

ImageMagickはマルチプラットフォームで使えるオープンソースの画像変換アプリで、非常に便利なので時々使用しています。Linuxではもちろん、Windows環境でも使用しています。

複数枚の画像を一括してPDFに変換する等、コマンド一発で処理してくれるので手がかからず便利なのです。

また、PDFを1ページずつ画像化することも出来るのは何気に便利だったりします。

今回、ImageMagickを使ってPNG形式の画像をPDF化しようとした時にエラーが出てどうしようもなくなったので、最新版のImageMagickにバージョンアップしたところ、CONVERTコマンドが使用出来なくなりました。正確に記すとCONVERTコマンドでNTFSの変換(これもCONVERTコマンドだった)が起動します。

コマンド名が変わった?

調べてみたらMAGICKというコマンドに変更になっていました。どうやらVer.7からmagickコマンドに変更になったとか。

更にオプションの-geometryも使えなくなってエラーが表示されます。調べたら-sizeコマンドに変わってしまった様です。ネットで検索してもImageMagick Ver.6の頃の情報ばかりで、この辺りのことは公式サイトを確認するしか有りません。英語で記述されていますがコマンドのサンプルを見ると概ね想像がつくので大丈夫でしょう。

ImageMagick: Command-line Processing

続きを読む

Windows 7のプリンターテストページのドライバ情報をテキストデータで欲しい

法人環境でネットワークプリンターへの印刷時にトラブル発生。

印刷データが消失するPCと、そういう不具合が起きないPCとに分かれてしまった。印刷したハズなのにプリンターから出てこないPCは複数台あり、決まったPCでこの不具合が起きていることまで突き止めている。

そこでプリンタードライバの差異で、不具合が出る or 出ないの違いがあるのではないか?と言う推測をした。手っ取り早くドライバ情報を比較したいが遠隔地のPCでかつ台数も多い事がネックである。

プリンターテストを行うと紙に印刷される事は分かっているが、紙に印刷したものは比較しづらい(DIFFとか使えない)のでチェックするのが面倒だ。50台以上を目でチェックとなると本当に嫌になる。

そこで、バッチ処理でプリンター情報を取り出せないかなと言う発想になったが、そういえばプリンタードライバ情報を出力するVBSがWindowsに標準でついていた様な覚えがある。vbsのファイル名は覚えてないが、確かにvbsだったと記憶している。

エクスプローラで検索してみるとそれらしいファイルが入っているフォルダが見つかった。C:\windows\System32\Printing_Admin_Scripts\ja-JP

  • prncnfg.vbs
  • prndrvr.vbs
  • prnjobs.vbs
  • prnmngr.vbs
  • prnport.vbs
  • prnqctl.vbs
  • pubprn.vbs

ファイル名から容易に”prndrvr.vbs”がプリンタドライバ情報を出力してくれるであろう事は推測出来る。コマンドプロンプトから

これでドライバ情報を全て出力出来るので、別名ファイルへリダイレクトすれば目的は達成出来た。後はAWKでチェックしたい部分を抜き出してDIFFで比較チェックすれば差異を見つけられる。

幸いWindows 7にはこのVBSファイルが標準で入っているので、バッチファイルで叩いてデスクトップ等に情報を保存させれば、メールで送って貰う事も可能だろう。

ちなみにこのコマンドで使えるオプションの詳細を見たければヘルプコマンドで

たったこれだけの事だが知っていると知らないとでは大違い。出来たハズという記憶だけでも残しておくといざという時に横着出来るので、やっぱり覚えておきたい。次に使うのはいつになるか分からないけれど。

Office 2010に不具合多発~20151112のWindows Updateがどうやら鬼門

毎月煩わしい事にマイクロソフトのWindows Updateがありますが、先日のWindows Updateではマイクロソフト社は世界中に色々と不具合をまき散らしてくれた様です。

身近な所では

IEを起動したらMicrosoft Office IME 2010について、IEの保護モードで動作して良いか?という確認が表示されるとかで、一般ユーザーを混乱させてくれました。

最近は、PowerPoint 2010で.pptファイルを開こうとすると、

Microsoft PowerPointは動作を停止しました
問題が発生したため、プログラムが正しく動作しなくなりました。プログラムは閉じられ、解決策がある場合はWindowsから通知されます。

[プログラムの終了(C)]

こういう不具合も起こしてくれている様です。

イベントビューアでアプリのエラー情報が無いか調べてみたところ手がかりがありました。

イベントビューア

キーになりそうな情報としては、例外コード(0x0000374)、障害オフセット(0x000c3f83)、ntdll.dllというファイル名でしょうか。

ntdll.dllについて検索してみたところ、MS IME 2010についての情報が見つかりましたので、すぐに先日の不具合を思い起こしました。もしかしたら関係してるんじゃないか?と。

結果的には、やはり関係していた様で、日本語入力の設定で規定の日本語入力が「Microsoft Office IME 2010」になっているとこの不可解なエラーでパワポが落ちると言う状況でした。回避方法としては規定の言語を「ATOK」や「Google日本語入力」に変更する事でした。

規定の言語

公式な情報を見つけられなかったので対処療法に過ぎませんが、たったこれだけでパワポでPPTファイルを開けない不具合を回避出来ました。根本的な対処では無いのですっきりはしませんが、何となく想像したIME 2010が絡んでいたというのがマイクロソフトらしく呆れてしまいます。