- PR -

Windowsサービスのプロパティをコマンドプロンプトで・・

1
投稿者投稿内容
taro
ベテラン
会議室デビュー日: 2003/08/06
投稿数: 55
投稿日時: 2006-09-15 18:58
WindowsXPでWindowsサービスのプロパティをコマンドプロンプトまたはVBScriptで設定する方法を探しています。
変更したいところはエラー発生時の処理です。
「サービスの再起動」を設定したいのですが、GUIでなくコマンドプロンプトまたはVBScirptでできたらと考えております。

どなたか参考文献・HP等または設定方法をご存知の方がいらっしゃいましたら
ご教授おねがいします。
ue
ぬし
会議室デビュー日: 2005/05/07
投稿数: 581
お住まい・勤務地: 広島市
投稿日時: 2006-09-15 23:51
こんばんは。
SC.exe を failure パラメータ付きで実行すれば実現できるはずです。
リンク先は Windows Server 2003 の情報ですが Windows XP も構文は同じです。

VBScript で処理するとしたら、レジストリを書き換える方法があります。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\サービス名
というキーに FailureActions というバイナリ値があります。
これを WScript.Shell オブジェクトの RegWrite メソッド を使って希望する値に書き換える方法です。
ただ、バイナリ値ということで設定すべき値を調査するのが大変だと思います。
_________________
上本亮介 (ue) @ わんくま同盟
Microsoft MVP for VSTO (Jul 2008 - Jun 2009)
Hello Another World!
.NET 勉強会 / ヒーロー島
taro
ベテラン
会議室デビュー日: 2003/08/06
投稿数: 55
投稿日時: 2006-09-19 13:33
ue様 ご教授ありがとうございました。

私が設定したいプロパティはプロパティ内の回復タグにある
@「最初のエラー」→ 
A「次のエラー」
B「その後のエラー」
の3つに「サービスの再起動を行う」を設定したいと思っております。

sc failure action= できるようなのですが、「サービスの再起動を行う」というオプションがどれに該当するかがわかりません。

どなたかご教授お願いします。


taro
ベテラン
会議室デビュー日: 2003/08/06
投稿数: 55
投稿日時: 2006-09-19 13:48
自己スレです

sc failure "サービス名" reset= 3600 actions=restart/1000/restart/1000/restart/1000

で設定できるようになりました。

ありがとうございました。
ue
ぬし
会議室デビュー日: 2005/05/07
投稿数: 581
お住まい・勤務地: 広島市
投稿日時: 2006-09-19 14:04
ueです。
解決されたようで何よりです。

日本語版 Windows Server 2003 の [サービスを再起動する] という選択肢は英語版の [Restart the Service] に対応するので、パラメータとして restart を選択するのが正解ですね。

同様に [プログラムを実行する] は [Run a File] に対応し [コンピュータを再起動する] は [Reboot the Computer] に対応するので、これらの動作を実現するにはそれぞれ run、reboot パラメータを当てはめることになります。
_________________
上本亮介 (ue) @ わんくま同盟
Microsoft MVP for VSTO (Jul 2008 - Jun 2009)
Hello Another World!
.NET 勉強会 / ヒーロー島
1

スキルアップ/キャリアアップ(JOB@IT)