停止しているサービスを 1 つ以上開始します。

構文

Start-Service [-Name] <string[]> [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-確認] [-WhatIf] [<CommonParameters>]

Start-Service -DisplayName <string[]> [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-確認] [-WhatIf] [<CommonParameters>]

Start-Service [-InputObject <ServiceController[]>] [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-確認] [-WhatIf] [<CommonParameters>]

説明

Start-Service コマンドレットは、ユーザーが指定した各サービスについて、Windows サービス コントローラーに開始メッセージを送ります。サービスが既に実行中の場合は、メッセージが無視されます。エラーにはなりません。サービスはサービス名または表示名で指定するか、InputObject パラメーターを使用して、開始するサービスを表すサービス オブジェクトを渡します。

パラメーター

-DisplayName <string[]>

開始するサービスの表示名を指定します。ワイルドカードを使用できます。

必須

true

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Exclude <string[]>

指定されたサービスを除外します。このパラメーターの値は、Name パラメーターを修飾します。"s*" などの名前要素またはパターンを入力します。ワイルドカードを使用できます。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Include <string[]>

指定されたサービスだけを開始します。このパラメーターの値は、Name パラメーターを修飾します。"s*" などの名前要素またはパターンを入力します。ワイルドカードを使用できます。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-InputObject <ServiceController[]>

開始するサービスを表す ServiceController オブジェクトを指定します。オブジェクトが格納されている変数を入力するか、オブジェクトを取得するコマンドまたは式を入力します。

必須

false

位置

named

既定値

パイプライン入力を許可する

true (ByValue)

ワイルドカード文字を許可する

false

-Name <string[]>

開始するサービスのサービス名を指定します。

パラメーター名は省略可能です。-Name またはそのエイリアスである -ServiceName を使用するか、パラメーター名を省略することができます。

必須

true

位置

1

既定値

パイプライン入力を許可する

true (ByValue, ByPropertyName)

ワイルドカード文字を許可する

false

-PassThru

サービスを表すオブジェクトを返します。既定では、このコマンドレットによる出力はありません。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-確認

コマンドを実行する前に確認メッセージを表示します。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-WhatIf

実際にコマンドを実行せずに、コマンドを実行すると何が起きるかを出力します。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

<CommonParameters>

このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。Ô”¼š¤Ë¤Ä¤¤¤Æ¤Ï¡¢次を参照してください: about_Commonparameters.

入力と出力

入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。

入力

System.ServiceProcess.ServiceController, System.String

パイプを使用して、サービスまたはサービス名を含む文字列を表すオブジェクトを Start-Service に渡すことができます。

出力

なし、または System.ServiceProcess.ServiceController

PassThru パラメーターを使用すると、Start-Service はサービスを表す System.ServiceProcess.ServiceController オブジェクトを生成します。それ以外の場合、このコマンドレットによる出力はありません。

Start-Service は、その組み込みエイリアスである "sasv" で参照することもできます。詳細については、「about_Aliases」を参照してください。

Start-Service では、現在のユーザーに権限がある場合のみサービスを制御できます。コマンドが正常に機能しない場合は、必要な権限が与えられていない可能性があります。

システム上のサービスのサービス名と表示名を参照するには、「get-service」と入力します。サービス名は [Name] 欄に表示され、表示名は [DisplayName] 欄に表示されます。

開始できるサービスは、スタートアップの種類が [手動] または [自動] のサービスだけです。スタートアップの種類が [無効] のサービスは開始できません。"コンピューターでサービス <service-name> を開始できない" という内容のメッセージが表示されて Start-Service コマンドが失敗した場合は、Get-WmiObject コマンドを使用して、サービスのスタートアップの種類を確認します。その後、必要に応じて Set-Service コマンドを使用し、サービスのスタートアップの種類を変更してください。

Performance Logs and Alerts (SysmonLog) などいくつかのサービスは、処理しなければならない作業がないと自動的に停止します。Windows PowerShell がサービスを起動し、そのサービスがすぐに停止した場合、"サービス <表示名> を開始できませんでした。" というメッセージが表示されます。

例 1

C:\PS>start-service -name eventlog

説明
-----------
このコマンドを実行すると、ローカル コンピューターで EventLog サービスが開始されます。Name パラメーターを使用し、サービス名でサービスを識別しています。






例 2

C:\PS>start-service -displayname *remote* -whatif

説明
-----------
このコマンドを実行すると、表示名に "remote" が含まれるサービスを開始するとどうなるかが表示されます。DisplayName パラメーターを使用して、サービス名ではなく、表示名でサービスを指定します。また、WhatIf パラメーターを使用して、実際にコマンドを実行せずに、コマンドを実行するとどうなるかを表示しています。






例 3

C:\PS>$s = get-service wmi

C:\PS>start-service -InputObject $s -passthru | format-list >> services.txt

説明
-----------
これらのコマンドを実行すると、コンピューター上で Windows Management Instrumentation (WMI) サービスが開始され、動作の記録が services.txt ファイルに追加されます。最初のコマンドは、Get-Service コマンドレットを使用して、WMI サービスを表すオブジェクトを取得し、変数 $s に格納します。

2 番目のコマンドは、Start-Service コマンドレットを使用して、WMI サービスを開始します。InputObject パラメーターを使用し、WMI サービス オブジェクトが格納されている変数 $s を Start-Service に渡すことで、サービスを識別しています。次に、PassThru パラメーターを使用して、サービスの開始を表すオブジェクトを作成しています。このパラメーターがないと、Start-Service は何も出力しません。

パイプライン演算子 (|) により、Start-Service が作成したオブジェクトが Format-List コマンドレットに渡され、オブジェクトがプロパティのリストとして書式設定されます。追加リダイレクト演算子 (>>) により、出力が services.txt ファイルにリダイレクトされ、既存のファイルの最後に追加されます。






例 4

C:\PS># start-service

説明
-----------
この一連のコマンドは、サービスのスタートアップの種類が [無効] の場合にサービスを開始する方法を示しています。最初のコマンドは、Start-Service コマンドレットを使用して Telnet サービス (tlntsvr) を開始しようとしますが、失敗します。

C:\PS>start-service tlntsvr

Start-Service : 次のエラーのため、サービス 'Telnet (TlntSvr)' を開始できません: コンピューター '.' でサービス TlntSvr を開始できません。
行: 1 文字: 14
+ start-service  <<<< tlntsvr

2 番目のコマンドは、Get-WmiObject コマンドレットを使用して、Tlntsvr サービスを取得しています。このコマンドは、StartMode フィールドにスタートアップの種類のプロパティを持つオブジェクトを取得します。表示結果から、Tlntsvr サービスのスタートアップの種類が [無効] になっていることがわかります。

C:\PS> get-wmiobject win32_service | where-object {$_.Name -eq "tlntsvr"}

ExitCode  : 0
Name      : TlntSvr
ProcessId : 0
StartMode : Disabled
State     : Stopped
Status    : OK

次のコマンドは、Set-Service コマンドレットを使用して、Tlntsvr サービスのスタートアップの種類を [手動] に変更しています。

C:\PS> set-service tlntsvr -startuptype manual

これで、Start-Service コマンドを再度実行できるようになります。今度はコマンドが成功します。

C:\PS> start-service tlntsvr

コマンドが成功したかどうかを確認するには、Get-Service を使用します。






関連項目




目次