Leistungen
Leistungen
Überblick
Leistungsangebot
Kernkompetenzen
Schulungsthemen
In-House-Schulungen
Offene .NET-Seminare
Offene WPS-Seminare
Beratung
Coaching
Support
Softwareentwicklung
Entwickler-Vermittlung
.NET/Visual Studio
TFS/ALM/Scrum
Webprogrammierung
PowerShell
Konditionen
Anfrage/Kontakt
Beratung/Coaching
Beratung/Coaching
Beratungsthemen
Coaching
Unsere Berater
Referenzkunden
Konditionen
Angebotsanfrage
In-House-Schulungen
In-House-Schulungen
Überblick
Themen/Fachgebiete
Schulungskonfigurator
Konzepte
.NET/Visual Studio
C#
VB.NET
ASP.NET
Moderne Webanwendungen
TFS/ALM/Scrum
PowerShell
Konferenzvortraege
Referenzkunden
Unsere Trainer
Konditionen
Angebotsanfrage
Offene Schulungen
Offene Schulungen
Überblick .NET-Seminare
.NET/C#-Basisseminar
WPF (Desktop)
ASP.NET/AJAX (Web)
WCF/WF (SOA)
ADO.NET/EF (Data)
Windows PowerShell
.NET, C#, VB, Visual Studio
.NET, C#, VB, Visual Studio
Startseite
Beratung/Training
Offene .NET-Seminare
Einführung
Lexikon
Artikel
Bücher
Klassenreferenz
Programmiersprachen
Entwicklerwerkzeuge
Softwarekomponenten
World Wide Wings Demo
Codebeispiele
Scripting
ASP.NET
.NET 2.0
.NET 3.0/3.5
.NET 4.0/4.5
Community
Forum
Kommerzielle Leistungen
ASP.NET
ASP.NET
Startseite
Lexikon
Sicherheit
Konfiguration
Global.asax
Tracing
Technische Beiträge
Klassenreferenz
Programmiersprachen
Entwicklerwerkzeuge
Softwarekomponenten
PowerShell
PowerShell
Überblick
Beratung
In-House-Schulungen
Öffentliche Schulungen
Codebeispiele
Commandlet Extensions
Offene PowerShell-Seminare
Inhouse-Seminare
Windows
Windows
Startseite
Windows Runtime (WinRT)
Windows PowerShell
Windows Scripting
Windows-Schulungen
Windows-Lexikon
Windows-Forum
Windows Scripting
Windows Scripting
Startseite
Lexikon
FAQ
Buecher
Architektur
Skriptsprachen
Scripting-Hosts
Scripting-Komponenten
COM/DCOM/COM+
ADSI
WMI
Scripting-Tools
WSH-Editoren
Codebeispiele
ASP.NET
.NET-Scripting
Forum
Links
Kommerzielle Leistungen
Service
Service
Website-FAQ
Anmeldung/Login
Leser-Registrierung
Gast-Registrierung
Nachrichten/RSS
Newsletter
Foren
Weblog
Lexikon
Downloads
Support
Kontakt
Literaturtipps
Publikationen
Publikationen
Redaktionsbüro
Bücher
Fachartikel
Leser-Portal
Autoren gesucht!
Rezensionen
Über uns
Über uns
Holger Schwichtenberg
Team
Referenzkunden
Kundenaussagen
Referenzprojekte
Partner
Site Map
Weitere Websites
Tag Cloud
Impressum
Rechtliches

Ausgabe aller Attribute und Methoden eines WMI-Objekts
Codebeispiel für Visual Basic .NET (VB.NET) und CSharp (C#)

Liste aller Codebeispiele

Ausgabe aller Attribute und Methoden eines WMI-Objekts

Ein Beispiel zum Einsatz der Klasse System.Management.ManagementClass aus der .NET-Klassenbibliothek.

Autor: Dr. Holger Schwichtenberg 

Beschreibung

Oft ist es sinnvoll, sich alle Attribute und Methoden eines WMI-Objekts auflisten zu lassen.

Die Attribute können mit einer For Each-Schleife über die Properties-Collection aufgelistet werden. Eine Liste der Methoden erhält man über die Klassendefinition. Das Meta-Objektmodell ermöglicht es, eine Verzeichnisdienst-Klasse zu binden. Dazu gibt es die spezielle Meta-Klasse Management.ManagementClass. Die Klasse ManagementClass bietet eine Collection Methods an, in der es für jede Methode ein MethodData-Objekt gibt.

Das passende ManagementClass-Objekt ermittelt man aus einem ManagementObject über den WMI-Pfad:

Dim mc As ManagementClass _
= New ManagementClass(mo.ClassPath.ClassName)

Ein Attribut in der Klasse ManagementObject, das direkt das zugehörige ManagementClass-Objekt liefert, gibt es leider nicht.

Beispiel


Die folgende Routine listet alle Attribute und Methoden der WMI-Klasse Win32_LogicalDisk auf.

Programmcodebeispiele Visual Basic .NET (VB.NET)

' ============================
' .NET-Code-Beispiel in Visual Basic .NET
' Ausgabe aller Attribute und Methoden eines WMI-Objekts
' (C) Holger@Schwichtenberg.de
' ============================
Sub wmi_mo4()
  Dim mo As Management.ManagementObject
  Dim mc As Management.ManagementClass
  Dim p As Management.PropertyData
  Dim m As MethodData
  Dim wert As Object
  ' --- Zugriff auf WMI-Objekt
  mo = New Management.ManagementObject _
   ("//MARS\root\cimv2:Win32_LogicalDisk.DeviceID='C:'")

  ' --- Alle Attribute des WMI-Objekts auflisten
  out("-- ALLE ATTRIBUTE:")
  For Each p In mo.Properties
   wert = p.Value
   If Not wert Is Nothing Then
   out(p.Name & "=" & wert.ToString())
   Else
   out(p.Name & "= (nicht belegt)")
   End If
  Next

  ' --- Alle Methoden des Meta-Objekts auflisten
  out("-- ALLE METHODEN:")
  mc = New Management.ManagementClass _
   (mo.ClassPath.ClassName)
  For Each m In mc.Methods
   out(m.Name)
  Next

End Sub

Programmcodebeispiele CSharp (C#)

using System;
using System.Management;

namespace FCL_Buch._System_Management {

  public class Samples_WMI_Allgemein {
public void WMI_ManagementObject4() {

   // Ausgabe aller Attribute und Methoden eines WMI-Objects
   // Zugriff auf Managed Object
   ManagementObject mo = new ManagementObject(@"//dagobar\root\cimv2:Win32_LogicalDisk.DeviceID='C:'");

   // Alle Attribute des Managed Objects auflisten
   FclOutput.PrintOutSubHeader("Alle Attribute:");
   foreach (PropertyData p in mo.Properties) {
   object wert = p.Value;
   if (wert != null)
   FclOutput.PrintOut(p.Name + "=" + wert.ToString());
   else
   FclOutput.PrintOut(p.Name + "= (nicht belegt)");
   }

   // Alle Methoden des Meta-Objekts auflisten
   FclOutput.PrintOutSubHeader("Alle Methoden:");
   ManagementClass mc = new ManagementClass(mo.ClassPath.ClassName);
   foreach (MethodData m in mc.Methods)
   FclOutput.PrintOut(m.Name);
   }
}
}

Querverweise

Definition '.NET Framework Class Library'
Verfügbarkeit der Klasse 'System.Management'
Übersicht über den FCL-Namensraum 'System.Management'
Portal dotnetframework.de