建立新的 Windows 服務。

語法

New-Service [-Name] <string> [-BinaryPathName] <string> [-Credential <PSCredential>] [-DependsOn <string[]>] [-描述 <string>] [-DisplayName <string>] [-StartupType {<Automatic> | <Manual> | <Disabled>}] [-Confirm] [-WhatIf] [<CommonParameters>]

描述

New-Service Cmdlet 會在登錄與服務資料庫中建立 Windows 服務的新項目。新服務需要會於服務期間執行的可執行檔。

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

參數

-BinaryPathName <string>

指定服務的可執行檔所在路徑。此參數為必要項。

必要?

true

位置?

2

預設值

接受管線輸入?

false

接受萬用字元?

false

-Credential <PSCredential>

指定具有執行此動作之權限的使用者帳戶。請輸入使用者名稱,例如 "User01" 或 "Domain01\User01"。或者輸入 PSCredential 物件,例如 Get-Credential Cmdlet 所傳回的物件。如果輸入使用者名稱,則系統會提示您提供密碼。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-DependsOn <string[]>

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

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-描述 <string>

指定服務的描述。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-DisplayName <string>

指定服務的顯示名稱。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-Name <string>

指定服務的名稱。此參數為必要項。

必要?

true

位置?

1

預設值

接受管線輸入?

false

接受萬用字元?

false

-StartupType <ServiceStartMode>

設定服務的啟動類型。預設為 [自動]。

有效的值包括:

-- 手動:服務只能透過使用者 (使用 [服務控制管理員]) 或應用程式手動啟動。

-- 自動:服務將 (或已經) 在系統啟動時由作業系統自動啟動。如果某項自動啟動的服務相依於另一個手動啟動的服務,則該手動啟動的服務也會於系統啟動時自動啟動。

-- 停用:服務已停用且無法由使用者或應用程式啟動。

必要?

false

位置?

named

預設值

Automatic

接受管線輸入?

false

接受萬用字元?

false

-Confirm

在執行命令前先提示確認。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-WhatIf

說明執行命令時將會發生何種情況,但不會實際執行命令。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

<CommonParameters>

這個 Cmdlet 支援一般參數:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。如需詳細資訊,請參閱 about_Commonparameters.

輸入和輸出

輸入型別是可經由管道輸出至 Cmdlet 的物件型別。傳回型別則是 Cmdlet 所傳回的物件型別。

輸入

您無法經由管道將輸入輸出至這個 Cmdlet。

輸出

System.ServiceProcess.ServiceController

New-Service 會傳回代表新服務的物件。

附註

若要在 Windows Vista 與較新版本的 Windows 上執行這個 Cmdlet,請以 [以系統管理員身分執行] 選項啟動 Windows PowerShell。

範例 1

C:\PS>new-service -name TestService -binaryPathName "C:\WINDOWS\System32\svchost.exe -k netsvcs"

描述
-----------
這個命令會建立名為 "TestService" 的新服務。






範例 2

C:\PS>new-service -name TestService -path "C:\WINDOWS\System32\svchost.exe -k netsvcs" -dependson NetLogon -displayName "Test Service" -StartupType Manual -Description "This is a test service."

描述
-----------
這個命令會建立名為 "TestService" 的新服務。此命令會使用 New-Service Cmdlet 的參數指定新服務的描述、啟動類型和顯示名稱。

該命令使用 Path 參數的別名,指定 BinaryPathName 參數。您也可以使用 "-bpn"。






範例 3

C:\PS>get-wmiobject win32_service -filter "name='testservice'"

ExitCode  : 0
Name      : testservice
ProcessId : 0
StartMode : Auto
State     : Stopped
Status    : OK

描述
-----------
這個命令使用 Get-WmiObject Cmdlet 取得新服務的 Win32_Service 物件。這個物件包含啟動服務與服務描述。






請參閱




目錄