ConnectionOptions.Impersonation 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
이 연결 작업에 사용할 COM 가장 수준을 가져오거나 설정합니다.
public:
property System::Management::ImpersonationLevel Impersonation { System::Management::ImpersonationLevel get(); void set(System::Management::ImpersonationLevel value); };
public System.Management.ImpersonationLevel Impersonation { get; set; }
member this.Impersonation : System.Management.ImpersonationLevel with get, set
Public Property Impersonation As ImpersonationLevel
속성 값
WMI에 연결하는 데 사용된 가장 수준을 나타내는 ImpersonationLevel 열거형 값을 반환합니다.
예제
다음 예제에서는 원격 컴퓨터에 연결 하 고 원격 컴퓨터의 운영 체제에 대 한 정보를 표시 합니다. 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();
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"]);
}
}
}
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
설명
ImpersonationLevel.Impersonate 설정은 신뢰할 수 있는 애플리케이션 또는 서비스 공급자가 없을 때 유용 합니다. 공급자가 클라이언트 ID를 수행하고 요청된 작업에 대한 액세스 검사를 수행할 필요가 없습니다. 그러나 어떤 이유로 공급자를 신뢰할 수 없는 경우 클라이언트를 가장하도록 허용하면 보안 위협이 될 수 있습니다. 이러한 경우 클라이언트에서 이 속성을 와 같은 더 낮은 값으로 ImpersonationLevel.Identify설정하는 것이 좋습니다. 이로 인해 충분한 권한이 없거나 액세스 검사를 수행할 수 없으므로 공급자가 요청된 작업을 수행하지 못할 수 있습니다.
속성 값
이 연결의 작업에 사용할 COM 가장 수준입니다. 기본값은 이 ImpersonationLevel.Impersonate연결에서 요청된 작업을 수행할 때 WMI 공급자가 클라이언트를 가장할 수 있음을 나타내는 입니다.
.NET Framework 보안
직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분적으로 신뢰할 수 있는 코드에서 라이브러리를 사용 하 여입니다.
적용 대상
.NET