- - PR -
サーバサービスの制御方法について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-04-07 19:22
いつもお世話になっております。
現在、スタンドアローンのサーバ2台(ともにWindows2003)がありまして 一方はWebサーバです。 今回行いたいと思っているのは、もう一方のサーバにexeを配置し、そのexeが実行されるとWebサーバのサービスを停止することを行いたいと思っております。 今はSystem.ServiceProcessを使用し下記のような関数を作成しローカルのWebサーバを停止するところまでできました。 しかし、他のサーバとなりますとマシン名を設定したのですが、 「サービス World Wide Web Publishing がコンピュータ 'マシン名' で見つかりませんでした。」 とエラーになります。 いろいろ調べたところ、アクセス権が問題ではないかというところまではつめたのですが、どのような方法で可能になるのかわかりません。 処理方法をご教授願えませんか? よろしくお願い致します。 Dim sc As New ServiceController 'サービスを操作するコントローラ Try 'コントローラへの設定 If Trim(サービス名) <> "" Then 'サービス表示名セット sc.DisplayName = サービス名 If Trim(マシン名) <> "" Then 'サーバ名セット(サーバ名がない場合はローカル) sc.MachineName = マシン名 End If 'サービス処理実行 Select Case int_Flg Case 0 '停止 If sc.Status = ServiceControllerStatus.Running Then If sc.CanStop Then '停止 sc.Stop() '停止するまで待機 sc.WaitForStatus(ServiceControllerStatus.Stopped) End If End If Case 1 '起動 If sc.Status = ServiceControllerStatus.Stopped Then sc.Start() '起動するまで待機 sc.WaitForStatus(ServiceControllerStatus.Running) End If End Select Else str_ErrMsg = "サービスの指定がありません。" Return False End If Return True Catch ex As Exception str_ErrMsg = ex.Message Return False End Try End Function |
1