OSはWIndows2003 Serverです
よろしくお願い致します。
「ファイル名を指定して実行」で msconfig と入力してシステム構成ユーティリティーを呼び出してからサービスの部分でそれぞれ選ぶやり方ではだめですか?
WSHで作ってみました。
以下のスクリプトを「サービス切替.vbs」などの適当な名前で保存して、ダブルクリックしてください。
'ここから-------------------------------------
Option Explicit
Dim WshShell
Dim serviceName, startType
Dim oldVal
Set WshShell = WScript.CreateObject("WScript.Shell")
serviceName = InputBox("サービス名を入力してください。" & vbCrLf & "キャンセルは未入力","サービスの切替え")
If serviceName = "" Then
WScript.Quit
End If
On Error Resume Next
oldVal = WshShell.RegRead ("HKLM\SYSTEM\CurrentControlSet\Services\" & serviceName & "\Start")
If Err.Number <> 0 Then
MsgBox "サービス名が間違っています。"
WScript.Quit
End If
On Error Goto 0
startType = InputBox("自動:2 手動:3 無効:4 を入力してください。" & vbCrLf & "キャンセルは未入力","サービスの切替え")
If startType = "" Then
WScript.Quit
End If
If startType = "2" Or startType = "3" Or startType = "4" Then
Else
MsgBox "数値2~3を入力してください"
WScript.Quit
End If
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\" & serviceName & "\Start" , startType, "REG_DWORD"
MsgBox "切替完了!"
重要
すみませんです。
先ほど回答させていただきましたスクリプトはレジストリを変更するものです。
念のため、実行前にレジストリのバックアップ等、安全を確保しておいてください。
また、スクリプトが判るようでしたら、一度、目を通しておいてください。
レジストリの変更内容は、
以下を参考にしました。
WindowsXP サービス一覧
http://gtrz.s7.xrea.com/doc/servicetips.php
サービス関連のレジストリの場所
ご返信ありがとうございます!!
レジストリの設定をWSHで変えてしまうですね!!
なるほどです。
実際に使うかどうかは別にして(レジストリいじるのはちょっと怖いので)とても勉強になりました!!
ありがとうございます!!
XP 以降だけが対象なら、SC コマンドで事足りますが、2000 や NT も対象になるようでしたら、
net start と net stop コマンド(起動と停止のみ)が使えると思います。
http://itpro.nikkeibp.co.jp/free/NT/WinKeyWord/20040805/1/net_st...
http://itpro.nikkeibp.co.jp/free/NT/WinKeyWord/20040805/1/net_st...
自動起動、手動起動 などの設定をしたい場合は、2000 以降でしたら WSH によるレジストリの制御でできると思います。
OS により使用できる手段が異なりますので、ご注意ください。
ご返信ありがとうございます。
SCコマンドがやはりいいみたいです。
サーバなのでレジストリを動かすってなんか抵抗があって… みなさん稼働してるサーバでもレジストリって触わるのにあんまり抵抗ないのかなぁあ… うーん…
ご返信ありがとうございます。
おっしゃる通り通常であれば、ご指摘の方法で問題ないのですが、ある特殊なアプリケーションを使用しているため「何度も何度も手動から自動に」また「大量のサービスの設定変更」が発生してしまうのです。
ご返信ありがとうございました。よろしくお願い致します。