2011-04-26 115 views
3

我正在開發一個項目,我必須驗證英特爾凌動處理器和Windows 7操作系統的平臺。訪客帳戶限制

我用:

ManagementClass mgmt = new ManagementClass("Win32_Processor"); 
//for Intel Atom, "Win32_OperatingSystem" for Win 7 OS 

現在,這個邏輯工作正常時,以管理員身份登錄或標準用戶,但是,當用戶登錄爲來賓用戶,我的方法獲得System.UnauthorizedAccessException

void ThrowExceptionForHRInternal(Int32, IntPtr) 
description: Access is denied 

訪客帳戶是否有限制以獲取平臺詳細信息?

+0

通常,此驗證是作爲應用程序安裝的一部分完成的。並且要安裝通常需要成爲管理員的應用程序。爲什麼這不適合你?這是什麼類型的應用程序以及此驗證的原因是什麼?如果您必須在運行時進行驗證,而不是在安裝時進行驗證,則可以使用提升帳戶運行的服務來提取數據並將其提供給應用程序,但我無法想象可能會有用的場景。你能告訴我更多關於你的應用程序嗎? – 2011-04-26 06:17:25

+0

相關,但不是重複:http://stackoverflow.com/questions/2796930/how-to-get-system-information-in-guest-account-c – alex 2011-04-26 06:18:43

+0

該要求是,你必須驗證平板每當你啓動應用程序的時候。 – user724789 2011-04-26 06:24:27

回答

3

是的,他們是。

如果沒有dcom更改或模擬,您將無法避開此問題。我現在無法測試它,但我很確定Environment類也會拋出異常。

您只是以訪客身份訪問受限且包含大多數wmi訪問權限和大多數環境訪問權限,這些訪問權限比用戶名更進一步。在這種情況下,假冒是一件壞事,我不會這樣做。我甚至不確定它會在這種情況下適用於您,還是隻會拋出另一個異常。