次の方法で共有


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

入力

ServiceController

サービス オブジェクトをこのコマンドレットにパイプできます。

String

サービス名を含む文字列をこのコマンドレットにパイプできます。

出力

None

既定では、このコマンドレットは出力を返しません。

ServiceController

PassThru パラメーターを使用すると、このコマンドレットはサービスを表す ServiceController オブジェクトを返します。

メモ

PowerShell には、 Start-Serviceの次のエイリアスが含まれています。

  • Windows:
    • sasv

このコマンドレットは、Windows プラットフォームでのみ使用できます。

  • Start-Service は、現在のユーザーがこれを行うアクセス許可を持っている場合にのみ、サービスを制御できます。 コマンドが正常に機能しない場合は、必要なアクセス許可が与えられていない可能性があります。
  • システム上のサービス名と表示名を検索するには、「 Get-Service」と入力します。 サービス名は Name 列に表示され、表示名は DisplayName 列に表示されます。
  • 開始の種類が手動、自動、または自動 (遅延開始) のサービスのみを開始できます。 開始タイプが Disabled のサービスを開始することはできません。 メッセージ Cannot start service \<service-name\> on computerStart-Service コマンドが失敗した場合は、Get-CimInstanceを使用してサービスの開始の種類を検索し、必要にSet-Serviceコマンドレットを使用してサービスの開始の種類を変更します。
  • Performance Logs and Alerts (SysmonLog) などのいくつかのサービスは、処理しなければならない作業がないと自動的に停止します。 PowerShell は、ほぼ即座に停止するサービスを開始すると、次のメッセージを表示します。 Service \<display-name\> start failed.