URAMIRAIKAN

1020のなれの果て (since 2005.6.19)

選択されているタグ : Windows

タグを絞り込む : ActiveDirectory Office PowerShell VBScript VMware WEB Zabbix

Windows 7 + Internet Explorer 11だとMicrosoft Updateがインストールできない?

 会社の環境がWindows 7になってから最初の月次Windows Updateを実行したのですが、まだMicrosoft UpdateにはしていなかったのでOffice製品とかのアップデートが表示されません。
 そこで、Microsoft Updateをインストールしようとリンクをクリックしたところ、こんな表示が…


VBSでファイルバージョンの確認

 DLLやOCXファイルのバージョンを調べて、古い場合には新しいものに置き換えるというのを作りたかったので。
 とりあえずファイルのプロパティをひたすらチェックすればいいかなと。
 この方法の問題はロケールで分岐させないといけないことかな~。


ZabbixでUDPポートの監視(Windows)

 ZabbixでWindowsサーバのUDPポートの監視をする要件があったのですが、"net.udp.listen[port]"キーはどうやらLinuxでないと使えないみたい。

 そんなわけで、"netstat"コマンドの結果をUserParameterで渡すことを前提にスクリプトを作ってみました。


VBScriptでWindowsサービスの再起動

 体調崩して金曜日に休んでしまったのが週明けに響きそうで恐いです…。

 で、これも基本のおさらいですが、お仕事で使うのでサクッと作りました。
 この他にサービスでないプログラム起動とか、監視系のスクリプトも作らないといけないみたいです。

 VBSでサービスの状態確認とか起動・停止をするときは「Shell.IsServiceRunningメソッド」とか「Shell.ServiceStartメソッド」とかが使えますが、個人的にはWMIを使う方が色々と応用が利きそうなので好きです(その分ちょっと冗長になりますが)。


VBScriptでPort Ping

 リモートサーバのTCPポートを監視するというのを、何故かVBSでやらなければならなくなりました。例によって古いサーバ上で動かすからなんですが…。もっと別の方へ話を持って行けなかった自分の説得力不足もあるので仕方ないか。

 いろいろと手段を考えていましたが、

  1. 「CreateObject("NonComSck.Winsock")」を使う方法はVB6ランタイムの"MSWINSCK.OCX"がないと使えない(当然のように入っているわけなかった)
  2. 「WMIで"Select * from netDiagnostics"」を使う方法は、実行環境がWindows XPでないと使えない(Windows Server 2003とかでは使えない)

という感じだったので、行き着いたところは「とりあえず強引にHTTPで接続しにいってエラーコードで判別する」でした。

 そんなこんなで以下のようにしてみました。