Windowsイベントログの保存

 個人情報保護法やら何やらの件で、今まで余裕ぶっこいてあまり真面目に考えていなかったWindowsマシンのログもいちおう取っておこうかなという気になった(笑)

 仕事関係の中核マシンは監視の絡みもあるので、Snareみたいな仕掛けを使って比較的しっかり作っているのだが、さほど重要度の高くないWindowsサーバはほとんどローテートするに任せていた。

ようするに何もしていなかったわけである(爆)

 これだとイザという時困るかも…ということで、せめてバックアップくらいは取って置こうかと思ったわけである。

 どんな時がイザという時なのか…と問われると、よくわからんのだが(笑)。

 イベントログファイルは、リソースキットツールのDumpel.exeとかElogDmp.exeなどでもエクスポートできるが、パージといっしょに行いたかったので、WMIを使ったスクリプトを用意した。
 実際には纏めて圧縮アーカイブしたり二次記憶媒体に書き込んだりで、もっと複雑だが、キモ的にはこんな感じ。

ソース
[PR]
# by SIGNAL-9 | 2005-03-28 15:00 | TIPSとかKludgeとか | Comments(0)

古いSolarisで大量ユーザ登録

 何の因果か応報か、今時Solaris2.6(爆)でメールサーバ動かしてくれと頼まれた。
 どーしてそーゆー事になったのかは、我ながら信じられない事情なので省く。

しいていえば太陽のせいだ

 でまあ、OSやらsendmailやらqpopperやら、指定されたソフトのインストール自体は問題なかったのだが、ちょっと困ったのがここに数百人分のユーザ登録が必要、ということだったのである。

 Solaris2.6ではユーザ登録はadduserコマンドで行える。ユーザ自体の登録とホームディレクトリ掘りは、このコマンドで一発である。
 が、これを使ってもadmintoolを使っても、初期登録時はパスワードロックされており、必ずパスワードを登録しなければ使用開始できない。
 問題は、このパスワードの設定である。

 初期パスワード自体はアカウント名からのハナモゲラでよいということなので、自動生成できるとして、問題はそれをどうやってSolaris君に喰わせるか。

 ちょっと見てみたらSolaris2.6のpasswdコマンドは、入出力ともstderrであり、普通のシェルスクリプトでリダイレクトでコントロールするのが難しい。つまり、

passwd foo 12346
passwd baz 12346


みたいなコマンドをズラズラ書いたシェルスクリプトで一括登録!ってわけにはいかないんである。
 cryptを使って自前で暗号化したpasswdファイルを生成して差し替えてしまおうか、と思ったが、よく考えりゃあshadowパスワードだ。んな事やったことないからなぁ。Linuxみたいにshadow on/offができりゃあいいのだが、残念なことにSolaris2.6君はできないみたいだ。
 いずれにしてもこの方法だと、差し替える時にシングルユーザモードでないとまずそうだし、現に生きて動いているサーバの場合、こりゃあちょっとまずそうだ。

 うううううううううううううん。
 と10分ばかり考えた末、結局、telnetソフトのTeraTermを立ち上げた。


timeout = 1
fileopen fhandle 'passwd.txt' 0
:loop
filereadln fhandle uname
if result goto fclose
filereadln fhandle passtext
if result goto fclose
passcmd = 'passwd '
strconcat passcmd uname
sendln passcmd
wait "New password:"
sendln passtext
wait "Re-enter new password:"
sendln passtext
waitln "#"
goto loop
:fclose
fileclose fhandle


TeraTerm用に、概略上のようなマクロを書いた。

要するに、


ユーザー名
パスワード



というファイルを順次読み込んで、自動的にpasswdコマンドを次から次へと動かしてしまえ、という甚だカッチョ悪い方法である。おまけに死ぬほど遅い

 がこれにもいいところはあって、あくまでも正規のpasswdコマンドを通しているので間違いは少ないし、システムを停止する必要もない上、動かしっぱなしで帰ってしまえば翌日には終わってる(笑)

まあ、どう考えても良い方法ではないが、どうせ一発ものだし、うまくいったからどうでもいいか(爆)
[PR]
# by SIGNAL-9 | 2005-03-25 18:42 | TIPSとかKludgeとか | Comments(1)

失敗知識データベース

JST失敗知識データベース

2005年3月23日
失敗知識データベースの一般公開開始について

失敗知識データベースは、2005年3月23日より一般公開しました。(無料)

このデータベースは、単なる事故事例データベースにはない以下のような特徴を備えており、この事業を統括している畑村洋太郎 工学院大学教授を中心に、失敗事例を分析して得た教訓を知識として活用できるようなデータベースを目指して開発しました。

(1)失敗の原因、行動、結果を分類して体系化した「失敗まんだら」と、それに基づいて失敗に至る脈絡を記述する「シナリオ」という表現法を開発。

(2)機械、材料、化学物質・プラント、建設の4分野で約1,000件のデータを搭載。

(3)「失敗百選」として失敗事例の中から国内外の典型的な事例を100例程度取り上げ、読みやすく記述。なお、一般公開開始時は、数十件の失敗百選を搭載していますが、以降、順次件数を増やす予定です。

事故や失敗の未然防止や、技術研修・技術学習等に、是非ご活用下さい。


データベースという性格上、報告書様式なので現場のドロドロ感が希薄だが、よく考えたらそんなドロドロしたデータベースは嫌か(笑)。

参考にはなりそうだが、飛行機の墜落事故と配管の破裂事故を同列のデータ管理のレベルに並べてしまって、後で困らないのかしら…と他人事ながらちょっと心配。

それと、掲載数が合計で1000件ちょっと、というのは量的に物足りなくないか。
ちなみにJSTといえば独立行政法人で、けっこうな(えっ、と思うような額の)国費を使っている、わりと大きい組織である。

もちろんこれ一事が万事ではないだろうが、そんな組織が麗々しくくデビューさせたわりには、コンテンツが寂しいような気がする。

そういえば国立公文書館のデジタルアーカイブサービスも4/1から運用開始。
[PR]
# by SIGNAL-9 | 2005-03-25 15:02 | 情報保護・セキュリティ | Comments(0)

VBScriptでSAP R/3をアクセス

VBScriptでSAP R/3 のテーブルを読むサンプル。
知り合いに頼まれたんでちょこちょこと書いたのだが、他に需要も無いのでメモとして晒す。

.NET時代突入でVBSも使わなくなるよなぁ…と思っていたが、


  1. バッチファイル代わりに作ったレガシーな小物が意外に多いんで書き換えるのがメンドい
  2. .NETランタイムが無いマシンでも、WSHくらいは使えるだろ?
  3. ExcelなんかのVBAに焼きなおすのも相対的にラク
  4. 使っているCOMコントロールの類が全部.NET対応というわけではない。.NETで従来のCOMを動かすことは「可能」だが、「可能」ということと「使い物になる」ということは別問題。

みたいなこともあるので、俺はまだけっこう使ってる。

ソースに続く…
[PR]
# by SIGNAL-9 | 2005-03-24 14:20 | TIPSとかKludgeとか | Comments(0)