次の方法で共有


New-Service

新しい Windows サービスを作成します。

構文

New-Service
   [-Name] <String>
   [-BinaryPathName] <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-StartupType <ServiceStartMode>]
   [-Credential <PSCredential>]
   [-DependsOn <String[]>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

説明

New-Service コマンドレットは、レジストリとサービス データベースに Windows サービスの新しいエントリを作成します。 新しいサービスには、サービス中に実行される実行可能ファイルが必要です。

このコマンドレットのパラメーターを使用すると、サービスの表示名、説明、スタートアップの種類、依存関係を設定できます。

例 1: サービスを作成する

PS C:\> New-Service -Name "TestService" -BinaryPathName "C:\WINDOWS\System32\svchost.exe -k netsvcs"

このコマンドは、TestService という名前のサービスを作成します。

例 2: 説明、スタートアップの種類、表示名を含むサービスを作成する

PS C:\> New-Service -Name "TestService" -BinaryPathName "C:\WINDOWS\System32\svchost.exe -k netsvcs" -DependsOn NetLogon -DisplayName "Test Service" -StartupType Manual -Description "This is a test service."

このコマンドは、TestService という名前のサービスを作成します。 New-Service のパラメーターを使用して、新しいサービスの説明、スタートアップの種類、および表示名を指定します。

例 3: 新しいサービスを表示する

PS C:\> Get-WmiObject win32_service -Filter "name='testservice'"
ExitCode  : 0
Name      : testservice
ProcessId : 0
StartMode : Auto
State     : Stopped
Status    : OK

このコマンドでは 、Get-WmiObject を使用して、新しいサービスの Win32_Service オブジェクトを取得します。 このオブジェクトには、開始モードとサービスの説明が含まれます。

例 4: サービスを削除する

PS C:\> sc.exe delete TestService
- or -
PS C:\> (Get-WmiObject win32_service -Filter "name='TestService'").delete()

この例では、TestService サービスを削除する 2 つの方法を示します。 最初のコマンドは、delete オプション Sc.exeを使用します。 2 番目のコマンドでは、Get-WmiObject が返す Win32_Service オブジェクトの Delete メソッドを使用します。

パラメーター

-BinaryPathName

サービスの実行可能ファイルのパスを指定します。 このパラメーターは必須です。

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

-Confirm

コマンドレットを実行する前に確認を求めるメッセージが表示されます。

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

-Credential

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

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

型: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

-StartupType

サービスのスタートアップの種類を設定します。 このパラメーターに使用できる値は次のとおりです。

  • 手動。 サービスは、ユーザー、Service Control Manager、またはアプリケーションによってのみ手動で開始されます。
  • 自動。 サービスは、システムの起動時にオペレーティング システムによって開始されるか、または開始されます。 自動開始サービスが手動で開始されたサービスに依存している場合、手動で開始されたサービスもシステムの起動時に自動的に開始されます。
  • 無効。 サービスは無効になっており、ユーザーまたはアプリケーションは開始できません。

デフォルト値は [自動] です。

型:ServiceStartMode
指定可能な値:Automatic, Manual, Disabled
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-WhatIf

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

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

入力

None

このコマンドレットに入力をパイプすることはできません。

出力

ServiceController

このコマンドレットは、新しいサービスを表すオブジェクトを返します。

メモ

  • Windows Vista 以降のバージョンの Windows オペレーティング システムでこのコマンドレットを実行するには、[管理者として実行] オプションを使用して Windows PowerShell を起動します。
  • サービスを削除するには、Sc.exeを使用するか、Get-WmiObject コマンドレットを使用してサービスを表す Win32_Service オブジェクトを取得し、 Delete メソッドを使用してサービスを削除します。 Get-Service が返すオブジェクトには、delete メソッドがありません。