共用方式為


變更Win32_BaseService類別的方法

ChangeWMI 類別方法會修改衍生自Win32_BaseService的服務物件。 Win32_LoadOrderGroup參數代表定義執行相依性的系統服務群組。 服務必須依照「載入順序群組」所指定的順序起始,因為服務彼此相依。 這些相依服務需要前項服務才能正常運作。

本主題使用 Managed 物件格式 (MOF) 語法。 如需使用此方法的詳細資訊,請參閱 呼叫方法

語法

uint32 Change(
  [in] string  DisplayName,
  [in] string  PathName,
  [in] uint8   ServiceType,
  [in] uint8   ErrorControl,
  [in] string  StartMode,
  [in] boolean DesktopInteract,
  [in] string  StartName,
  [in] string  StartPassword,
  [in] string  LoadOrderGroup,
  [in] string  LoadOrderGroupDependencies[],
  [in] string  ServiceDependencies[]
);

參數

DisplayName [in]

服務的顯示名稱。 這個字串的最大長度為 256 個字元。 名稱會保留于服務控制管理員中。 DisplayName 比較一律不區分大小寫。

條件約束:接受與 Name 參數相同的值。

範例:「Atdisk」。

PathName [in]

實作服務之可執行檔的完整路徑。

範例:「\SystemRoot\System32\drivers\afd.sys」。

ServiceType [in]

提供給呼叫這些服務之進程的服務類型。

核心驅動程式 (1)

檔案系統驅動程式 (2)

配接 器 (4)

辨識器驅動程式 (8)

自有進程 (16)

共用進程 (32)

(256)

互動式程式

ErrorControl [in]

如果此服務未在啟動期間啟動,則為錯誤的嚴重性。 值表示啟動程式在發生失敗時所採取的動作。 系統會記錄所有錯誤。

忽略 (0)

不通知使用者。

標準 (1)

一般。 通知使用者。

嚴重 (2)

系統會以最後一個良好的組態重新開機。

重大 (3)

系統嘗試以正確的組態重新啟動。

StartMode [in]

Windows 基底服務的啟動模式。

開機啟動 (「開機」)

作業系統載入器啟動的裝置驅動程式。

系統啟動 (「System」)

作業系統初始化程式啟動的裝置驅動程式。 這個值只適用於驅動程式服務。

自動啟動 (「自動」)

服務在系統啟動期間由服務控制管理員自動啟動。

需求開始 (「手動」)

當進程呼叫 StartService 方法時,由服務控制管理員啟動的服務。

Disabled (「Disabled」)

無法啟動的服務。

DesktopInteract [in]

如果 為 True,服務可以建立或與桌面上的視窗通訊。

StartName [in]

服務執行所在的帳戶名稱,視服務類型而定。 帳戶名稱的格式可以是 DomainName\Username 或 .\Username。 執行時,服務進程會使用上述兩種形式之一來記錄。 如果帳戶屬於內建網域,則可以指定 .\Username。 如果指定空字串,服務會以 LocalSystem 帳戶登入。 針對核心或系統層級驅動程式, StartName 包含驅動程式物件名稱,例如 \FileSystem\Rdr 或 \Driver\Xns,輸入與輸出 (I/O) 系統用來載入設備磁碟機。 如果指定Null,驅動程式會以 I/O 系統根據服務名稱建立的預設物件名稱執行,例如 DWDOM\管理員。

您也可以使用使用者主體名稱 (UPN) 格式來指定 StartName,例如 Username@DomainName

StartPassword [in]

StartName參數所指定之帳戶名稱的密碼。 當您未變更密碼時,請指定 Null 。 如果服務沒有密碼,請指定空字串。

注意

當您將服務從本機系統變更為網路或從網路變更為本機系統時, StartPassword 必須是空字串 (「」) ,而不是 Null

LoadOrderGroup [in]

與其相關聯的組名。 載入順序群組包含在系統登錄中,並判斷服務載入作業系統的順序。 如果指標為 Null,或指向空字串,則服務不屬於群組。 群組之間的相依性應該列在 LoadOrderGroupDependencies 參數中。 首先會啟動載入排序群組清單中的服務,後面接著不在載入排序群組清單中的服務,後面接著不屬於群組的服務。 系統登錄具有位於System\CurrentControlSet\Control\ServiceGroupOrder\ HKEY_LOCAL_MACHINE載入排序群組的清單。

LoadOrderGroupDependencies [in]

此服務啟動之前必須啟動的載入排序群組清單。 陣列會以 Null結尾。 如果指標為 Null,或指向空字串,則服務沒有相依性。 組名前面必須加上 Winsvc.h 檔案中所 定義SC_GROUP_IDENTIFIER () 字元,才能區分它們與服務名稱,因為服務和服務群組會共用相同的命名空間。 對群組的相依性表示,如果嘗試啟動群組的所有成員之後,至少有一個群組成員正在執行,則此服務可以執行。

ServiceDependencies [in]

包含此服務啟動之前必須啟動之服務名稱的清單。 陣列會以 Null結尾。 如果指標為 Null,或指向空字串,則服務沒有相依性。 相依于服務表示只有在相依于的服務正在執行時,才能執行此服務。

傳回值

傳回下列清單中所列的其中一個值,或傳回不同的值來表示錯誤。

「成功」

0

已接受要求。

不支援

1

不支援此要求。

拒絕存取

2

使用者沒有必要的存取許可權。

執行中的相依服務

3

無法停止此服務,因為與它相依的其他服務正在執行中。

不正確服務控制

4

要求的控制項程式碼無效,或無法接受服務。

服務無法接受控制項

5

要求的控制程式代碼無法傳送至服務,因為Win32_BaseService物件中的State屬性等於 0、1 或 2。

服務未作用中

6

尚未啟動服務。

服務要求逾時

7

服務不會快速回應啟動要求。

未知失敗

8

互動式程式。

找不到路徑

9

找不到服務可執行檔的目錄路徑。

服務已執行

10

服務已在執行中。

服務資料庫鎖定

11

要加入新服務的資料庫已被鎖定。

服務相依性已刪除

12

此服務依賴的相依性會從系統中移除。

服務相依性失敗

13

服務找不到相依服務所需的服務。

服務已停用

14

服務已從系統停用。

服務登入失敗

15

此服務未通過驗證,無法在系統上執行。

標示要刪除的服務

16

此服務正從系統中移除。

服務無線程

17

服務沒有執行緒。

狀態迴圈相依性

18

啟動服務時有循環的相依性。

狀態重複名稱

19

有一個服務在相同名稱下執行。

狀態不正確名稱

20

服務名稱中有不正確字元。

狀態不正確參數

21

不正確參數已傳遞至服務。

狀態不正確服務帳戶

22

要執行此服務的帳戶無效,或沒有執行服務的許可權。

狀態服務存在

23

服務存在於系統可使用之服務的資料庫中。

服務已暫停

24

服務目前在系統中暫停。

其他

25 4294967295

備註

若要將服務從網路變更為本機系統,請使用 StartNameStartPassword 參數的下列值:

StartName = "LocalSystem"
StartPassword = "" // - empty string, not NULL

若要將服務從本機系統變更為網路,請使用 StartNameStartPassword 參數的下列值:

StartName = "NT AUTHORITY\NetworkService"
StartPassword = "" // - empty string, not NULL

規格需求

需求
最低支援的用戶端
Windows Vista
最低支援的伺服器
Windows Server 2008
命名空間
Root\CIMV2
標頭
Mbnapi.h
MOF
CIMWin32.mof
DLL
CIMWin32.dll

另請參閱

作業系統類別

Win32_BaseService