Set-Service

サービスを開始、停止、および中断し、そのプロパティを変更します。

構文

Set-Service
   [-Name] <String>
   [-DisplayName <String>]
   [-Credential <PSCredential>]
   [-Description <String>]
   [-StartupType <ServiceStartupType>]
   [-Status <String>]
   [-SecurityDescriptorSddl <String>]
   [-Force]
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-Service
   [-InputObject] <ServiceController>
   [-DisplayName <String>]
   [-Credential <PSCredential>]
   [-Description <String>]
   [-StartupType <ServiceStartupType>]
   [-SecurityDescriptorSddl <String>]
   [-Status <String>]
   [-Force]
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

説明

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

このコマンドレットは Set-ServiceStatusDescriptionDisplayNameStartupType などのサービスのプロパティを変更します。 Set-Service は、サービスを開始、停止、中断、または一時停止できます。 サービスを識別するには、サービス名を入力するか、サービス オブジェクトを送信します。 または、サービス名またはサービス オブジェクトをパイプラインの下に送信します Set-Service

例 1: 表示名を変更する

この例では、サービスの表示名が変更されています。 元の表示名を表示するには、次を使用 Get-Serviceします。

Set-Service -Name LanmanWorkstation -DisplayName "LanMan Workstation"

Set-ServiceName パラメーターを使用して、サービスの名前 LanmanWorkstation を指定します。 DisplayName パラメーターは、新しい表示名 LanMan Workstation を指定します

例 2: サービスのスタートアップの種類を変更する

この例では、サービスのスタートアップの種類を変更する方法を示します。

Set-Service -Name BITS -StartupType Automatic
Get-Service BITS | Select-Object -Property Name, StartType, Status

Name  StartType   Status
----  ---------   ------
BITS  Automatic  Running

Set-Service、Name パラメーターを使用してサービスの 名前 BITS を指定します。 StartupType パラメーターは、サービスを Automatic に設定します

Get-Serviceは Name パラメーターを使用して BITS サービスを指定し、オブジェクトをパイプラインに送信します。 Select-Objectは、PROPERTY パラメーターを使用して BITS サービスの状態を表示します。

例 3: サービスの説明を変更する

次の使用例は、BITS サービスの説明を変更し、結果を表示します。

この Get-CimInstance コマンドレットは、サービスの Description を含む Win32_Service オブジェクトを返すので使用 されます

Get-CimInstance Win32_Service -Filter 'Name = "BITS"'  | Format-List  Name, Description

Name        : BITS
Description : Transfers files in the background using idle network bandwidth. If the service is
              disabled, then any applications that depend on BITS, such as Windows Update or MSN
              Explorer, will be unable to automatically download programs and other information.

Set-Service -Name BITS -Description "Transfers files in the background using idle network bandwidth."
Get-CimInstance Win32_Service -Filter 'Name = "BITS"' | Format-List  Name, Description

Name        : BITS
Description : Transfers files in the background using idle network bandwidth.

Get-CimInstance は、パイプラインの下にオブジェクトを Format-List 送信し、サービスの名前と説明を表示します。 比較の目的で、コマンドは説明が更新される前と後に実行されます。

Set-Service、Name パラメーターを使用して BITS サービスを指定します。 Description パラメーターは、サービスの説明の更新されたテキストを指定します。

例 4: サービスを開始する

この例では、サービスが開始されます。

Set-Service -Name WinRM -Status Running -PassThru

Status   Name               DisplayName
------   ----               -----------
Running  WinRM              Windows Remote Management (WS-Manag...

Set-Serviceは、Name パラメーターを使用してサービス WinRM を指定します。 Status パラメーターは、実行中の値を使用してサービスを開始します。 PassThru パラメーターは、結果を表示する ServiceController オブジェクトを出力します。

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

この例では、パイプラインを使用してサービスを一時停止します。

Get-Service -Name Schedule | Set-Service -Status Paused

Get-Serviceは、Name パラメーターを使用して Schedule サービスを指定し、オブジェクトをパイプラインに送信します。 Set-Service、Status パラメーターを使用してサービスを 一時停止に設定します。

例 6: サービスを停止する

この例では、変数を使用してサービスを停止します。

$S = Get-Service -Name Schedule
Set-Service -InputObject $S -Status Stopped

Get-Serviceは、Name パラメーターを使用してサービス、スケジュールを指定します。 オブジェクトは変数 $Sに格納されます。 Set-ServiceInputObject パラメーターを使用し、格納されている$Sオブジェクトを指定します。 Status パラメーターは、サービスを Stopped に設定します。

例 7: リモート・システムでサービスを停止する

次の使用例は、リモート コンピューター上のサービスを停止します。 詳細については、「 Invoke-Command」を参照してください。

$Cred = Get-Credential
$S = Get-Service -Name Schedule
Invoke-Command -ComputerName server01.contoso.com -Credential $Cred -ScriptBlock {
  Set-Service -InputObject $S -Status Stopped
}

Get-Credential は、ユーザー名とパスワードの入力を求め、資格情報を変数に $Cred 格納します。 Get-Serviceは、Name パラメーターを使用して Schedule サービスを指定します。 オブジェクトは変数 $Sに格納されます。

Invoke-CommandComputerName パラメーターを使用してリモート コンピューターを指定します。 Credential パラメーターは、変数を$Cred使用してコンピューターにサインオンします。 ScriptBlock が呼び出されますSet-ServiceInputObject パラメーターは、格納されている$Sサービス オブジェクトを指定します。 Status パラメーターは、サービスを Stopped に設定します。

例 8: サービスの資格情報を変更する

次の使用例は、サービスの管理に使用される資格情報を変更します。

$credential = Get-Credential
Set-Service -Name Schedule -Credential $credential

Get-Credential は、ユーザー名とパスワードの入力を求め、資格情報を変数に $credential 格納します。 Set-Serviceは、Name パラメーターを使用して Schedule サービスを指定します。 Credential パラメーターは変数を$credential使用し、Schedule サービスを更新します。

例 9: サービスの SecurityDescriptor を変更する

この例では、サービスの SecurityDescriptor を変更します

$SDDL = "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;SU)"
Set-Service -Name "BITS" -SecurityDescriptorSddl $SDDL

SecurityDescriptor は変数に$SDDL格納されます。 Set-Service、Name パラメーターを使用して BITS サービスを指定します。 SecurityDescriptorSddl パラメーターは、BITS サービスの SecurityDescriptor を変更するために使用$SDDLします。

パラメーター

-Confirm

実行する前に確認を求めるメッセージが表示されます Set-Service

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

-Credential

サービス ログオン アカウントとしてサービスによって使用されるアカウントを指定 します

User01 や Domain01\User01 などのユーザー名を入力するか、コマンドレットによって生成されるオブジェクトなど、PSCredential オブジェクトをGet-Credential入力します。 ユーザー名を入力すると、このコマンドレットによってパスワードの入力が求められます。

資格情報は PSCredential オブジェクトに 格納され、パスワードは SecureString として格納されます。

注意

SecureString データ保護の詳細については、「SecureString のセキュリティ保護方法」を参照してください。

このパラメーターは、PowerShell 6.0 で導入されました。

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

-Description

サービスの新しい説明を指定します。

サービスの説明は 、コンピューターの管理、サービスに表示されます。 DescriptionServiceController オブジェクトのGet-Serviceプロパティではありません。 サービスの説明を表示するには、 Get-CimInstance サービスを表す Win32_Service オブジェクトを返します。

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

-DisplayName

サービスの新しい表示名を指定します。

Type:String
Aliases:DN
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

サービスの停止モードを指定します。 このパラメーターは、使用されている場合 -Status Stopped にのみ機能します。 有効な場合は、 Set-Service ターゲット サービスが停止する前に依存サービスを停止します。 既定では、他の実行中のサービスがターゲット サービスに依存している場合、例外が発生します。

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

-InputObject

変更するサービスを表す ServiceController オブジェクトを指定します。 オブジェクトを含む変数を入力するか、コマンドなどのオブジェクトを取得するコマンドまたは式を Get-Service 入力します。 パイプラインを使用してサービス オブジェクト Set-Serviceを送信できます。

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

-Name

変更するサービスのサービス名を指定します。 ワイルドカード文字は使用できません。 パイプラインを使用してサービス名 Set-Serviceを送信できます。

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

-PassThru

変更されたサービスを表す ServiceController オブジェクトを返します。 既定では、 Set-Service 出力は生成されません。

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

-SecurityDescriptorSddl

サービスの SecurityDescriptorSddl 形式で指定します。

Type:String
Aliases:sd
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StartupType

サービスの開始モードを指定します。

このパラメーターで使用できる値は次のとおりです。

  • 自動 - システムの起動時に、オペレーティング システムによってサービスが開始または開始されました。 自動的に開始されるサービスが手動で開始されるサービスに依存する場合は、手動で開始されるサービスもシステムの起動時に自動的に開始されます。
  • AutomaticDelayedStart - システムが起動した直後に開始されます。
  • 無効 - サービスは無効であり、ユーザーまたはアプリケーションが開始することはできません。
  • InvalidValue - 効果はありません。 コマンドレットはエラーを返しませんが、サービスの StartupType は変更されません。
  • 手動 - サービスは、手動、ユーザー、Service Control Manager の使用、またはアプリケーションによってのみ開始されます。
Type:Microsoft.PowerShell.Commands.ServiceStartupType
Aliases:StartMode, SM, ST, StartType
Accepted values:Automatic, AutomaticDelayedStart, Disabled, InvalidValue, Manual
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Status

サービスの状態を指定します。

このパラメーターで使用できる値は次のとおりです。

  • 一時停止しました。 サービスを中断します。
  • 実行中。 サービスを開始します。
  • 停止済み。 サービスを停止します。
Type:String
Accepted values:Paused, Running, Stopped
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

実行した場合 Set-Service の動作を示します。 コマンドレットは実行されません。

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

入力

System.ServiceProcess.ServiceController, System.String

パイプラインを使用して、サービス オブジェクトまたはサービス名 Set-Serviceを含む文字列を送信できます。

出力

ServiceController

既定では、 Set-Service オブジェクトは返されません。 PassThru パラメーターを使用して ServiceController オブジェクトを出力します。

メモ

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

Set-Service には、管理者特権のアクセス許可が必要です。 [管理者として実行] オプションを使用します。

Set-Service は、現在のユーザーがサービスを管理するアクセス許可を持っている場合にのみ、サービスを制御できます。 コマンドが正しく動作しない場合は、必要なアクセス許可がない可能性があります。

サービスのサービス名または表示名を検索するには、次を使用 Get-Serviceします。 サービス名は [名前 ] 列にあり、表示名は DisplayName 列にあります。