Win32_BaseService クラスの Change メソッド
ChangeWMI クラス メソッドは、Win32_BaseServiceから派生したサービス オブジェクトを変更します。 Win32_LoadOrderGroup パラメーターは、実行依存関係を定義するシステム サービスのグループを表します。 サービスは相互に依存するため、読み込み順序グループで指定された順序でサービスを開始する必要があります。 これらの依存サービスを正しく機能させるには、継続元サービスが必要です。
このトピックでは、マネージド オブジェクト形式 (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)
-
Recognizer ドライバー (8)
-
独自のプロセス (16)
-
共有プロセス (32)
-
(256)
-
対話型プロセス
ErrorControl [in]
起動時にこのサービスが起動しない場合のエラーの重大度。 値は、障害が発生した場合にスタートアップ プログラムが実行するアクションを示します。 システムは、すべてのエラーをログに記録します。
無視 (0)
ユーザーへの通知が行われません。
標準 (1)
標準。 ユーザーへの通知が行われます。
重大 (2)
システムは、最後の適切な構成で再起動されます。
重大 (3)
正しい構成でシステムの再起動が試行されます。
StartMode [in]
Windows 基本サービスの開始モード。
ブート開始 ("Boot")
オペレーティング システム ローダーが起動するデバイス ドライバー。
システムの開始 ("System")
オペレーティング システムの初期化プロセスによって開始されたデバイス ドライバー。 この値は、ドライバー サービスに対してのみ指定できます。
自動開始 ("自動")
システムの起動時にサービス コントロール マネージャーによって自動的に開始されるサービス。
需要の開始 ("手動")
プロセスが StartService メソッドを呼び出したときにサービス コントロール マネージャーによって開始されるサービス。
無効 ("無効")
開始できないサービス。
DesktopInteract [in]
True の場合、サービスはデスクトップ上のウィンドウを作成または通信できます。
StartName [in]
サービスが実行されるアカウント名。サービスの種類によって異なります。 アカウント名は、DomainName\Username または .\Username の形式にすることができます。 実行すると、サービス プロセスは前の 2 つの形式のいずれかを使用してログに記録されます。 アカウントが組み込みのドメインに属している場合は、.\Username を指定できます。 空の文字列が指定されている場合、サービスは LocalSystem アカウントとしてログオンします。 カーネル レベルまたはシステム レベルのドライバーの場合、 StartName にはドライバー オブジェクト名が含まれます。たとえば、\FileSystem\Rdr や \Driver\Xns などです。この名前は、入出力 (I/O) システムがデバイス ドライバーの読み込みに使用します。 NULL を指定すると、ドライバーは、サービス名 (DWDOM\管理 など) に基づいて I/O システムが作成する既定のオブジェクト名で実行されます。
ユーザー プリンシパル名 (UPN) 形式を使用して StartName を指定することもできます ( たとえば、Username@DomainName)。
StartPassword [in]
StartName パラメーターが指定するアカウント名のパスワード。 パスワードを変更しない場合は NULL を 指定します。 サービスにパスワードがない場合は、空の文字列を指定します。
Note
サービスをローカル システムからネットワークに、またはネットワークからローカル システムに変更する場合、 StartPassword は NULL ではなく空の文字列 ("") である必要があります。
LoadOrderGroup [in]
関連付けられているグループ名。 読み込み順序グループはシステム レジストリに含まれており、サービスがオペレーティング システムに読み込まれるシーケンスを決定します。 ポインターが NULL の場合、または空の文字列を指している場合、サービスはグループに属していません。 グループ間の依存関係は 、LoadOrderGroupDependencies パラメーターに一覧表示する必要があります。 読み込み順序付けグループ リスト内のサービスが最初に開始され、その後に読み込み順序グループ リストにないグループ内のサービスが続き、その後にグループに属していないサービスが続きます。 システム レジストリには、System\CurrentControlSet\Control\ServiceGroupOrderHKEY_LOCAL_MACHINE\にある読み込み順序付けグループの一覧があります。
LoadOrderGroupDependencies [in]
このサービスを開始する前に開始する必要がある読み込み順序付けグループの一覧。 配列は 2 倍 null で終了します。 ポインターが NULL の場合、または空の文字列を指している場合、サービスには依存関係がありません。 サービスとサービス グループは同じ名前空間を共有するため、サービス名と区別するには、グループ名の前に SC_GROUP_IDENTIFIER (Winsvc.h ファイルで定義) 文字を付ける必要があります。 グループへの依存関係は、グループのすべてのメンバーを開始しようとした後に、グループの少なくとも 1 つのメンバーが実行されている場合に、このサービスを実行できることを意味します。
ServiceDependencies [in]
このサービスを開始する前に開始する必要があるサービスの名前を含むリスト。 配列は 2 倍 null で終了します。 ポインターが NULL の場合、または空の文字列を指している場合、サービスには依存関係がありません。 サービスへの依存関係は、依存するサービスが実行されている場合にのみ、このサービスを実行できることを意味します。
戻り値
次の一覧に記載されている値の 1 つ、またはエラーを示す別の値を返します。
-
Success
-
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
このサービスを実行するアカウントが無効であるか、サービスを実行するためのアクセス許可がありません。
-
Status Service Exists
-
23
サービスは、システムから利用できるサービスのデータベースにあります。
-
サービスは既に一時停止しています
-
24
サービスは現在システムで一時停止されています。
-
その他
-
25 4294967295
解説
サービスをネットワークからローカル システムに変更するには、 StartName パラメーターと StartPassword パラメーターに次の値を使用します。
StartName = "LocalSystem"
StartPassword = "" // - empty string, not NULL
サービスをローカル システムからネットワークに変更するには、 StartName パラメーターと StartPassword パラメーターに次の値を使用します。
StartName = "NT AUTHORITY\NetworkService"
StartPassword = "" // - empty string, not NULL
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows Vista |
サポートされている最小のサーバー |
Windows Server 2008 |
名前空間 |
Root\CIMV2 |
ヘッダー |
|
MOF |
|
[DLL] |
|