ConnectionOptions Konstruktory

Definicja

Tworzy nowe połączenieOption.

Przeciążenia

Nazwa Opis
ConnectionOptions()

Inicjuje nowe wystąpienie ConnectionOptions klasy dla operacji połączenia przy użyciu wartości domyślnych. Jest to konstruktor bez parametrów.

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

Tworzy nowe połączenieOption.

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

Inicjuje nowe wystąpienie ConnectionOptions klasy do użycia na potrzeby połączenia WMI przy użyciu określonych wartości.

ConnectionOptions()

Źródło:
ManagementOptions.cs
Źródło:
ManagementOptions.cs
Źródło:
ManagementOptions.cs
Źródło:
ManagementOptions.cs

Inicjuje nowe wystąpienie ConnectionOptions klasy dla operacji połączenia przy użyciu wartości domyślnych. Jest to konstruktor bez parametrów.

public:
 ConnectionOptions();
public ConnectionOptions();
Public Sub New ()

Przykłady

Poniższy przykład łączy się z komputerem zdalnym i wyświetla informacje o systemie operacyjnym na komputerze zdalnym. Element ConnectionOptions jest tworzony w celu nawiązania połączenia z komputerem zdalnym przy użyciu domyślnych opcji połączenia.

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

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

        ' 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

Uwagi

Zabezpieczenia programu .NET Framework

Pełne zaufanie dla bezpośredniego obiektu wywołującego. Tego elementu członkowskiego nie można używać przez częściowo zaufany kod. Aby uzyskać więcej informacji, zobacz Using Libraries from Partially Trusted Code (Używanie bibliotek z częściowo zaufanego kodu).

Dotyczy

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

Źródło:
ManagementOptions.cs
Źródło:
ManagementOptions.cs
Źródło:
ManagementOptions.cs
Źródło:
ManagementOptions.cs

Tworzy nowe połączenieOption.

public:
 ConnectionOptions(System::String ^ locale, System::String ^ username, System::Security::SecureString ^ password, System::String ^ authority, System::Management::ImpersonationLevel impersonation, System::Management::AuthenticationLevel authentication, bool enablePrivileges, System::Management::ManagementNamedValueCollection ^ context, TimeSpan timeout);
public ConnectionOptions(string locale, string username, System.Security.SecureString password, string authority, System.Management.ImpersonationLevel impersonation, System.Management.AuthenticationLevel authentication, bool enablePrivileges, System.Management.ManagementNamedValueCollection context, TimeSpan timeout);
new System.Management.ConnectionOptions : string * string * System.Security.SecureString * string * System.Management.ImpersonationLevel * System.Management.AuthenticationLevel * bool * System.Management.ManagementNamedValueCollection * TimeSpan -> System.Management.ConnectionOptions
Public Sub New (locale As String, username As String, password As SecureString, authority As String, impersonation As ImpersonationLevel, authentication As AuthenticationLevel, enablePrivileges As Boolean, context As ManagementNamedValueCollection, timeout As TimeSpan)

Parametry

locale
String

Ustawienia regionalne, które mają być używane na potrzeby połączenia.

username
String

Nazwa użytkownika, która ma być używana dla połączenia. Jeśli wartość null, używane są poświadczenia aktualnie zalogowanego użytkownika.

password
SecureString

Hasło dla podanej nazwy użytkownika. Jeśli nazwa użytkownika ma również wartość null, używane poświadczenia będą tymi, które są aktualnie zalogowanym użytkownikiem.

authority
String

Urząd używany do uwierzytelniania określonego użytkownika.

impersonation
ImpersonationLevel

Poziom personifikacji COM, który ma być używany dla połączenia.

authentication
AuthenticationLevel

Poziom uwierzytelniania MODELU COM, który ma być używany na potrzeby połączenia.

enablePrivileges
Boolean

wartość true w celu włączenia specjalnych uprawnień użytkownika; w przeciwnym razie, fałsz. Ten parametr powinien być używany tylko podczas wykonywania operacji wymagającej specjalnych uprawnień użytkownika Windows NT.

context
ManagementNamedValueCollection

Obiekt par wartości specyficzny dla dostawcy, który ma zostać przekazany do dostawcy.

timeout
TimeSpan

Zastrzeżone do przyszłego użytku.

Dotyczy

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

Źródło:
ManagementOptions.cs
Źródło:
ManagementOptions.cs
Źródło:
ManagementOptions.cs
Źródło:
ManagementOptions.cs

Inicjuje nowe wystąpienie ConnectionOptions klasy do użycia na potrzeby połączenia WMI przy użyciu określonych wartości.

public:
 ConnectionOptions(System::String ^ locale, System::String ^ username, System::String ^ password, System::String ^ authority, System::Management::ImpersonationLevel impersonation, System::Management::AuthenticationLevel authentication, bool enablePrivileges, System::Management::ManagementNamedValueCollection ^ context, TimeSpan timeout);
public ConnectionOptions(string locale, string username, string password, string authority, System.Management.ImpersonationLevel impersonation, System.Management.AuthenticationLevel authentication, bool enablePrivileges, System.Management.ManagementNamedValueCollection context, TimeSpan timeout);
new System.Management.ConnectionOptions : string * string * string * string * System.Management.ImpersonationLevel * System.Management.AuthenticationLevel * bool * System.Management.ManagementNamedValueCollection * TimeSpan -> System.Management.ConnectionOptions
Public Sub New (locale As String, username As String, password As String, authority As String, impersonation As ImpersonationLevel, authentication As AuthenticationLevel, enablePrivileges As Boolean, context As ManagementNamedValueCollection, timeout As TimeSpan)

Parametry

locale
String

Ustawienia regionalne, które mają być używane na potrzeby połączenia.

username
String

Nazwa użytkownika, która ma być używana dla połączenia. Jeśli wartość null, używane są poświadczenia aktualnie zalogowanego użytkownika.

password
String

Hasło dla podanej nazwy użytkownika. Jeśli nazwa użytkownika ma również wartość null, używane poświadczenia będą tymi, które są aktualnie zalogowanym użytkownikiem.

authority
String

Urząd używany do uwierzytelniania określonego użytkownika.

impersonation
ImpersonationLevel

Poziom personifikacji COM, który ma być używany dla połączenia.

authentication
AuthenticationLevel

Poziom uwierzytelniania MODELU COM, który ma być używany na potrzeby połączenia.

enablePrivileges
Boolean

true aby włączyć specjalne uprawnienia użytkownika; w przeciwnym razie, false. Ten parametr powinien być używany tylko podczas wykonywania operacji wymagającej specjalnych uprawnień użytkownika Windows NT.

context
ManagementNamedValueCollection

Obiekt par wartości specyficzny dla dostawcy, który ma zostać przekazany do dostawcy.

timeout
TimeSpan

Zastrzeżone do przyszłego użytku.

Przykłady

Poniższy przykład łączy się z komputerem zdalnym i wyświetla informacje o systemie operacyjnym na komputerze zdalnym. Zostanie ConnectionOptions utworzony element umożliwiający nawiązanie połączenia z komputerem zdalnym przy użyciu żądanych opcji połączenia.

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;
    }
}
Imports System.Management
Imports System.Security

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 pw As SecureString
        pw = GetPassword()
        Dim options As ConnectionOptions
        options = New ConnectionOptions("MS_409", "userName", pw, _
             "ntlmdomain:DOMAIN", _
             System.Management.ImpersonationLevel.Impersonate, _
             System.Management.AuthenticationLevel.Default, True, _
             Nothing, System.TimeSpan.MaxValue)

        ' 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


    ' Read a password from the console into a SecureString
    Public Shared Function GetPassword() As SecureString

        Dim password As New SecureString()
        Console.WriteLine("Enter password: ")

        ' get the first character of the password
        Dim nextKey As ConsoleKeyInfo
        nextKey = Console.ReadKey(True)

        While nextKey.Key <> ConsoleKey.Enter

            If nextKey.Key = ConsoleKey.Backspace Then
                If password.Length > 0 Then
                    password.RemoveAt(password.Length - 1)

                    ' erase the last * as well
                    Console.Write(nextKey.KeyChar)
                    Console.Write(" ")
                    Console.Write(nextKey.KeyChar)
                End If
            Else
                password.AppendChar(nextKey.KeyChar)
                Console.Write("*")
            End If

            nextKey = Console.ReadKey(True)
        End While

        Console.WriteLine()

        ' lock the password down
        password.MakeReadOnly()
        Return password
    End Function
End Class

Uwagi

Zabezpieczenia programu .NET Framework

Pełne zaufanie dla bezpośredniego obiektu wywołującego. Tego elementu członkowskiego nie można używać przez częściowo zaufany kod. Aby uzyskać więcej informacji, zobacz Using Libraries from Partially Trusted Code (Używanie bibliotek z częściowo zaufanego kodu).

Dotyczy