ConnectionOptions.Authentication Property


Gets or sets the COM authentication level to be used for operations in this connection.

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

public AuthenticationLevel Authentication { get; set; }

Property Value

Type: System.Management.AuthenticationLevel

Returns an AuthenticationLevel enumeration value indicating the COM authentication level used for a connection to the local or a remote computer.

On Windows 2000 and below, the WMI service will request Connect level authentication, while on Windows XP and higher it will request Packet level authentication. If the client requires a specific authentication setting, this property can be used to control the authentication level on this particular connection. For example, the property can be set to AuthenticationLevel.PacketPrivacy if the client requires all communication to be encrypted.

The COM authentication level to be used for operations in this connection. The default value is AuthenticationLevel.Unchanged, which indicates that the client will use the authentication level requested by the server, according to the standard DCOM negotiation process.

Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.

The following example connects to a remote computer and displays information about the operating system on the remote computer. A ConnectionOptions is created to connect to the remote computer with the desired connection options.

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.Authentication = 

        // 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);

        //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}", 
            Console.WriteLine("Windows Directory : {0}", 
            Console.WriteLine("Operating System: {0}",  
            Console.WriteLine("Version: {0}", m["Version"]);
            Console.WriteLine("Manufacturer : {0}", 

.NET Framework
Available since 1.1
Return to top