今回は、scコマンド。Windowsのサービス関連のコマンドを使ってみます。
最初はもちろんヘルプから。引数なしで実行します。
C:\Users\takk>sc
説明:
SC はサービス コントロール マネージャーやサービスと通信するために使用
するコマンド ライン プログラムです。
使用法:
sc <サーバー> [コマンド] [サービス名] <オプション 1> <オプション 2>...
オプションの <サーバー> は "\\サーバー名" の形式です。
「sc [コマンド]」と入力するとコマンドの詳細なヘルプが表示されます。
コマンド一覧:
query-----------サービスの状態を照会したりサービスの種類ごと
に状態を列挙したりします。
queryex---------拡張されたサービスの状態を照会したりサービス
の種類ごとに状態を列挙したりします。
start-----------サービスを開始します。
pause-----------サービスに PAUSE 制御要求を送信します。
interrogate-----サービスに INTERROGATE 制御要求を送信します。
continue--------サービスに CONTINUE 制御要求を送信します。
stop------------サービスに STOP 要求を送信します。
config----------サービスの構成を変更します (恒久的)。
description-----サービスの説明を変更します。
failure---------エラー発生時のサービスの動作を変更します。
failureflag-----サービスの障害動作フラグを変更します。
sidtype---------サービスのサービス SID の種類を変更します。
privs-----------サービスの必要な特権を変更します。
managedaccount--サービス アカウントのパスワードを LSA で管理された
パスワードとマークするようにサービスを変更します。
qc--------------サービスの構成情報を照会します。
qdescription----サービスの説明を照会します。
qfailure--------エラー発生時のサービスの動作を照会します。
qfailureflag----サービスの障害動作フラグを照会します。
qsidtype--------サービスのサービス SID の種類を照会します。
qprivs----------サービスの必要な特権を照会します。
qtriggerinfo----サービスのトリガー パラメーターを照会します。
qpreferrednode--サービスの優先 NUMA ノードを照会します。
qmanagedaccount-パスワードが LSA で管理されたアカウントを
サービスで使用するかどうかを照会します。
qprotection-----サービスのプロセス保護レベルを照会します。
quserservice----ユーザー サービス テンプレートのローカル インスタンスを照会します。
delete----------レジストリからサービスを削除します。
create----------サービスを作成します (レジストリに追加します)。
control---------サービスに CONTROL コードを送信します。
sdshow----------サービスのセキュリティ記述子を表示します。
sdset-----------サービスのセキュリティ記述子を設定します。
showsid---------任意の名前に対応するサービス SID 文字列を表示します。
triggerinfo-----サービスのトリガー パラメーターを構成します。
preferrednode---サービスの優先 NUMA ノードを設定します。
GetDisplayName--サービスの DisplayName を取得します。
GetKeyName------サービスの ServiceKeyName を取得します。
EnumDepend------サービスの依存関係を列挙します。
次のコマンドはサービス名を指定しません:
sc <サーバー> <コマンド> <オプション>
boot------------(ok | bad) 最後に行われたブートを前回正常起動時
の構成として保存するかどうかを示します。
Lock------------サービス データベースをロックします。
QueryLock-------SCManager データベースの LockStatus を照会します。
例:
sc start MyService
QUERY と QUERYEX のオプション:
クエリ コマンドにサービス名が続く場合、サービスの状態が戻されます。
この場合、それ以上のオプションは適用されません。クエリ コマンドに
オプションがない場合やまたは以下に一覧に表示されているオプションが
続く場合は、サービスが列挙されます。
type= 列挙するサービスの種類 (driver、service、user service、all)
(既定 = service)
state= 列挙するサービスの状態 (inactive、all)
(既定 = active)
bufsize= 列挙バッファーのサイズ (バイト)
(既定 = 4096)
ri= 列挙の開始を指定するための再開インデックス番号
(既定 = 0)
group= 列挙するサービス グループ
(既定 = all groups)
構文の例
sc query - アクティブなサービス ドライバーの状態を列挙します
sc query eventlog - イベントログ サービスの状態を表示します
sc queryex eventlog - イベントログ サービスの拡張状態を表示します
sc query type= driver - アクティブなドライバーのみ列挙します
sc query type= service - Win32 サービスのみ列挙します
sc query state= all - サービスとドライバーをすべて列挙します
sc query bufsize= 50 - 50 バイトのバッファーで列挙します
sc query ri= 14 - 再開インデックスを = 14 にして列挙します
sc queryex group= "" - グループにないアクティブなサービスを列挙します
sc query type= interact - 対話型サービスをすべて列挙します
sc query type= driver group= NDIS - NDIS ドライバーをすべて列挙します
C:\Users\takk>
C:\Users\takk>sc query
SERVICE_NAME: Appinfo
DISPLAY_NAME: Application Information
TYPE : 30 WIN32
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
~省略~
SERVICE_NAME: VBoxSDS
DISPLAY_NAME: VirtualBox system service
TYPE : 10 WIN32_OWN_PROCESS
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
C:\Users\takk>
たくさん表示されました。Windowsを動かすためにまあいろんなサービスが動いていますからね。
最後に現れたのは、VirtualBoxのサービスのようです。ずっと動かしているのでSTATEもRUNNINGのままになってます。


コメント