Méthode de modification de la classe Win32_BaseService

La méthode declasse WMI Change modifie un objet de service dérivé de Win32_BaseService. Le paramètre Win32_LoadOrderGroup représente un groupe de services système qui définissent des dépendances d’exécution. Les services doivent être lancés dans l’ordre spécifié par le groupe d’ordre de chargement, car les services dépendent les uns des autres. Ces services dépendants nécessitent des services antécédents pour fonctionner correctement.

Cette rubrique utilise la syntaxe MOF (Managed Object Format). Pour plus d’informations sur l’utilisation de cette méthode, consultez Appel d’une méthode.

Syntaxe

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[]
);

Paramètres

DisplayName [in]

Nom complet d’un service. Cette chaîne a une longueur maximale de 256 caractères. Le nom est conservé à la casse dans le gestionnaire de contrôle de service. Les comparaisons DisplayName ne respectent toujours pas la casse.

Contraintes : accepte la même valeur que le paramètre Name .

Exemple : « Atdisk ».

PathName [in]

Chemin d’accès complet au fichier exécutable qui implémente un service.

Exemple : « \SystemRoot\System32\drivers\afd.sys ».

ServiceType [in]

Type de services fournis aux processus qui les appellent.

Pilote du noyau (1)

Pilote de système de fichiers (2)

Adaptateur (4)

Pilote Recognizer (8)

Propre processus (16)

Processus de partage (32)

(256)

Processus interactif

ErrorControl [in]

Gravité d’une erreur si ce service ne démarre pas au démarrage. La valeur indique l’action que le programme de démarrage effectue en cas d’échec. Le système journalise toutes les erreurs.

Ignorer (0)

L'utilisateur n'est pas notifié.

Normal (1)

Normal. L'utilisateur est notifié.

Sévère (2)

Le système est redémarré avec la dernière bonne configuration.

Critique (3)

Le système tente de redémarrer avec une bonne configuration.

StartMode [in]

Mode de démarrage du service de base Windows.

Démarrage (« Démarrage »)

Pilote de périphérique que le chargeur de système d’exploitation démarre.

Démarrage du système (« Système »)

Pilote de périphérique démarré par le processus d’initialisation du système d’exploitation. Cette valeur est uniquement valide pour les services de pilote.

Démarrage automatique (« automatique »)

Service à démarrer automatiquement par le gestionnaire de contrôle de service lors du démarrage du système.

Démarrage de la demande (« manuel »)

Service à démarrer par le gestionnaire de contrôle de service lorsqu’un processus appelle la méthode StartService .

Désactivé (« Désactivé »)

Service qui ne peut pas être démarré.

DesktopInteract [in]

Si la valeur est True, le service peut créer ou communiquer avec une fenêtre sur le bureau.

StartName [in]

Nom du compte sous lequel le service s’exécute, qui dépend du type de service. Le nom du compte peut se présenter sous la forme DomainName\Username ou .\Username. Lorsqu’il s’exécute, le processus de service est journalisé à l’aide de l’un des deux formulaires précédents. Si le compte appartient au domaine intégré, .\Username peut être spécifié. Si une chaîne vide est spécifiée, le service est connecté en tant que compte LocalSystem. Pour les pilotes au niveau du noyau ou du système, StartName contient le nom de l’objet du pilote, par exemple \FileSystem\Rdr ou \Driver\Xns, que le système d’entrée et de sortie (E/S) utilise pour charger le pilote de périphérique. Si null est spécifié, le pilote s’exécute avec un nom d’objet par défaut que le système d’E/S crée en fonction du nom du service, par exemple, DWDOM\Administration.

Vous pouvez également utiliser le format Nom d’utilisateur principal (UPN) pour spécifier le StartName, par exemple , Username@DomainName.

StartPassword [in]

Mot de passe du nom de compte spécifié par le paramètre StartName . Spécifiez NULL lorsque vous ne modifiez pas le mot de passe. Spécifiez une chaîne vide si le service n’a pas de mot de passe.

Notes

Lorsque vous modifiez un service d’un système local à un réseau ou d’un réseau à un système local, StartPassword doit être une chaîne vide («  ») et non null.

LoadOrderGroup [in]

Nom du groupe auquel il est associé. Les groupes d’ordres de chargement sont contenus dans le registre système et déterminent la séquence de chargement des services dans un système d’exploitation. Si le pointeur a la valeur NULL ou pointe vers une chaîne vide, le service n’appartient pas à un groupe. Les dépendances entre les groupes doivent être répertoriées dans le paramètre LoadOrderGroupDependencies . Les services de la liste des groupes d’ordre de chargement sont démarrés en premier, suivis des services dans les groupes qui ne figurent pas dans la liste des groupes d’ordre de chargement, suivis des services qui n’appartiennent pas à un groupe. Le registre système contient une liste de groupes d’ordre de charge situés dans HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder.

LoadOrderGroupDependencies [in]

Liste des groupes d’ordre de charge qui doivent démarrer avant le démarrage de ce service. Le tableau est doublement terminé par null. Si le pointeur a la valeur NULL ou s’il pointe vers une chaîne vide, le service n’a pas de dépendances. Les noms de groupe doivent être préfixés par le caractère SC_GROUP_IDENTIFIER (défini dans le fichier Winsvc.h) pour les différencier des noms de service, car les services et les groupes de services partagent le même espace de noms. La dépendance à un groupe signifie que ce service peut s’exécuter si au moins un membre du groupe est en cours d’exécution après une tentative de démarrage de tous les membres du groupe.

ServiceDependencies [in]

Liste qui contient les noms des services qui doivent démarrer avant le démarrage de ce service. Le tableau est doublement terminé par null. Si le pointeur a la valeur NULL ou pointe vers une chaîne vide, le service n’a pas de dépendances. La dépendance vis-à-vis d’un service signifie que ce service peut s’exécuter uniquement si le service dont il dépend est en cours d’exécution.

Valeur retournée

Retourne l’une des valeurs répertoriées dans la liste suivante, ou une autre valeur pour indiquer une erreur.

Success

0

La demande est acceptée.

Non pris en charge

1

La demande n'est pas prise en charge.

Accès refusé

2

L’utilisateur ne dispose pas des privilèges d’accès nécessaires.

Services dépendants en cours d’exécution

3

Le service ne peut pas être arrêté car d'autres services en cours d'exécution en dépendent.

Contrôle de service non valide

4

Le code de contrôle demandé n’est pas valide ou est inacceptable pour le service.

Le service ne peut pas accepter le contrôle

5

Le code de contrôle demandé ne peut pas être envoyé au service, car la propriété State dans l’objet Win32_BaseService est égale à 0, 1 ou 2.

Service non actif

6

Le service n'a pas été démarré.

Délai d’expiration de la demande de service

7

Le service ne répond pas rapidement à la demande de démarrage.

Échec inconnu

8

Processus interactif.

Chemin introuvable

9

Le chemin du répertoire du fichier exécutable de service est introuvable.

Service déjà en cours d’exécution

10

Le service est déjà en cours d'exécution.

Base de données de service verrouillée

11

La base de données pour ajouter un nouveau service est verrouillée.

Dépendance de service supprimée

12

Une dépendance sur laquelle ce service s’appuie est supprimée du système.

Échec de dépendance de service

13

Le service ne trouve pas le service nécessaire à partir d’un service dépendant.

Service désactivé

14

Le service est désactivé à partir du système.

Échec de l’ouverture de session au service

15

Le service ne dispose pas de l'authentification correcte pour être exécuté sur le système.

Service marqué pour suppression

16

Ce service est supprimé du système.

Service sans thread

17

Il n'y a pas de thread d'exécution pour le service.

Dépendance circulaire d’état

18

Le démarrage du service donne lieu à des dépendances circulaires.

Nom dupliqué d’état

19

Un service est en cours d'exécution sous le même nom.

Nom non valide d’état

20

Le nom du service contient des caractères non valides.

Paramètre non valide d’état

21

Des paramètres non valides ont été passés au service.

État Compte de service non valide

22

Le compte sous lequel ce service doit s’exécuter n’est pas valide ou ne dispose pas des autorisations nécessaires pour exécuter le service.

Service d’état existant

23

Le service existe dans la base de données des services disponibles dans le système.

Service déjà suspendu

24

Le service est actuellement mis en pause dans le système.

Autres

25 4294967295

Notes

Pour changer un service d’un réseau vers un système local, utilisez les valeurs suivantes pour les paramètres StartName et StartPassword :

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

Pour remplacer un service d’un système local par un réseau, utilisez les valeurs suivantes pour les paramètres StartName et StartPassword :

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

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows Vista
Serveur minimal pris en charge
Windows Server 2008
Espace de noms
Racine\CIMV2
En-tête
Mbnapi.h
MOF
CIMWin32.mof
DLL
CIMWin32.dll

Voir aussi

Classes du système d’exploitation

Win32_BaseService