共用方式為


New-Service

建立新的 Windows 服務。

語法

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

Description

New-Service Cmdlet 會在登錄和服務資料庫中建立 Windows 服務的新專案。 新的服務需要一個在服務期間執行的可執行檔。

此 Cmdlet 的參數可讓您設定服務的顯示名稱、描述、啟動類型和相依性。

範例

範例 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服務的兩種方式。 第一個命令會使用 Sc.exe的 delete 選項。 第二個命令會使用 Get-WmiObject 傳回之Win32_Service物件的 Delete 方法。

參數

-BinaryPathName

指定服務的可執行檔案路徑。 這是必要參數。

類型:String
Position:1
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-Confirm

在執行 Cmdlet 之前,提示您進行確認。

類型:SwitchParameter
別名:cf
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

-Credential

指定服務使用的帳戶做為 服務登入帳戶

輸入使用者名稱,例如User01或Domain01\User01,或輸入 PSCredential 物件,例如 Get-Credential Cmdlet 所產生的使用者名稱。 如果您輸入使用者名稱,此 Cmdlet 會提示您輸入密碼。

類型:PSCredential
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-DependsOn

指定新服務相依的其他服務名稱。 若要輸入多個服務名稱,請使用逗號來分隔名稱。

類型:String[]
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Description

指定服務的描述。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-DisplayName

指定服務的顯示名稱。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Name

指定服務的名稱。 這是必要參數。

類型:String
別名:ServiceName
Position:0
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-StartupType

設定服務的啟動類型。 此參數可接受的值為:

  • 手動。 服務只會由使用者、使用服務控制管理員或應用程式手動啟動。
  • 自動。 服務是在系統啟動時啟動或由作業系統啟動。 如果自動啟動的服務相依於手動啟動的服務,系統啟動時也會自動啟動手動啟動服務。
  • 禁用。 服務已停用,且無法由使用者或應用程式啟動。

預設值為 Automatic。

類型:ServiceStartMode
接受的值:Automatic, Manual, Disabled
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-WhatIf

顯示 Cmdlet 執行時會發生什麼事。 Cmdlet 未執行。

類型:SwitchParameter
別名:wi
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

輸入

None

您無法使用管線將輸入傳送至此 Cmdlet。

輸出

ServiceController

這個 Cmdlet 會傳回代表新服務的物件。

備註

  • 若要在 Windows Vista 和更新版本的 Windows 作業系統上執行此 Cmdlet,請使用 [以系統管理員身分執行] 選項啟動 Windows PowerShell。
  • 若要刪除服務,請使用 Sc.exe,或使用 Get-WmiObject Cmdlet 來取得代表服務的 Win32_Service 對象,然後使用 Delete 方法來刪除服務。 Get-Service 傳回的對象沒有 delete 方法。