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
は出力を作成しません。 パイプライン演算子 (|
) は、オブジェクトの出力を Start-Service
して Format-List
コマンドレットに渡し、オブジェクトをプロパティの一覧として書式設定します。 追加リダイレクト演算子 (>>
) は、出力を services.txt ファイルにリダイレクトします。 出力は、既存のファイルの末尾に追加されます。
例 4: 無効なサービスを開始する
この例では、サービスの開始の種類が [無効] 場合にサービスを開始する方法を示します。
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
コマンドレットは、開始の種類を手動 変更します。 これで、Start-Service
コマンドを再送信できるようになりました。 今回は、コマンドは成功します。 コマンドが成功したことを確認するには、Get-Service
実行します。
パラメーター
-Confirm
コマンドレットを実行する前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-DisplayName
開始するサービスの表示名を指定します。 ワイルドカード文字を使用できます。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | True |
-Exclude
このコマンドレットが省略するサービスを指定します。 このパラメーターの値は、Name パラメーターを修飾します。
s*
など、name 要素またはパターンを入力します。 ワイルドカード文字を使用できます。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | True |
-Include
このコマンドレットが開始するサービスを指定します。 このパラメーターの値は、Name パラメーターを修飾します。
s*
など、name 要素またはパターンを入力します。 ワイルドカード文字を使用できます。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | True |
-InputObject
開始するサービス 表す ServiceController オブジェクトを指定します。 オブジェクトを含む変数を入力するか、オブジェクトを取得するコマンドまたは式を入力します。
型: | ServiceController[] |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-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
の次のエイリアスが含まれています。
- ウィンドウズ:
sasv
このコマンドレットは、Windows プラットフォームでのみ使用できます。
- 既定では、Administrators グループのメンバーのみがサービスを開始、停止、一時停止、再開、または再起動できます。 Administrators グループのメンバーである場合は、管理者特権の PowerShell セッションから
Start-Service
を実行する必要があります。 PowerShell を起動するには、[管理者として実行 オプションを使用します。 - システム上のサービス名と表示名を検索するには、「
Get-Service
」と入力します。 サービス名は Name 列に表示され、表示名は DisplayName 列に表示されます。 - 開始の種類が手動、自動、または自動 (遅延開始) のサービスのみを開始できます。 開始タイプが Disabled のサービスを開始することはできません。
Start-Service
コマンドがメッセージCannot start service \<service-name\> on computer
で失敗した場合は、Get-CimInstance
を使用してサービスの開始の種類を見つけ、必要にSet-Service
コマンドレットを使用してサービスの開始の種類を変更します。 - パフォーマンス ログやアラート (SysmonLog) などの一部のサービスは、実行する作業がない場合は自動的に停止します。 PowerShell は、ほぼ即座に停止するサービスを開始すると、次のメッセージが表示されます:
Service \<display-name\> start failed.
関連リンク
PowerShell