遠端和連接選項
管理作業可在本機方塊和在遠端方塊上無障礙地執行。若要在遠端電腦上存取管理物件,使用者必須初始連線到該電腦。連線是由 ManagementScope 物件來表示。依預設,範圍 (Scope) 繫結到本機電腦上和 root\cimv2 system 名稱空間,但使用者可以指定特定電腦,或者範圍的不同的 WMI 命名空間來修改上述情況。此外,進行遠端連線時,您可以指定使用者憑證,而不是目前登入的使用者,該遠端機器上的作業將在指定的使用者內容中執行。只要使用 ConnectionOptions 物件便可完成這項作業。下列程式碼範例使用不同使用者的身分連接到遠端電腦:
using System;
using System.Management;
public class RemoteConnect {
public static void Main() {
//Build an options object for the connection
ConnectionOptions options = new ConnectionOptions();
options.Username = "User1";
options.Password = "MyPassword";
//Make a connection to a remote computer using these options
ManagementScope scope = new ManagementScope("\\\\Server1\\root\\cimv2", options);
scope.Connect();
}
}
System.Management 遠端處理使用 DCOM 作為基礎遠端機制。ConnectionOptions 物件也控制 WMI 在遠端 DCOM 作業中使用的 impersonation 和 authentication 層級。這些參數的預設值分別是 ImpersonationLevel.Impersonate 和 AuthenticationLevel.Unchanged。
AuthenticationLevel.Unchanged 表示用戶端使用標準 DCOM 協議處理序,預設到伺服器的驗證 (Authentication) 需求。WMI 服務在 Windows 2000 和低階上會要求連接 (Connect) 層級驗證,在 Windows XP 和高階上會要求封包 (Packet) 層級驗證。如果用戶端要求特定的驗證設定,您可以使用 ConnectionOptions 物件上的 Authentication 屬性來控制這個特殊連接上的驗證層級。
ImpersonationLevel.Impersonate 表示用戶端允許 WMI 資料提供者在收集所需資訊時模擬它的識別 (Identity)。這個預設值在提供者為受信任應用程式或服務時特別有用,因為它能讓提供者擷取用戶端資訊時不必明確的執行識別和存取檢查。但如果定址的提供者或副稽核的應用程式因故不再能信任,允許它模擬用戶端會危及安全性。此時,建議用戶端應用程式降低模擬層級值,例如,ImpersonationLevel.Identify。請注意,這可能導致某些不檢查存取或是在執行的內容上沒有足夠權限來擷取所需資訊的提供者,無法存取資訊。
請參閱
使用 System.Management 存取管理資訊 | 擷取管理物件集合 | 查詢管理資訊 | 訂閱和使用事件 | 執行管理物件上的方法 | 使用強式型別物件