2009-12-08 14 views
1

Nous avons recherché un moyen de lister les services non Microsoft dans un fichier * .txt. L'utilisation de vbs ou d'un fichier batch suffira.Script pour lister les services autres que Microsoft

J'ai essayé plusieurs méthodes avec WMI et la commande sc.exe, mais je n'arrive pas à y mettre le doigt.

Merci,

Tim

+1

qu'est-ce qui rend un service non-microsoft? –

+0

Ceux qui ne sont pas fabriqués par MS? Accédez à MSConfig> onglet Services. Et cochez la case en bas "Masquer tous les services Microsoft" – user226973

Répondre

2

La Win32_Service classe WMI ne dispose pas d'une propriété qui renverrait le fabricant du service, mais la classe CIM_DataFile ne. Je peux donc proposer la solution suivante:

  • requêtes et énumérer les instances de classe Win32_Service.
  • Dans la boucle:
    1. Obtenir la propriété PathName du service en cours (il détient la ligne de commande pour le service).
    2. Extrayez le nom de fichier du service à partir du PathName.
    3. Obtenez l'instance de classe CIM_DataFile correspondant au fichier de service.
    4. Vérifiez la propriété Manufacturer du fichier pour savoir si le service est celui de Microsoft. Par exemple, sur ma boîte Vista, le Manufacturer de tous les services Microsoft est Microsoft Corporation.

Notes:

  • magie peut être nécessaire lors de l'analyse de la PathName et l'interrogation de la classe CIM_DataFile comme PathName peut inclure des arguments de ligne de commande et ne peut pas inclure les extensions de fichiers connus (par exemple exe ​​). La propriété Manufacturer peut être Null pour certains services non-Microsoft.
Questions connexes