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

Toutes les semaines un peu de code pour aller plus loin avec Windows 7

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

Commentez cet article : 41 commentaires Donner une note à l'article (5)

Article lu   fois.

Les deux auteurs

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

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.

Image non disponible

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.

Image non disponible

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.
Sélectionnez
# 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
Sélectionnez
# 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 :

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

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. Droits de diffusion permanents accordés à Developpez LLC.