Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verwaltungsoperationen können sowohl auf dem lokalen Computer als auch auf einem Remotecomputer transparent durchgeführt werden. Um auf einen Remotecomputer zuzugreifen, müssen die Benutzer zunächst eine Verbindung mit diesem Computer herstellen. Eine Verbindung wird durch ein ManagementScope-Objekt dargestellt. Standardmäßig ist ein Gültigkeitsbereich an den lokalen Computer und den root\cimv2-Systemnamespace gebunden. Dies kann jedoch geändert werden, indem Sie einen bestimmten Computer und möglichst auch einen anderen WMI-Namespace für den Gültigkeitsbereich angeben. Wenn Sie eine Remoteverbindung herstellen, können Sie darüber hinaus Anmeldeinformationen für Benutzer angeben, die gegenwärtig nicht angemeldet sind, und die Operationen auf diesem Remotecomputer werden dann im Kontext dieses Benutzers ausgeführt. Dies kann mit Hilfe eines ConnectionOptions-Objekts erreicht werden. Im folgenden Codebeispiel wird gezeigt, wie Sie als neuer Benutzer eine Verbindung zu einem Remotecomputer einrichten:
using System;
using System.Management;
public class RemoteConnect {
public static void Main() {
//Build an options object for the connection
ConnectionOptions options = new ConnectionOptions();
options.Username = "User1";
options.Password = "MyPassword";
//Make a connection to a remote computer using these options
ManagementScope scope = new ManagementScope("\\\\Server1\\root\\cimv2", options);
scope.Connect();
}
}
Remoting von System.Management verwendet DCOM als zugrunde liegenden Remotingmechanismus. Das ConnectionOptions-Objekt steuert auch die Ebene des Identitätswechsels und der Authentifizierung, die von WMI bei Remote-DCOM-Vorgängen verwendet wird. Die Standardeinstellungen dieser Parameter sind ImpersonationLevel.Impersonate bzw. AuthenticationLevel.Unchanged.
AuthenticationLevel.Unchanged bedeutet, dass der Client als Standard die Authentifizierungsanforderungen des Servers gemäß dem DCOM-Standardverhandlungsprozesses verwendet. Unter Windows 2000 und früheren Versionen fordert der WMI-Dienst Authentifizierung auf Verbindungsebene an, unter Windows XP und höheren Versionen Authentifizierung auf Paketebene. Wenn der Client eine bestimmte Authentifizierungseinstellung verlangt, kann die Authentifizierungseigenschaft für das ConnectionOptions-Objekt zur Steuerung der Authentifizierungsebene dieser Verbindung verwendet werden.
ImpersonationLevel.Impersonate bedeutet, dass der Client es dem WMI-Datenprovider erlaubt, zum Einholen der angeforderten Informationen einen Identitätswechsel vorzunehmen. Diese Standardeinstellung ist von Vorteil, wenn der Provider eine vertrauenswürdige Anwendung oder ein vertrauenswürdiger Dienst ist, da in diesem Fall der Provider beim Abrufen von Informationen für diesen Client keine expliziten Identitäts- und Zugriffsprüfungen durchführen muss. Wenn der angesprochene Provider oder die instrumentierte Anwendung allerdings nicht vertrauenswürdig ist, kann es ein Sicherheitsrisiko darstellen, die Annahme der Clientidentität zuzulassen. In diesem Fall empfiehlt es sich, die Identitätswechselebene der Clientanwendung auf einen niedrigeren Wert zu ändern, z. B. ImpersonationLevel.Identify. Beachten Sie, dass dies möglicherweise dazu führt, dass der Zugriff auf Informationen von bestimmten Providern nicht möglich ist, nämlich wenn der Provider keine Zugangsprüfungen durchführt oder in dem Kontext, in dem er ausgeführt wird, nicht über für das Abrufen der angeforderten Informationen ausreichende Berechtigungen verfügt.
Siehe auch
Zugreifen auf Verwaltungsdaten mit Hilfe von System.Management | Abrufen von Verwaltungsobjektauflistungen | Abfragen von Verwaltungsdaten | Abonnieren und Verwenden von Verwaltungsereignissen | Ausführen von Methoden für Verwaltungsobjekte | Verwenden von Objekten mit starkem Typ