Windows サービス

Windows NTオペレーティングシステムにおいて、 Windowsサービスはバックグラウンドで動作するコンピュータプログラムです[1]これはUnixデーモンに概念的に似ています[1] Windowsサービスは、Windowsサービスの管理を担うコンポーネントであるサービスコントロールマネージャーのインターフェース規則とプロトコルに準拠する必要があります。すべてのサービスを起動し、開始、終了などのアクションを管理するのは、サービスおよびコントローラーアプリケーションであるservices.exeです。[2]

Windowsサービスは、オペレーティングシステムの起動時に開始し、Windowsが動作している間はバックグラウンドで実行されるように設定できます。また、手動で開始したり、イベントによって開始したりすることもできます。Windows NTオペレーティングシステムには、システム、ネットワークサービス、ローカルサービスという3つのユーザーアカウントのコンテキストで実行される多数のサービスが含まれています。これらのWindowsコンポーネントは、多くの場合、Windowsサービスのホストプロセスに関連付けられています。Windowsサービスは専用のユーザーアカウントのコンテキストで動作するため、ユーザーがログオンしていない場合でも動作可能です。

Windows Vistaより前では、「対話型サービス」としてインストールされたサービスは、Windowsデスクトップと対話し、グラフィカルユーザーインターフェイスを表示できました。しかし、Windows Vistaでは、 Windowsサービスの強化により、対話型サービスは非推奨となり、正常に動作しない可能性があります[3] [4]

管理

Windows 管理者は、次の方法でサービスを管理できます。

サービススナップイン

Microsoft管理コンソール上に構築されたサービススナップインは、ローカルコンピュータまたはネットワーク上のリモートコンピュータに接続して、ユーザーが次のことを実行できるようにします。[1]

  • インストールされているサービスのリストをサービス名、説明、構成とともに表示する
  • サービスを開始、停止、一時停止、または再起動する[5]
  • 該当する場合はサービスパラメータを指定する
  • スタートアップの種類を変更します。使用可能なスタートアップの種類は次のとおりです。
    • 自動: サービスはシステムの起動時に開始されます。
    • 自動(遅延) : システムの起動完了後、しばらくしてサービスが開始されます。このオプションは、Windows Vistaで導入され、起動からデスクトップ表示までの時間を短縮することを目的としています。ただし、すべてのサービスが遅延開始をサポートしているわけではありません。[6]
    • 手動: 明示的に呼び出された場合にのみサービスが開始されます。
    • 無効: サービスは無効です。実行されません。
  • サービスが動作するユーザーアカウントのコンテキストを変更する
  • サービスに障害が発生した場合に実行する必要がある回復アクションを構成する
  • サービスの依存関係を検査し、特定のサービスに依存するサービスまたはデバイス ドライバー、または特定のサービスが依存するサービスまたはデバイス ドライバーを検出します。
  • サービスのリストをテキストファイルまたはCSVファイルとしてエクスポートする

コマンドライン

sc
開発者Microsoft、ReactOS 貢献者
オペレーティング·システムWindowsReactOS
タイプ指示
ライセンスWindows:独自の 商用ソフトウェア
ReactOS: GNU General Public License
Webサイトdocs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/cc754599(v%3dws.11)

Windowsサービスを管理するためのコマンドラインツールはsc.exeです。これはWindows NTのすべてのバージョンで利用できます[7]このユーティリティはWindows XP [8]以降[9]およびReactOSにも含まれています。

このscコマンドの管理範囲はローカルコンピュータに限定されています。ただし、Windows Server 2003以降では、scサービススナップインの機能すべてに加え、サービスのインストールとアンインストールも実行できます。[9]

このscコマンドはコマンドの一部の機能を複製しますnet[10]

ReactOSバージョンはGed Murphyによって開発され、GPLライセンスの下で提供されています。[11]

scサブコマンド
名前説明WindowsサポートReactOS サポート
クエリサービスステータスを表示はいはい
クエリエックス拡張サービス情報(例:pid、フラグ)を表示します。はいはい
始めるサービスを開始するはいはい
一時停止サービスを一時停止するはいはい
尋問するサービスにINTERROGATE制御要求を送信するはいはい
続くサービスを継続するはいはい
停止サービスを停止するはいはい
設定サービス構成を永続的に変更するはいはい
説明サービスの説明を変更するはいはい
失敗障害発生時にサービスが実行するアクションを変更するはいはい
失敗フラグはいいいえ
sidtypeはいいいえ
特権はいいいえ
管理アカウントはいいいえ
品質管理サービス構成を表示します (例: 依存関係、フルパスなど)はいはい
q説明サービスの説明を照会するはいはい
q失敗はいいいえ
qfailureflagはいいいえ
qsidタイプはいいいえ
qprivsはいいいえ
qtriggerinfoはいいいえ
qpreferrednodeはいいいえ
qmanagedaccountはいいいえ
q保護はいいいえ
quserserviceはいいいえ
消去サービスを削除するはいはい
作成するサービスを作成するはいはい
コントロールコントロールをサービスに送信するはいはい
sdshowSDDL を使用してサービスのセキュリティ記述子を表示するはいはい
sdsetSDDLを使用してサービスのセキュリティ記述子を設定しますはいはい
ショーシドはいいいえ
トリガー情報はいいいえ
優先ノードはいいいえ
表示名を取得サービスの表示名を表示するはいはい
GetKeyNameサービス ServiceKeyName を表示するはいはい
列挙依存サービスの依存関係を表示するはいはい
ブートはいいいえ
ロックはいいいえ
クエリロックはいいいえ

次の例では、アクティブなサービスとドライバーのステータスを列挙します。[12]

C:\> scクエリ

次の例では、Windowsイベントログサービスの状態を表示します[12]

C:\> sc クエリイベントログ

パワーシェル

Microsoft.PowerShell.Management PowerShell モジュール (Windows に含まれています) には、Windows サービスを管理するために使用できるコマンドレットがいくつかあります。

  • ゲットサービス[13]
  • 新サービス[14]
  • 再起動サービス[15]
  • 履歴書サービス[16]
  • セットサービス[17]
  • スタートサービス[18]
  • ストップサービス[19]
  • サービスの一時停止[20]

その他の管理ツール

Windowsには、スナップイン、Sc.exe、PowerShellの機能の一部を実行できるコンポーネントも含まれています。これらのnetコマンドは、Windowsサービスを開始、停止、一時停止、再開できます。[21] Windows Vista以降では、Windowsタスクマネージャーでインストールされているサービスの一覧を表示し、開始または停止できます。MSConfig、Windowsサービスを有効化または無効化できます(上記のスタートアップの種類の説明を参照)。

インストール

Windowsサービスは、 SetupAPIによって*.INFセットアップスクリプトを介してインストールおよび削除されます。インストールされたサービスはインストール後すぐに開始することができ、実行中のサービスはアンインストール前に停止することができます。[22] [23] [24]

発達

ネイティブサービスの作成

プログラムをWindowsサービスとして実行するには、サービスコントロールマネージャー(SCM)からシステムサービスAPIを介して送信されるサービスの開始、停止、一時停止のメッセージを処理できるようにプログラムを作成する必要があります。SCMは、サービスプロセスの管理を担うWindowsコンポーネントです。

アプリケーションをサービスとしてラッピングする

Windows NT 3.51Windows NT 4.0Windows 2000用のWindowsリソースキットには、サービスの使用と登録を制御するツールが用意されています。サービスラッパーとして機能し、サービスに期待されるインターフェース(service_startを処理し、後でservice_startedまたはservice_failedで応答するなど)を処理し、任意の実行可能ファイルまたはスクリプトをサービスとして構成できるようにします。新しいサービスをインストール、開始、停止、アンインストールできます。[25]SrvAny.exeSc.exe

参照

Windows サービス
コンセプト

参考文献

  1. ^ abc 「サービスの概要」。TechNet。Microsoft 20133月29日閲覧
  2. ^ 「サービス」. Microsoft Developer Network . Microsoft . 2013年3月29日閲覧
  3. ^ 「Windows Vista向けの新しいElevation PowerToys」。TechNet Magazine。Microsoft2008年6月。 2013年6月21日閲覧。CmdAsSystemサービスは対話型として構成されていますが、そのサポートは廃止される予定です。サービスは正常に機能しない可能性があります。問題は、このスクリプトが対話型サービスの作成と開始を試行することです。対話型サービスは、Windows Vistaのセッション0分離により正常に機能しません。
  4. ^ 「Windows のサービス」MSDNMicrosoft、2010年10月18日、 2013年6月21日閲覧
  5. ^ 「サービスを開始、停止、一時停止、再開、または再起動する」。TechNet Microsoft 。 2013年3月29日閲覧
  6. ^ "ServiceInstaller.DelayedAutoStart Property (System.ServiceProcess)". Microsoft . 2017年11月28日閲覧。備考欄を参照。{{cite web}}: CS1 maint: postscript (link)
  7. ^ 「Sc.exeを使用してWindowsサービスを作成する方法」。サポート。Microsoft。2011年9月11日。 2013年3月29日閲覧
  8. ^ 「コマンドラインリファレンスAZ: SC」。TechNet。Microsoft 20141月8日閲覧
  9. ^ ab 「コマンドラインリファレンス: Sc」。TechNet。Microsoft20141月8日閲覧。Windows 7、Windows 8、Windows Server 2003、Windows Server 2003 R2、Windows Server 2003 SP1、Windows Server 2003 SP2、Windows Server 2008、Windows Server 2008 R2、Windows Server 2012、Windows Vista
  10. ^ SC - サービス コントロール - Windows CMD - SS64.com
  11. ^ reactos/sc.c at master · reactos/reactos · GitHub
  12. ^ ab MS-DOS および Windows コマンドライン sc コマンド
  13. ^ "Get-Service". TechNet . Microsoft . 2013年3月29日閲覧
  14. ^ "New-Service". TechNet . Microsoft . 2013年3月29日閲覧
  15. ^ "Restart-Service". TechNet . Microsoft . 2013年3月29日閲覧
  16. ^ "Resume-Service". TechNet . Microsoft . 2013年3月29日閲覧
  17. ^ "Set-Service". TechNet . Microsoft . 2013年3月29日閲覧
  18. ^ "Start-Service". TechNet . Microsoft . 2013年3月29日閲覧
  19. ^ "Stop-Service". TechNet . Microsoft . 2013年3月29日閲覧
  20. ^ "Suspend-Service". TechNet . Microsoft . 2013年3月29日閲覧
  21. ^ 「サービスを開始、停止、一時停止、再開、または再起動する」。TechNet Microsoft2014年1月8日閲覧
  22. ^ 「INF AddService ディレクティブ」。Microsoft . 2017年7月10日閲覧
  23. ^ "SetupInstallServicesFromInfSection 関数". MSDN . Microsoft . 2017年7月10日閲覧
  24. ^ "SetupInstallServicesFromInfSectionEx 関数". MSDN . Microsoft . 2017年7月10日閲覧
  25. ^ 「ユーザー定義サービスを作成する方法」。サポート。Microsoft 。 2013年3月29日閲覧

さらに読む

  • Savill, John (1999年3月5日). 「ServicesサブキーのErrorControl、Start、Typeの値とは?」. Windows IT Pro . Penton Media . 2013年3月29日閲覧.
  • David B. Probert、Windows サービス プロセス
  • Windows Sysinternals: Autoruns for Windows v13.4 – サービスの非常に詳細なクエリ
  • コマンドラインから Windows Sc を使ってサービスを管理する - Windows サービス管理チュートリアル
  • Windows サービス マネージャー トレイ
Retrieved from "https://en.wikipedia.org/w/index.php?title=Windows_service&oldid=1237793043"