New-Service
新しい Windows サービスを作成します。
構文
New-Service
[-Name] <String>
[-BinaryPathName] <String>
[-DisplayName <String>]
[-Description <String>]
[-SecurityDescriptorSddl <String>]
[-StartupType <ServiceStartupType>]
[-Credential <PSCredential>]
[-DependsOn <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
このコマンドレットは、Windows プラットフォームでのみ使用できます。
New-Service
コマンドレットは、レジストリとサービス データベースに Windows サービスの新しいエントリを作成します。 新しいサービスには、サービス中に実行される実行可能ファイルが必要です。
このコマンドレットのパラメーターを使用すると、サービスの表示名、説明、スタートアップの種類と依存関係を設定できます。
例
例 1: サービスを作成する
New-Service -Name "TestService" -BinaryPathName 'C:\WINDOWS\System32\svchost.exe -k netsvcs'
このコマンドは、TestService という名前のサービスを作成します。
例 2: 説明、スタートアップの種類、表示名を含むサービスを作成する
$params = @{
Name = "TestService"
BinaryPathName = 'C:\WINDOWS\System32\svchost.exe -k netsvcs'
DependsOn = "NetLogon"
DisplayName = "Test Service"
StartupType = "Manual"
Description = "This is a test service."
}
New-Service @params
このコマンドは、TestService という名前のサービスを作成します。 New-Service
のパラメーターを使用して、新しいサービスの説明、スタートアップの種類、表示名を指定します。
例 3: 新しいサービスを表示する
Get-CimInstance -ClassName Win32_Service -Filter "Name='testservice'"
ExitCode : 0
Name : testservice
ProcessId : 0
StartMode : Auto
State : Stopped
Status : OK
このコマンドでは、 Get-CimInstance
を使用して、新しいサービスの Win32_Service オブジェクトを取得します。 このオブジェクトには開始モードとサービスの説明が含まれています。
例 4: 作成時にサービスの SecurityDescriptor を設定します。
次の使用例は、作成するサービスの SecurityDescriptor を追加します。
$SDDL = "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;SU)"
$params = @{
BinaryPathName = 'C:\WINDOWS\System32\svchost.exe -k netsvcs'
DependsOn = "NetLogon"
DisplayName = "Test Service"
StartupType = "Manual"
Description = "This is a test service."
SecurityDescriptorSddl = $SDDL
}
New-Service @params
SecurityDescriptorは$SDDLToSet
変数に格納されます。 SecurityDescriptorSddl パラメーターは$SDDL
を使用して、新しいサービスのSecurityDescriptorを設定します。
パラメーター
-BinaryPathName
サービスの実行可能ファイルのパスを指定します。 このパラメーターは必須です。
サービス バイナリ ファイルへの完全修飾パス。 パスにスペースが含まれている場合は、正しく解釈されるように引用符で囲む必要があります。 たとえば、 d:\my share\myservice.exe
は '"d:\my share\myservice.exe"'
として指定する必要があります。
パスには、自動開始サービスの引数を含めることもできます。 たとえば、'"d:\my share\myservice.exe" arg1 arg2'
のようにします。 これらの引数は、サービス エントリ ポイントに渡されます。
詳細については、CreateServiceW API の lpBinaryPathName パラメーターを参照してください。
型: | String |
Aliases: | Path |
配置: | 1 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Confirm
コマンドレットの実行前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Credential
Service ログオン アカウントとしてサービスによって使用されるアカウントを指定します。
User01 や Domain01\User01 などのユーザー名を入力するか、Get-Credential
コマンドレットによって生成されたPSCredential オブジェクトを入力します。 ユーザー名を入力すると、このコマンドレットによってパスワードの入力が求められます。
資格情報は PSCredential オブジェクトに格納され、パスワードは SecureString として格納されます。
Note
SecureString データ保護の詳細については、「 SecureString のセキュリティ保護方法」を 参照してください。
型: | PSCredential |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-DependsOn
新しいサービスが依存する他のサービスの名前を指定します。 複数のサービス名を入力するには、コンマを使用して名前を区切ります。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Description
サービスの説明を指定します。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-DisplayName
サービスの表示名を指定します。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Name
サービスの名前を指定します。 このパラメーターは必須です。
型: | String |
Aliases: | ServiceName |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-SecurityDescriptorSddl
サービスの SecurityDescriptor を Sddl 形式で指定します。
型: | String |
Aliases: | sd |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-StartupType
サービスのスタートアップの種類を設定します。 このパラメーターの有効値は、次のとおりです。
- 自動 - サービスは、オペレーティング システムの起動時に開始されるか、オペレーティング システムによって開始されました。 自動開始サービスが手動開始サービスに依存する場合は、手動開始サービスもシステム起動時に自動的に開始されます。
- AutomaticDelayedStart - システムが起動した直後に起動します。
- 無効 - サービスは無効になっており、ユーザーまたはアプリケーションが開始することはできません。
- InvalidValue - この値はサポートされていません。 この値を使用すると、エラーが発生します。
- 手動 - サービスは、手動、ユーザー、Service Control Manager、またはアプリケーションによってのみ開始されます。
既定値は Automatic です。
型: | ServiceStartupType |
指定可能な値: | Automatic, Manual, Disabled, AutomaticDelayedStart, InvalidValue |
配置: | Named |
規定値: | Automatic |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WhatIf
コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
このコマンドレットにオブジェクトをパイプすることはできません。
出力
このコマンドレットは、新しいサービスを表すオブジェクトを返します。
メモ
このコマンドレットは、Windows プラットフォームでのみ使用できます。
このコマンドレットを実行するには、 Run as administrator オプションを使用して PowerShell を起動します。
関連リンク
PowerShell