ConnectionOptions Конструкторы
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает новый объект ConnectionOption.
Перегрузки
ConnectionOptions() |
Выполняет инициализацию нового экземпляра класса ConnectionOptions для операции подключения с помощью стандартных значений. Это конструктор без параметров. |
ConnectionOptions(String, String, SecureString, String, ImpersonationLevel, AuthenticationLevel, Boolean, ManagementNamedValueCollection, TimeSpan) |
Создает новый объект ConnectionOption. |
ConnectionOptions(String, String, String, String, ImpersonationLevel, AuthenticationLevel, Boolean, ManagementNamedValueCollection, TimeSpan) |
Выполняет инициализацию нового экземпляра класса ConnectionOptions для WMI-подключения с помощью заданных значений. |
ConnectionOptions()
- Исходный код:
- ManagementOptions.cs
- Исходный код:
- ManagementOptions.cs
- Исходный код:
- ManagementOptions.cs
Выполняет инициализацию нового экземпляра класса ConnectionOptions для операции подключения с помощью стандартных значений. Это конструктор без параметров.
public:
ConnectionOptions();
public ConnectionOptions ();
Public Sub New ()
Примеры
В следующем примере показано подключение к удаленному компьютеру и отображение сведений об операционной системе на удаленном компьютере. Создается ConnectionOptions для подключения к удаленному компьютеру с параметрами подключения по умолчанию.
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
Комментарии
Безопасность .NET Framework
Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из частично доверенного кода.
Применяется к
ConnectionOptions(String, String, SecureString, String, ImpersonationLevel, AuthenticationLevel, Boolean, ManagementNamedValueCollection, TimeSpan)
- Исходный код:
- ManagementOptions.cs
- Исходный код:
- ManagementOptions.cs
- Исходный код:
- ManagementOptions.cs
Создает новый объект ConnectionOption.
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)
Параметры
- locale
- String
Язык, который необходимо использовать для подключения.
- username
- String
Имя пользователя, которое необходимо использовать для подключения. Если оставлено пустое значение, используются данные пользователя, который в данный момент находится в системе.
- password
- SecureString
Пароль для заданного имени пользователя. Если для имени пользователя оставлено пустое значение, используются данные пользователя, который в данный момент находится в системе.
- authority
- String
Полномочия, которые необходимо использовать для проверки подлинности заданного пользователя.
- impersonation
- ImpersonationLevel
Уровень олицетворения COM, который необходимо использовать для подключения.
- authentication
- AuthenticationLevel
Уровень проверки подлинности COM, который необходимо использовать для подключения.
- enablePrivileges
- Boolean
Чтобы включить особые пользовательские привилегии, необходимо установить значение true; в противном случае необходимо установить значение false. Этот параметр должен использоваться только при выполнении операций, которые требуют особых привилегий для пользователя Windows NT.
- context
- ManagementNamedValueCollection
Объект в виде пары именованных значений, зависящих от поставщика, который необходимо передать этому поставщику.
- timeout
- TimeSpan
Зарезервировано для будущего использования.
Применяется к
ConnectionOptions(String, String, String, String, ImpersonationLevel, AuthenticationLevel, Boolean, ManagementNamedValueCollection, TimeSpan)
- Исходный код:
- ManagementOptions.cs
- Исходный код:
- ManagementOptions.cs
- Исходный код:
- ManagementOptions.cs
Выполняет инициализацию нового экземпляра класса ConnectionOptions для WMI-подключения с помощью заданных значений.
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)
Параметры
- locale
- String
Язык, который необходимо использовать для подключения.
- username
- String
Имя пользователя, которое необходимо использовать для подключения. Если оставлено пустое значение, используются данные пользователя, который в данный момент находится в системе.
- password
- String
Пароль для заданного имени пользователя. Если для имени пользователя оставлено пустое значение, используются данные пользователя, который в данный момент находится в системе.
- authority
- String
Полномочия, которые необходимо использовать для проверки подлинности заданного пользователя.
- impersonation
- ImpersonationLevel
Уровень олицетворения COM, который необходимо использовать для подключения.
- authentication
- AuthenticationLevel
Уровень проверки подлинности COM, который необходимо использовать для подключения.
- enablePrivileges
- Boolean
Чтобы включить особые пользовательские привилегии, необходимо установить значение true
; в противном случае необходимо установить значение false
. Этот параметр должен использоваться только при выполнении операций, которые требуют особых привилегий для пользователя Windows NT.
- context
- ManagementNamedValueCollection
Объект в виде пары именованных значений, зависящих от поставщика, который необходимо передать этому поставщику.
- timeout
- TimeSpan
Зарезервировано для будущего использования.
Примеры
В следующем примере показано подключение к удаленному компьютеру и отображение сведений об операционной системе на удаленном компьютере. Создается ConnectionOptions для подключения к удаленному компьютеру с нужными параметрами подключения.
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
Комментарии
Безопасность .NET Framework
Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из частично доверенного кода.