Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Costruttore ConnectionOptions (String, String, String, String, ImpersonationLevel, AuthenticationLevel, Boolean, ManagementNamedValueCollection, TimeSpan)

 

Data di pubblicazione: ottobre 2016

Inizializza una nuova istanza di ConnectionOptions classe da utilizzare per una connessione WMI, utilizzando i valori specificati.

Spazio dei nomi:   System.Management
Assembly:  System.Management (in System.Management.dll)

public ConnectionOptions(
	string locale,
	string username,
	string password,
	string authority,
	ImpersonationLevel impersonation,
	AuthenticationLevel authentication,
	bool enablePrivileges,
	ManagementNamedValueCollection context,
	TimeSpan timeout
)

Parametri

locale
Type: System.String

Le impostazioni locali da utilizzare per la connessione.

username
Type: System.String

Il nome utente da utilizzare per la connessione. Se null, vengono utilizzate le credenziali dell'utente attualmente connesso.

password
Type: System.String

La password per il nome utente specificato. Se è null anche il nome utente, le credenziali utilizzate saranno quelle dell'utente attualmente connesso.

authority
Type: System.String

L'autorità da utilizzare per autenticare l'utente specificato.

impersonation
Type: System.Management.ImpersonationLevel

Il livello di rappresentazione COM da utilizzare per la connessione.

authentication
Type: System.Management.AuthenticationLevel

Il livello di autenticazione COM da utilizzare per la connessione.

enablePrivileges
Type: System.Boolean

true Per abilitare i privilegi utente particolari. in caso contrario, false. Questo parametro deve essere utilizzato solo quando si esegue un'operazione che richiede privilegi di utente di Windows NT speciali.

context
Type: System.Management.ManagementNamedValueCollection

Un valore specifico del provider, denominato coppie oggetto deve essere passato tramite il provider.

timeout
Type: System.TimeSpan

Riservato per utilizzi futuri.

Attendibilità totale per il chiamante immediato. Impossibile usare questo membro in codice parzialmente attendibile. Per altre informazioni, vedere Using Libraries from Partially Trusted Code.

Nell'esempio seguente si connette a un computer remoto e visualizza le informazioni sul sistema operativo nel computer remoto. Oggetto ConnectionOptions viene creato per connettersi al computer remoto con le opzioni di connessione desiderata.

using System;
using System.Management;
using System.Security;

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.
        SecureString pw = GetPassword();
        ConnectionOptions options =
            new ConnectionOptions("MS_409", "userName", pw,
            "ntlmdomain:DOMAIN",
            System.Management.ImpersonationLevel.Impersonate,
            System.Management.AuthenticationLevel.Default, true,
            null, System.TimeSpan.MaxValue);
        pw.Dispose();

        // 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"]);
        }
    }

    /// <summary>
    /// Read a password from the console into a SecureString
    /// </summary>
    /// <returns>Password stored in a secure string</returns>
    public static SecureString GetPassword()
    {
        SecureString password = new SecureString();
        Console.WriteLine("Enter password: ");

        // get the first character of the password
        ConsoleKeyInfo nextKey = Console.ReadKey(true);

        while (nextKey.Key != ConsoleKey.Enter)
        {
            if (nextKey.Key == ConsoleKey.Backspace)
            {
                if (password.Length > 0)
                {
                    password.RemoveAt(password.Length - 1);

                    // erase the last * as well
                    Console.Write(nextKey.KeyChar);
                    Console.Write(" ");
                    Console.Write(nextKey.KeyChar);
                }
            }
            else
            {
                password.AppendChar(nextKey.KeyChar);
                Console.Write("*");
            }

            nextKey = Console.ReadKey(true);
        }

        Console.WriteLine();

        // lock the password down
        password.MakeReadOnly();
        return password;
    }
}

.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: