次の方法で共有


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 渡し、オブジェクトをプロパティの一覧として書式設定します。 append リダイレクト演算子 (>>) は、出力を 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

コマンドレットの実行前に確認を求めるメッセージが表示されます。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisplayName

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

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:True

-Exclude

このコマンドレットが省略するサービスを指定します。 このパラメーターの値は 、Name パラメーターを修飾します。 name 要素またはパターン ( など s*) を入力します。 ワイルドカード文字を使用できます。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Include

このコマンドレットが開始するサービスを指定します。 このパラメーターの値は 、Name パラメーターを修飾します。 name 要素またはパターン ( など s*) を入力します。 ワイルドカード文字を使用できます。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-InputObject

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

Type:ServiceController[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

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

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

Type:String[]
Aliases:ServiceName
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

入力

ServiceController

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

String

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

出力

None

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

ServiceController

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

メモ

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

  • Windows の場合:
    • sasv

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

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