Quel est l'outil qui permet de créer des fichiers manifestes pour l'assistant de résolution de problèmes de Windows 7 ?

| Microsoft MSDN France | Jérôme Lambert |

Retrouvez l'intégralité des questions / réponses sur le développement sous Windows 7 dans l'article suivant.

Commentez cet article : Commentez ♪

- Titre : Quel est l'outil qui permet de créer des fichiers manifestes pour l'assistant de résolution de problèmes de Windows 7 ?

- Auteurs : Microsoft MSDN France, Jérôme Lambert

- Parution : 28 février 2010

- Licence : Copyright ® 2011 Microsoft MSDN France. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Quel est l'outil qui permet de créer des fichiers manifestes pour l'assistant de résolution de problèmes de Windows 7 ?

I - Quel est l'outil qui permet de créer des fichiers manifestes pour l'assistant de résolution de problèmes de Windows 7 ?

L'assistant de résolution de problème introduit avec Windows 7, permet d'exécuter des scripts Powershell lorsqu'une condition dans le système n'est pas remplie. Par exemple, dans la figure suivante Internet Explorer 9 ne peut atteindre sa destination finale. Grâce à l'assistant de résolution de problème, il est possible de diagnostiquer les erreurs, mais surtout de les réparer automatiquement si possible.

Si vous souhaitez développer vos propres scripts de résolution de problème pour garantir le bon fonctionnement de votre application, vous pouvez utiliser l'outil TSPDesigner.exe (disponible dans le kit de développement Windows 7) associé à des scripts Powershell.

Cet outil vous permettra de définir :

- la cause du problème (Root Cause) :

- le Script Powershell qui détecte la cause du problème (Troubleshooter) :

- le Script PowerShell qui tentera de résoudre le problème (Resolver) :

- de vérifier que le problème est résolu (Verifier).

Exemple de script Powershell qui détecte si un serveur SQL est disponible.

# TroubleshooterScript - This script checks for the presence of a root cause
# Key Cmdlets:
# -- update-diagrootcause flags the status of a root cause and can be used to pass parameters
# -- get-diaginput invokes an interactions and returns the response
# -- write-diagprogress displays a progress string to the user

$RootCauseID = "DetectionServeurSQL"

# Your detection Logic Here
Write-DiagProgress -Activity "Vérification si le serveur SQL est démarré..."

$RootCauseDetected=$False
$SQlServeur=get-wmiobject win32_service | where-object {$_.Name -like "*MSSQL*SQLEXPRESS*"}
if ($SQlServeur.State -eq "Stopped")
{
$RootCauseDetected=$True
}
#The following line notifies Windows Troubleshooting Platform of the status of this root cause
update-diagrootcause -id $RootCauseId -detected $RootCauseDetected

Exemple de script Powershell qui tente de redémarrer le serveur SQL

# Resolver Script - This script fixes the root cause. It only runs if the Troubleshooter detects the root cause.
# Key cmdlets:
# -- get-diaginput invokes an interactions and returns the response
# -- write-diagprogress displays a progress string to the user

# Your logic to fix the root cause here

$SQlServeur=get-wmiobject win32_service | where-object {$_.Name -like "MSSQL`$SQLEXPRESS"}
start-service $SQlServeur.Name

Pour plus d'infos :

- Pour en savoir plus sur l'assistant de résolution de problème : http://msdn.microsoft.com/fr-fr/windows/ff720166.aspx

- Pour en savoir plus sur les commandes Powershell de la plate-forme de résolution de problème : http://msdn.microsoft.com/en-us/library/dd323773(VS.85).aspx

- MSDN : http://msdn.microsoft.com/fr-fr/windows/default.aspx

- Le coach Windows 7 : http://msdn.microsoft.com/fr-fr/windows/msdn.coach.windows7

- Kit de développement pour Windows 7 : http://msdn.microsoft.com/fr-fr/windows/gg398052.aspx