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
Site Map
Suche
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
Suche
Weitere Websites
Tag Cloud
Impressum
Rechtliches
Datenschutzerklärung

Ausschnitt aus WMI_Bindung() - Objektbindung
Codebeispiel für Visual Basic .NET (VB.NET) und CSharp (C#)

Liste aller Codebeispiele

Ausschnitt aus WMI_Bindung() - Objektbindung

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

Autor: Dr. Holger Schwichtenberg 

Beschreibung

Die Verwendung von WMI beginnt mit der Bindung eines Meta-Objekts (ManagementObject oder ManagementClass) an ein WMI-Objekt oder eine WMI-Klasse. Das WMI-Objekt bzw. die -Klasse wird über einen WMI-Pfad spezifiziert. Dieser Pfad hat die Form:

\\Server\Namespace:Class.Key1="wert1",Key2="Wert2"

Mit Ausnahme von Class sind alle anderen Teile optional.

Bitte beachten Sie, dass im Gegensatz zur Verwendung in COM die COM-Moniker-ID "WinMgmts:" nicht mehr vor den Pfad gehört.

Ein solcher Pfad kann dem Konstruktor der Klassen ManagementObject und ManagementClass übergeben werden. Damit existiert die Bindung dann zunächst nur auf dem WMI-Client. Die Anfrage an das lokale oder entfernte WMI-Repository wird erst ausgeführt beim ersten Zugriff auf ein WMI-Attribut, beim ersten Aufruf einer WMI-Methode oder wenn explizit die Get()-Methode des Meta-Objekts aufgerufen wird. Erst dann wird festgestellt, ob die angeforderte WMI-Klasse bzw. das angeforderte WMI-Objekt existiert. Lediglich grundsätzliche Fehler in der Syntax des Pfades werden direkt bei der Instanziierung erkannt.

Programmcodebeispiele Visual Basic .NET (VB.NET)

Dim mo As Management.ManagementObject
Dim mc As Management.ManagementClass

' --- Bindung an eine lokale WMI-Klasse
mc = New ManagementClass("Win32_LogicalDisk")
mc.Get()
out("Gebunden an: " & mc.ToString)

' --- Bindung an ein entferntes WMI-Objekt
mo = New Management.ManagementObject _
  ("\\minbar\root\cimv2:Win32_LogicalDisk.DeviceID='c:'")
mo.Get()
out("Gebunden an: " & mo.ToString)

Programmcodebeispiele CSharp (C#)

using System;
using System.Management;

namespace FCL_Buch._System_Management {

  public class Samples_WMI_Allgemein {

   public void WMI_Bindung() {

   // Bindung an eine lokale WMI-Klasse
   ManagementClass mc = new ManagementClass("Win32_LogicalDisk");
   mc.Get();
   FclOutput.PrintOut("Gebunden an: " + mc.ToString());

   // Bindung an ein entferntes WMI-Objekt
   ManagementObject mo = new ManagementObject(@"\\Dagobar\root\cimv2:Win32_LogicalDisk.DeviceID='c:'");
   mo.Get();
   FclOutput.PrintOut("Gebunden an: " + mo.ToString());

   // Bindung mit Optionen
   // Optionen definieren
   ConnectionOptions opt = new ConnectionOptions();
   opt.Username = "dagobar\fe";
   opt.Password = "xxx";
   opt.Authentication = AuthenticationLevel.PacketPrivacy;
   opt.Impersonation = ImpersonationLevel.Impersonate;
   opt.Timeout = new TimeSpan(0, 0, 4); // 4 Sekunden

   // Entfernten Computer definieren
   ManagementScope scope = new ManagementScope(@"\\minbar\root\cimv2");
   scope.Options = opt;

   // Objekt definieren
   ManagementPath path = new ManagementPath("Win32_LogicalDisk.DeviceID='c:'");

   // Objekt binden
   mo = new ManagementObject(scope, path, null);
   mo.Get();
   FclOutput.PrintOut("Gebunden an: " + mo.ToString());
   }
}
}

Querverweise

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