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 プラットフォームでのみ使用できます。
このコマンドレットは、Status、Description、DisplayName、StartupType などのサービスのプロパティを変更します。Set-Service
Set-Service
は、サービスを開始、停止、中断、または一時停止できます。 サービスを識別するには、サービス名を入力するか、サービス オブジェクトを送信します。 または、サービス名またはサービス オブジェクトをパイプラインの下に送信します Set-Service
。
例
例 1: 表示名を変更する
この例では、サービスの表示名が変更されています。 元の表示名を表示するには、Get-Service
Set-Service -Name LanmanWorkstation -DisplayName "LanMan Workstation"
Set-Service
では、 Name パラメーターを使用してサービスの名前 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 パラメーターは、値 Running を使用してサービスを開始します。 PassThru パラメーターは、結果を表示する ServiceController オブジェクトを出力します。
例 5: サービスを中断する
この例では、パイプラインを使用してサービスを一時停止します。
Get-Service -Name Schedule | Set-Service -Status Paused
Get-Service
では、Name パラメーターを使用して Schedule サービスを指定し、オブジェクトをパイプラインの下に送信します。 Set-Service
は、Status パラメーターを使用してサービスを Paused に設定します。
例 6: サービスを停止する
この例では、変数を使用してサービスを停止します。
$S = Get-Service -Name Schedule
Set-Service -InputObject $S -Status Stopped
Get-Service
では、Name パラメーターを使用してサービス Schedule を指定します。 オブジェクトは変数 $S
に格納されます。 Set-Service
は InputObject パラメーターを使用し、格納されている$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-Command
は ComputerName パラメーターを使用してリモート コンピューターを指定します。 Credential パラメーターは、変数を$Cred
使用してコンピューターにサインオンします。 ScriptBlock が呼び出されますSet-Service
。 InputObject パラメーターは、格納されている$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
します。
例 10: 複数のサービスのスタートアップの種類を設定する
コマンドレットは Set-Service
、一度に 1 つのサービス名のみを受け入れます。 ただし、複数のサービスをパイプ処理して Set-Service
、複数のサービスの構成を変更できます。
Get-Service SQLWriter,spooler |
Set-Service -StartupType Automatic -PassThru |
Select-Object Name, StartType
Name StartType
---- ---------
spooler Automatic
SQLWriter Automatic
パラメーター
-Confirm
実行する前に確認を求めるメッセージが表示されます Set-Service
。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
サービス ログオン アカウントとしてサービスによって使用されるアカウントを 指定します。
User01 や Doメイン01\User01 などのユーザー名を入力するか、コマンドレットによってGet-Credential
生成された PSCredential オブジェクトを入力します。 ユーザー名を入力すると、このコマンドレットによってパスワードの入力が求められます。
資格情報は PSCredential オブジェクトに格納され、パスワードは SecureString として格納されます。
Note
SecureString データ保護の詳細については、「SecureString のセキュリティ保護方法」を参照してください。
このパラメーターは、PowerShell 6.0 で導入されました。
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
サービスの新しい説明を指定します。
サービスの説明は、[コンピューターの管理] の [サービス] に表示されます。 Description は ServiceController オブジェクトのGet-Service
プロパティではありません。 サービスの説明を表示するには、サービスを表すWin32_Service オブジェクトを返す値を使用Get-CimInstance
します。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisplayName
サービスの新しい表示名を指定します。
Note
通常、Windows サービスでのみ動作し、 Set-Service
ドライバーは動作しません。 ただし、ドライバーの名前を指定する場合は、 Set-Service
ドライバーを対象にすることができます。
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
を送信できます。
Note
通常、Windows サービスでのみ動作し、 Set-Service
ドライバーは動作しません。 ただし、ドライバーの名前を指定する場合は、 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
サービスの SecurityDescriptor を Sddl 形式で指定します。 このパラメーターを使用して呼び出す Set-Service
アカウントには、WRITE_DACとWRITE_OWNERのアクセス許可が必要です。 詳細については、「サービスのセキュリティとアクセス権」を参照してください。
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: | 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 |
入力
サービス オブジェクトをこのコマンドレットにパイプできます。
サービス名を含む文字列をこのコマンドレットにパイプできます。
出力
None
既定では、このコマンドレットは出力を返しません。
PassThru パラメーターを使用すると、このコマンドレットは ServiceController オブジェクトを返します。
メモ
このコマンドレットは、Windows プラットフォームでのみ使用できます。
Set-Service
には、昇格されたアクセス許可が必要です。 [管理者として実行] オプションを使用します。
Set-Service
は、現在のユーザーがサービスを管理するアクセス許可を持っている場合にのみ、サービスを制御できます。 コマンドが正しく機能しない場合は、必要なアクセス許可がない可能性があります。
サービスのサービス名または表示名を検索するには、次を使用 Get-Service
します。 サービス名は [名前] 列にあり、表示名は DisplayName 列にあります。
関連リンク
PowerShell
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示