- PR -

サーバサービスの制御方法について

1
投稿者投稿内容
よしな
常連さん
会議室デビュー日: 2003/06/16
投稿数: 20
投稿日時: 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

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