次の方法で共有


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

入力

ServiceController

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

String

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

出力

None

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

ServiceController

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.