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-Service
コマンドレットは、Status、Description、DisplayName 、StartupTypeなどのサービスのプロパティ変更します。
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 パラメーターは、サービスを 自動に設定します。
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 パラメーターは、サービスを停止に設定します。
例 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 パラメーターは、サービスを停止に設定します。
例 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 パラメーターは、$SDDL
を使用して、BITS サービスの SecurityDescriptor を変更します。
例 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
を実行する前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Credential
サービス ログオン アカウントとしてサービスによって使用されるアカウントを指定します。
User01 や Domain01\User01などのユーザー名を入力するか、 コマンドレットによって生成された Get-Credential
オブジェクトを入力します。 ユーザー名を入力すると、このコマンドレットによってパスワードの入力が求められます。
資格情報は PSCredential オブジェクトに格納され、パスワードは SecureStringとして格納されます。
手記
SecureString データ保護 についての詳細は、「SecureString はどれほど安全ですか? 」を参照してください。.
このパラメーターは、PowerShell 6.0 で導入されました。
型: | PSCredential |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Description
サービスの新しい説明を指定します。
サービスの説明は、コンピューター管理、サービスに表示されます。
Description は、Get-Service
ServiceController オブジェクトのプロパティではありません。 サービスの説明を表示するには、サービスを表す Get-CimInstance
オブジェクトを返す を使用します。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-DisplayName
サービスの新しい表示名を指定します。
手記
通常、Set-Service
は Windows サービスでのみ動作し、ドライバーでは動作しません。 ただし、ドライバーの名前を指定した場合、Set-Service
はドライバーを対象にすることができます。
型: | String |
Aliases: | DN |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Force
サービスの停止モードを指定します。 このパラメーターは、-Status Stopped
が使用されている場合にのみ機能します。 有効にすると、Set-Service
は、ターゲット サービスが停止する前に依存サービスを停止します。 既定では、実行中の他のサービスがターゲット サービスに依存している場合に例外が発生します。
型: | SwitchParameter |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-InputObject
変更するサービスを表す ServiceController オブジェクトを指定します。 オブジェクトを含む変数を入力するか、オブジェクトを取得するコマンドまたは式 (Get-Service
コマンドなど) を入力します。 パイプラインを使用して、サービス オブジェクトを Set-Service
に送信できます。
型: | ServiceController |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Name
変更するサービスのサービス名を指定します。 ワイルドカード文字は使用できません。 パイプラインを使用して、サービス名を Set-Service
に送信できます。
手記
通常、Set-Service
は Windows サービスでのみ動作し、ドライバーでは動作しません。 ただし、ドライバーの名前を指定した場合、Set-Service
はドライバーを対象にすることができます。
型: | String |
Aliases: | ServiceName, SN |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-PassThru
変更されたサービスを表す ServiceController オブジェクトを返します。 既定では、Set-Service
は出力を生成しません。
型: | SwitchParameter |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-SecurityDescriptorSddl
サービスの SecurityDescriptor を Sddl 形式で指定します。 このパラメーターを使用して Set-Service
を呼び出すアカウントには、WRITE_DACとWRITE_OWNERのアクセス許可が必要です。 詳細については、「サービスのセキュリティとアクセス権の」を参照してください。
型: | String |
Aliases: | sd |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-StartupType
サービスの開始モードを指定します。
このパラメーターに使用できる値は次のとおりです。
- 自動 - サービスは、オペレーティング システムの起動時に開始されるか、オペレーティング システムによって開始されました。 自動開始サービスが手動で開始されたサービスに依存している場合、手動で開始されたサービスもシステムの起動時に自動的に開始されます。
- AutomaticDelayedStart - システムの起動直後に開始します。
- 無効 - サービスは無効になっており、ユーザーまたはアプリケーションが開始することはできません。
- InvalidValue - 影響はありません。 コマンドレットはエラーを返しませんが、サービスの StartupType は変更されません。
- 手動 - サービスの開始は、ユーザーによる手動操作、Service Control Manager、またはアプリケーションによってのみ行われます。
型: | ServiceStartupType |
Aliases: | StartMode, SM, ST, StartType |
指定可能な値: | Automatic, AutomaticDelayedStart, Disabled, InvalidValue, Manual |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Status
サービスの状態を指定します。
このパラメーターに使用できる値は次のとおりです。
- Paused サービスを中断します。
- Running サービスを開始します。
- Stopped サービスを停止します。
型: | String |
指定可能な値: | Paused, Running, Stopped |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WhatIf
Set-Service
が実行された場合の動作を示します。 コマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
サービス オブジェクトをこのコマンドレットにパイプできます。
サービス名を含む文字列をこのコマンドレットにパイプできます。
出力
None
既定では、このコマンドレットは出力を返しません。
PassThru パラメーターを使用すると、このコマンドレットは serviceController オブジェクト 返します。
メモ
このコマンドレットは、Windows プラットフォームでのみ使用できます。
Set-Service
には、昇格されたアクセス許可が必要です。
Run as administrator オプションを使用します。
Set-Service
は、現在のユーザーがサービスを管理するアクセス許可を持っている場合にのみ、サービスを制御できます。 コマンドが正しく機能しない場合は、必要なアクセス許可がない可能性があります。
サービスのサービス名または表示名を検索するには、Get-Service
を使用します。 サービス名は Name 列にあり、表示名は DisplayName 列にあります。
関連リンク
PowerShell