Script pour le service COM de gravure IMAPI (Windows XP)

Bonjour,

J’ai besoin de faire un script batch pour paramétrer le “Service COM de gravure IMAPI” comme ceci:
Type de démarrage: MANUEL
Statut du service: DÉMARRER

J’ai fait des tests avec les commandes suivante:

Définit le type de démarrage manuel :

sc config imapi start= demand

Démarre le service:

net start imapi

Mais rien à faire le statut du service ne bouge pas dans la console de gestion des services.
Edité le 01/12/2010 à 17:58

Imaginons que tu ais le service désactivé (arrêté) :

[Photo supprimée]

Lorsque tu souhaites démarrer un service, tu peux regarder son nom directement dans ses propriétés.
Dans ton cas, le nom du service est “ImapiService”.

Comme je l’ai déjà expliqué dans le post “Modifier Registre windows 7”, tu peux utiliser “Regshot” ou “Procmon” pour voir quelle est la clé de registre modifiée lorsque tu cliques sur “Manuel” dans la liste déroulante “Type de démarrage”.

Donc, actuellement mon service est en type de démarrage “Désactivé”.

Je lance Regshot, je clique sur “1er cliché”, je clique sur “Manuel”, puis je cliquer sur “2ème cliché”.

[Photo supprimée]

Affichons les résultats :

[Photo supprimée]

Nous pouvons voir que 2 valeurs ont été modifiées, à savoir :

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ImapiService]
“Start”=dword:00000004
“Start”=dword:00000003

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ImapiService]
“Start”=dword:00000004
“Start”=dword:00000003

[Photo supprimée]

Effectivement, si on change cette valeur à 4, le service est à nouveau désactivé :

[Photo supprimée]

Tu peux faire un clic droit sur ces 2 clés et les exporter au format *.reg :

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ImapiService
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ImapiService

Dans le premier exemple :

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ImapiService]
“Type”=dword:00000010
“Start”=dword:00000004
“ErrorControl”=dword:00000001
“ImagePath”=“C:\WINDOWS\system32\imapi.exe”
“ObjectName”=“LocalSystem”
“DisplayName”=“Service COM de gravage de CD IMAPI”
“Description”=“Gère le gravage des CD via l’interface série IMAPI (Image Mastering Applications Programming Interface). Si ce service est arrêté, cet ordinateur ne pourra plus enregistrer de CD. Si ce service est désactivé, les services qui en dépendent ne vont pas pouvoir démarrer.”

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ImapiService\Enum]
“0”=“Root\LEGACY_IMAPISERVICE\0000”
“Count”=dword:00000001
“NextInstance”=dword:00000001

Dans le second exemple (seul le path change en fait) :

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ImapiService]
“Type”=dword:00000010
“Start”=dword:00000004
“ErrorControl”=dword:00000001
“ImagePath”=“C:\WINDOWS\system32\imapi.exe”
“ObjectName”=“LocalSystem”
“DisplayName”=“Service COM de gravage de CD IMAPI”
“Description”=“Gère le gravage des CD via l’interface série IMAPI (Image Mastering Applications Programming Interface). Si ce service est arrêté, cet ordinateur ne pourra plus enregistrer de CD. Si ce service est désactivé, les services qui en dépendent ne vont pas pouvoir démarrer.”

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ImapiService\Enum]
“0”=“Root\LEGACY_IMAPISERVICE\0000”
“Count”=dword:00000001
“NextInstance”=dword:00000001

===

Il te suffit alors de ne conserver que les parties que tu souhaites modifier et de changer le 4 en 3.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ImapiService]
“Start”=dword:00000003

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ImapiService]
“Start”=dword:00000003

En exécutant cela, ton service passera en “Manuel”.

Tout cela te sert à comprendre ce qui se passe lorsque tu cliques sur une valeur dans une liste déroulante.

===

Il y a une méthode plus simple, pour revenir à ton code, il ne peut pas fonctionner puisque le nom du service est incorrect.

Au lieu de “sc config imapi start= demand”, tu dois saisir “sc config ImapiService start= demand”

Comme tu peux le voir, cela fonctionne.

Avant :

[Photo supprimée]

Après :

[Photo supprimée]
Edité le 02/12/2010 à 01:22

Merci pour ton analyse vraiment complète, je m’étais aventuré dans le registre mais comme toi n’avait trouver que le moyen de le rendre son démarrage manuel en passant de la valeur de 00000004 à 00000003.

Maintenant que je connais le vrai nom du service… ca devrait aller :slight_smile:

Merci encore !

Merci du retour.
Edité le 01/12/2010 à 18:03