Start-Service
停止しているサービスを 1 つ以上開始します。
構文
Start-Service
[-InputObject] <ServiceController[]>
[-PassThru]
[-Include <String[]>]
[-Exclude <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Start-Service
[-Name] <String[]>
[-PassThru]
[-Include <String[]>]
[-Exclude <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Start-Service
[-PassThru]
-DisplayName <String[]>
[-Include <String[]>]
[-Exclude <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
このコマンドレットは、Windows プラットフォームでのみ使用できます。
Start-Service
コマンドレットは、指定された各サービスの開始メッセージを Windows サービス コントローラーに送信します。 サービスが既に実行中の場合は、メッセージが無視されます。エラーにはなりません。 サービス名または表示名でサービスを指定することも、 InputObject パラメーターを使用して、開始するサービスを表すサービス オブジェクトを指定することもできます。
例
例 1: 名前を使用してサービスを開始する
この例では、ローカル コンピューターで EventLog サービスを開始します。 Name パラメーターは、サービス名によってサービスを識別します。
Start-Service -Name "eventlog"
例 2: サービスを開始せずに情報を表示する
この例では、"remote" を含む表示名を持つサービスを開始した場合の動作を示します。
Start-Service -DisplayName *remote* -WhatIf
DisplayName パラメーターは、サービス名ではなく表示名でサービスを識別します。 WhatIf パラメーターを指定すると、コマンドの実行時に何が起こるかをコマンドレットに表示しますが、変更は行われません。
例 3: サービスを開始し、テキスト ファイルにアクションを記録する
次の使用例は、コンピューター上で Windows Management Instrumentation (WMI) サービスを開始し、services.txt ファイルにアクションのレコードを追加します。
$s = Get-Service wmi
Start-Service -InputObject $s -PassThru | Format-List >> services.txt
まず、 Get-Service
を使用して WMI サービスを表すオブジェクトを取得し、 $s
変数に格納します。 次に、サービスを開始します。 PassThru パラメーターがないと、Start-Service
は出力を作成しません。 パイプライン演算子 (|
) は、プロパティのリストとしてオブジェクトを書式設定するために、Format-List
コマンドレットにStart-Service
してオブジェクト出力を渡します。 追加リダイレクト演算子 (>>
) は、出力をservices.txt ファイルにリダイレクトします。 出力は、既存のファイルの末尾に追加されます。
例 4: 無効なサービスを開始する
この例では、サービスの開始の種類が Disabled のときにサービスを開始する方法を示します。
PS> Start-Service tlntsvr
Start-Service : Service 'Telnet (TlntSvr)' cannot be started due to the following error: Cannot start service TlntSvr on computer '.'.
At line:1 char:14
+ Start-Service <<<< tlntsvr
PS> Get-CimInstance win32_service | Where-Object Name -eq "tlntsvr"
ExitCode : 0
Name : TlntSvr
ProcessId : 0
StartMode : Disabled
State : Stopped
Status : OK
PS> Set-Service tlntsvr -StartupType manual
PS> Start-Service tlntsvr
Telnet サービス (tlntsvr) を最初に開始しようとすると失敗します。 Get-CimInstance
コマンドは、Tlntsvr サービスの StartMode プロパティが Disabled であることを示します。 Set-Service
コマンドレットは、開始の種類を Manual に変更します。 これで、 Start-Service
コマンドを再送信できるようになりました。 今度はコマンドが成功します。 コマンドが成功したことを確認するには、 Get-Service
を実行します。
パラメーター
-Confirm
コマンドレットの実行前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-DisplayName
開始するサービスの表示名を指定します。 ワイルドカード文字を使用できます。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | True |
-Exclude
このコマンドレットが省略するサービスを指定します。 このパラメーターの値は、 Name パラメーターを修飾します。 s*
などの名前要素またはパターンを入力します。 ワイルドカード文字を使用できます。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | True |
-Include
このコマンドレットが開始するサービスを指定します。 このパラメーターの値は、 Name パラメーターを修飾します。 s*
などの名前要素またはパターンを入力します。 ワイルドカード文字を使用できます。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | True |
-InputObject
開始するサービスを表す ServiceController オブジェクトを指定します。 オブジェクトが格納されている変数を入力するか、オブジェクトを取得するコマンドまたは式を入力します。
型: | ServiceController[] |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Name
開始するサービスのサービス名を指定します。
パラメーター名は省略可能です。 Nameまたはそのエイリアス、ServiceName を使用することも、パラメーター名を省略することもできます。
型: | String[] |
Aliases: | ServiceName |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-PassThru
サービスを表すオブジェクトを返します。 既定では、このコマンドレットによる出力はありません。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WhatIf
コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
サービス オブジェクトをこのコマンドレットにパイプできます。
サービス名を含む文字列をこのコマンドレットにパイプできます。
出力
None
既定では、このコマンドレットは出力を返しません。
PassThru パラメーターを使用すると、このコマンドレットはサービスを表す ServiceController オブジェクトを返します。
メモ
PowerShell には、 Start-Service
の次のエイリアスが含まれています。
- Windows:
sasv
このコマンドレットは、Windows プラットフォームでのみ使用できます。
Start-Service
は、現在のユーザーがこれを行うアクセス許可を持っている場合にのみ、サービスを制御できます。 コマンドが正常に機能しない場合は、必要なアクセス許可が与えられていない可能性があります。- システム上のサービス名と表示名を検索するには、「
Get-Service
」と入力します。 サービス名は Name 列に表示され、表示名は DisplayName 列に表示されます。 - 開始の種類が手動、自動、または自動 (遅延開始) のサービスのみを開始できます。 開始タイプが Disabled のサービスを開始することはできません。 メッセージ
Cannot start service \<service-name\> on computer
でStart-Service
コマンドが失敗した場合は、Get-CimInstance
を使用してサービスの開始の種類を検索し、必要にSet-Service
コマンドレットを使用してサービスの開始の種類を変更します。 - Performance Logs and Alerts (SysmonLog) などのいくつかのサービスは、処理しなければならない作業がないと自動的に停止します。 PowerShell は、ほぼ即座に停止するサービスを開始すると、次のメッセージを表示します。
Service \<display-name\> start failed.
関連リンク
PowerShell