Suspend-Service

実行中の 1 つ以上のサービスを中断 (一時停止) します。

構文

Suspend-Service
       [-InputObject] <ServiceController[]>
       [-PassThru]
       [-Include <String[]>]
       [-Exclude <String[]>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Suspend-Service
       [-Name] <String[]>
       [-PassThru]
       [-Include <String[]>]
       [-Exclude <String[]>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Suspend-Service
       [-PassThru]
       -DisplayName <String[]>
       [-Include <String[]>]
       [-Exclude <String[]>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

説明

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

Suspend-Service コマンドレットは、指定された各サービスの中断メッセージを Windows サービス コントローラーに送信します。 一時停止中、サービスはまだ実行中ですが、 Resume-Service コマンドレットを使用するなどして、再開されるまでそのアクションは停止されます。 サービスは、サービス名または表示名で指定することも、 InputObject パラメーターを使用して、中断するサービスを表すサービス オブジェクトを渡すことができます。

例 1: サービスを中断する

PS C:\> Suspend-Service -DisplayName "Telnet"

このコマンドを実行すると、ローカル コンピューター上の Telnet サービス (Tlntsvr) が中断されます。

例 2: サービスを中断した場合の処理を表示する

PS C:\> Suspend-Service -Name lanman* -WhatIf

このコマンドは、lanman で始まるサービス名を持つサービスを中断した場合に何が起こるかを示します。 サービスを中断するには、 WhatIf パラメーターを指定せずにコマンドを再実行します。

例 3: サービスを取得して中断する

PS C:\> Get-Service schedule | Suspend-Service

このコマンドは、 Get-Service コマンドレットを使用して、コンピューター上のタスク スケジューラ (スケジュール) サービスを表すオブジェクトを取得します。 パイプライン演算子 (|) は結果を Suspend-Serviceに渡し、サービスを中断します。

例 4: 中断できるすべてのサービスを中断する

PS C:\> Get-Service | Where-Object {$_.CanPauseAndContinue -eq "True"} | Suspend-Service -Confirm

このコマンドを実行すると、コンピューター上の中断可能なすべてのサービスが中断されます。 Get-Serviceを使用して、コンピューター上のサービスを表すオブジェクトを取得します。 パイプライン演算子は結果を Where-Object コマンドレットに渡します。このコマンドレットでは、CanPauseAndContinue プロパティの値が $True のサービスのみを選択します。 別のパイプライン 演算子が結果を Suspend-Serviceに渡します。 Confirm パラメーターは、各サービスを中断する前に確認を求められます。

パラメーター

-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
ワイルドカード文字を受け取る:True

-PassThru

作業中の項目を表すオブジェクトを返します。 既定では、このコマンドレットによる出力はありません。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-WhatIf

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

型:SwitchParameter
Aliases:wi
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

ServiceController

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

String

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

出力

None

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

ServiceController

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

メモ

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

  • Suspend-Service は、現在のユーザーがこれを行うアクセス許可を持っている場合にのみ、サービスを制御できます。 コマンドが正常に機能しない場合は、必要なアクセス許可が与えられていない可能性があります。
  • Suspend-Service は、中断および再開をサポートするサービスのみを中断できます。 特定のサービスを中断できるかどうかを判断するには、 Get-Service コマンドレットを CanPauseAndContinue プロパティと共に使用します。 たとえば、Get-Service wmi | Format-List Name, CanPauseAndContinue のようにします。 中断できるコンピューター上のすべてのサービスを検索するには、「 Get-Service | Where-Object {$_.CanPauseAndContinue -eq $true}」と入力します。
  • システム上のサービス名と表示名を検索するには、「 Get-Service」と入力します。 サービス名は Name 列に表示され、表示名は DisplayName 列に表示されます。