En C#, Comment puis-je vérifier les erreurs de périphérique et de système? Serait-il simple d'utiliser PowerShell Scipts, ou cela ajouterait-il à la complexité et à la difficulté?C# - Vérification des problèmes de périphérique et des problèmes système
Répondre
Pour les clients Windows 7, consultez le Windows Troubleshooting Platform. Voici un download dessus avec plus de détails. Il utilise des scripts PowerShell pour faire exactement ce dont vous parlez. Ce blog post montre comment créer un pack de dépannage - c'est plutôt simple. Je ne pense pas que WTP fonctionne sur des plateformes de bas niveau. Dans ce cas, je voudrais juste écrire des scripts PowerShell pour détecter et réparer les causes profondes. Si vous voulez envelopper dans une belle interface, consultez PowerBoots - un moyen facile de créer une interface graphique WPF au-dessus de votre script. Si vous voulez héberger PowerShell dans votre GUI basé sur C#, c'est très simple. Voici un extrait de code d'une application Forms:
private void button1_Click(object sender, EventArgs e)
{
string cmd = @"Get-ChildItem $home\Documents -recurse | " +
"Where {!$_.PSIsContainer -and " +
"($_.LastWriteTime -gt (Get-Date).AddDays(-7))} | " +
"Sort Fullname | Foreach {$_.Fullname}";
using (Runspace runspace = RunspaceFactory.CreateRunspace())
{
runspace.Open();
using (Pipeline pipeline = runspace.CreatePipeline(cmd))
{
this.Cursor = Cursors.WaitCursor;
pipeline.Commands.AddScript(cmd);
Collection<PSObject> results = pipeline.Invoke();
foreach (PSObject obj in results)
{
listBox1.Items.Add(obj);
}
this.Cursor = Cursors.Default;
}
}
}
Vous devez ajouter une référence à l'ensemble de System.Management.Automation. Si vous avez installé le SDK Windows/.NET qui doit être dans ProgramFiles \ ReferenceAssemblies \ Microsoft \ WindowsPowerShell \ v1.0. Vous aurez également besoin de quelques-uns en utilisant statememets:
using System.Collections.ObjectModel;
using System.Management.Automation;
using System.Management.Automation.Runspaces;
J'aimerais obtenir un peu de Powershell dans mon interface graphique. Où puis-je vous contacter? – Michael
Vous pouvez me contacter via mon blog http://KeithHill.spaces.live.com –
- 1. Problèmes de sérialisation des objets DBML C#
- 2. Avoir des problèmes dans les interfaces C#
- 3. C# - Comment utiliser DirectorySecurity.SetOwner()? J'ai des problèmes
- 4. attachEvent donne des problèmes
- 5. toujours des problèmes/.htaccess
- 6. C, HTTP 1.1 et Socket Envoyer des problèmes
- 7. Portage des problèmes à VxWorks
- 8. NHibernate des problèmes de cartographie
- 9. Des problèmes pour utiliser jquery et firebug
- 10. Résolution des problèmes de débordement de tas
- 11. Prévention des problèmes de boîtier dans Subversion
- 12. problèmes de certificat C#
- 13. Système de contrôle et de suivi des problèmes de version gratuite
- 14. Détection des problèmes de conversion d'encodage
- 15. Désactivation des sessions ASP. Des problèmes connus?
- 16. J'ai des problèmes avec Lightbox
- 17. des problèmes avec MVC Routing
- 18. Quel est votre système de suivi des bogues/problèmes préféré? Et pourquoi?
- 19. Malloc de 2 octets donne des problèmes
- 20. Managed C++ référence Web à des problèmes de service WCF
- 21. Le tableau C affiche des données parasites (problèmes de mémoire?)
- 22. C# Problèmes de connexion MySQL
- 23. C++ problèmes iterator
- 24. Blackberry Débogage des problèmes de l'outil
- 25. Résolution des problèmes de connexion PHP Connexion
- 26. Flash 10 et HttpHandler desservant des problèmes de fichier swf
- 27. Tableau et les noms de colonnes causant des problèmes
- 28. JasperReports PDF. Et causer des problèmes de caractère
- 29. C++ 2DArray Objects; Pointeurs et Array problèmes
- 30. C# Problèmes Powerpoint SlideShowEnd
Pouvez-vous préciser ce que vous entendez par «erreurs de périphérique et système»? Quels appareils et systèmes? – bobbymcr
Pas d'erreurs spécifiques, juste des erreurs en général. Peut-être détecter les causes possibles d'un périphérique pourrait échouer. Je peux le faire manuellement, mais c'est pour d'autres utilisateurs, donc pour rendre la vie un peu plus facile, peut-être détecter des causes possibles et les afficher pour l'utilisateur. – Michael