Freigeben über


ConnectionOptions.Impersonation-Eigenschaft

Ruft die für Operationen in dieser Verbindung zu verwendende Ebene des COM-Identitätswechsels ab oder legt diese fest.

Namespace: System.Management
Assembly: System.Management (in system.management.dll)

Syntax

'Declaration
Public Property Impersonation As ImpersonationLevel
'Usage
Dim instance As ConnectionOptions
Dim value As ImpersonationLevel

value = instance.Impersonation

instance.Impersonation = value
public ImpersonationLevel Impersonation { get; set; }
public:
property ImpersonationLevel Impersonation {
    ImpersonationLevel get ();
    void set (ImpersonationLevel value);
}
/** @property */
public ImpersonationLevel get_Impersonation ()

/** @property */
public void set_Impersonation (ImpersonationLevel value)
public function get Impersonation () : ImpersonationLevel

public function set Impersonation (value : ImpersonationLevel)

Eigenschaftenwert

Gibt einen ImpersonationLevel-Enumerationswert zurück, der die für die Verbindung mit WMI zu verwendende Ebene des Identitätswechsels angibt.

Hinweise

Die Einstellung ImpersonationLevel.Impersonate ist von Vorteil, wenn der Anbieter eine vertrauenswürdige Anwendung oder ein vertrauenswürdiger Dienst ist. Der Provider muss dann für die angeforderten Operationen die Identität des Clients und den Zugriff nicht überprüfen. Es kann jedoch ein Sicherheitsrisiko darstellen, das Imitieren des Clients durch den Anbieter zuzulassen, wenn der Anbieter nicht vertrauenswürdig ist. In solchen Fällen empfiehlt sich das Festlegen dieser Eigenschaft durch den Client auf einen niedrigeren Wert, z. B. auf ImpersonationLevel.Identify. Beachten Sie, dass der Client dann eventuell aufgrund fehlender Berechtigungen oder fehlender Möglichkeiten zum Ausführen von Zugriffsüberprüfungen die angeforderten Operationen nicht ausführen kann.

Eigenschaftenwert

Die für Operationen in dieser Verbindung zu verwendende Ebene des COM-Identitätswechsels. Der Standardwert ist ImpersonationLevel.Impersonate und gibt an, dass der WMI-Anbieter beim Ausführen der angeforderten Operationen in dieser Verbindung den Client imitieren kann.

.NET Framework-Sicherheit

Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann nicht von teilweise vertrauenswürdigem Code verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code .

Beispiel

Im folgenden Beispiel wird eine Verbindung mit einem Remotecomputer hergestellt, und es werden Informationen über das Betriebssystem auf dem Remotecomputer angezeigt. ConnectionOptions wird erstellt, um eine Verbindung mit dem Remotecomputer mit den gewünschten Verbindungsoptionen herzustellen.

Imports System
Imports System.Management
Public Class RemoteConnect

    Public Overloads Shared Function Main( _
    ByVal args() As String) As Integer

        ' Build an options object for the remote connection
        ' if you plan to connect to the remote
        ' computer with a different user name
        ' and password than the one you are currently using
        Dim options As ConnectionOptions
        options = New ConnectionOptions
        options.Impersonation = 3
        ' System.Management.ImpersonationLevel.Impersonate = 3

        ' Make a connection to a remote computer.
        ' Replace the "FullComputerName" section of the
        ' string "\\FullComputerName\root\cimv2" with
        ' the full computer name or IP address of the
        ' remote computer.
        Dim scope As ManagementScope
        scope = New ManagementScope( _
            "\\FullComputerName\root\cimv2", options)
        scope.Connect()

        ' Query system for Operating System information
        Dim query As ObjectQuery
        query = New ObjectQuery( _
            "SELECT * FROM Win32_OperatingSystem")
        Dim searcher As ManagementObjectSearcher
        searcher = _
            New ManagementObjectSearcher(scope, query)

        Dim queryCollection As ManagementObjectCollection
        queryCollection = searcher.Get()

        Dim m As ManagementObject
        For Each m In queryCollection
            ' Display the remote computer information
            Console.WriteLine("Computer Name : {0}", _
                m("csname"))
            Console.WriteLine("Windows Directory : {0}", _
                m("WindowsDirectory"))
            Console.WriteLine("Operating System: {0}", _
                m("Caption"))
            Console.WriteLine("Version: {0}", m("Version"))
            Console.WriteLine("Manufacturer : {0}", _
                m("Manufacturer"))
        Next

        Return 0
    End Function
End Class
using System;
using System.Management;
public class RemoteConnect 
{
    public static void Main() 
    {
        // Build an options object for the remote connection
        // if you plan to connect to the remote
        // computer with a different user name
        // and password than the one you are currently using.
        // This example uses the default values.  
        ConnectionOptions options = 
            new ConnectionOptions();
        options.Impersonation = 
            System.Management.ImpersonationLevel.Impersonate;
                 
        // Make a connection to a remote computer.
        // Replace the "FullComputerName" section of the
        // string "\\\\FullComputerName\\root\\cimv2" with
        // the full computer name or IP address of the
        // remote computer.
        ManagementScope scope = 
            new ManagementScope(
            "\\\\FullComputerName\\root\\cimv2", options);
        scope.Connect();

        //Query system for Operating System information
        ObjectQuery query = new ObjectQuery(
            "SELECT * FROM Win32_OperatingSystem");
        ManagementObjectSearcher searcher = 
            new ManagementObjectSearcher(scope,query);

        ManagementObjectCollection queryCollection = searcher.Get();
        foreach ( ManagementObject m in queryCollection)
        {
            // Display the remote computer information
            Console.WriteLine("Computer Name : {0}", 
                m["csname"]);
            Console.WriteLine("Windows Directory : {0}", 
                m["WindowsDirectory"]);
            Console.WriteLine("Operating System: {0}",  
                m["Caption"]);
            Console.WriteLine("Version: {0}", m["Version"]);
            Console.WriteLine("Manufacturer : {0}", 
                m["Manufacturer"]);
        }
    }
}

.NET Framework-Sicherheit

  • Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter .

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

ConnectionOptions-Klasse
ConnectionOptions-Member
System.Management-Namespace