web-dev-qa-db-ja.com

NET START <SERVICE>-サービス名を取得する方法/場所は?

サービスを再起動するための共通スクリプトを作成する必要があります。

net stop <service>
net start <service>

問題は、サービスの名前がわからないことです。たとえば、「printer spooler "は" spooler "という名前です。

どのようにしてサービスの名前を見つけることができますか?

17
gaffcz
  1. スタート→実行
  2. 次にservices.mscと入力します。
  3. 興味のあるサービスをダブルクリックします。

見るべき:

enter image description here

26
Tung

scではなく net を使用してください。これはWindows XPで最初に導入されました(IIRC)。

sc GetKeyName "printer spooler"

次のようなものを印刷する必要があります:

[SC] GetServiceKeyName SUCCESS  Name = Spooler

そして、その名前をsc startsc stopなどの他のコマンドで使用できます。

これは、レジストリHKLM\System\CurrentControlSet\Servicesから取得します。各サブキーは、サービスまたはドライバーの名前です。探しているものを検索してください。

7
rodrigo

PowerShellにアクセスできるシステムの場合。これを行うためのより良い方法は、コマンドレット「Get-Service」を使用することです。次のように入力して呼び出すことができます。

Get-Service -DisplayName "Print Spooler"

どちらが返されます:

Status   Name               DisplayName
------   ----               -----------
Running  Spooler            Print Spooler

[名前]でサービスの名前を取得します。 DisplayNameパラメータは、必要に応じてワイルドカードを使用できます。表示名を取得したい場合は、次のように記述できます。

 Get-Service -Name spooler

上記と同じテーブルを返します。次のように書くこともできます:

(Get-Service -DisplayName "Print Spooler").Name

名前だけを取得する(テーブルを避けます)。

これは、サービスが実行されているかどうかを確認する場合にのみ必要です。 PowerShellには、コマンド名Start-ServiceおよびStop-Serviceがあり、パラメーター-Nameおよび-DisplayNameを取得できるため、次のように記述できます。

Start-Service -DisplayName "Print Spooler"
Stop-Service -DisplayName "Print Spooler"

サービスを開始および停止します。

この場合、私はPowerShell 2.0を使用したので、XPを含む上記のすべてのWindowsで動作すると思います。

4
Martin Lind