我正在使用Win32_NetworkLoginProfile或Win32_Account獲取系統用戶列表。調用這些對象會返回很多用戶,一些本地用戶和一些屬於某個域(如果系統是域的一部分)。使用WMI獲取當前用戶名
有沒有辦法使用WMI獲取當前用戶名? 如果是,如何?
此外,使用Win32_Account我可以檢查我列出的用戶名是本地還是域的一部分。有沒有辦法爲當前用戶實現相同的目標?
該代碼爲Windows XP或更新版本的C語言。
謝謝。
我正在使用Win32_NetworkLoginProfile或Win32_Account獲取系統用戶列表。調用這些對象會返回很多用戶,一些本地用戶和一些屬於某個域(如果系統是域的一部分)。使用WMI獲取當前用戶名
有沒有辦法使用WMI獲取當前用戶名? 如果是,如何?
此外,使用Win32_Account我可以檢查我列出的用戶名是本地還是域的一部分。有沒有辦法爲當前用戶實現相同的目標?
該代碼爲Windows XP或更新版本的C語言。
謝謝。
有沒有辦法使用WMI獲取當前用戶名?
使用Win32_ComputerSystem.UserName
屬性。它返回用戶名和域名,即Domain\User
。如果您只需要用戶名,只需根據\
從該字符串中提取它即可。
此外,使用Win32_Account我可以檢查我列出的用戶名是本地或域的一部分。有沒有辦法爲當前用戶實現相同的目標?由
\
字符
斯普利特
Win32_ComputerSystem.UserName
值分別送域名以及用戶名:
那麼,你可以做這樣的事情。
獲取與指定的域和用戶名對應的Win32_Account
對象。這些都是Win32_Account
類的關鍵屬性,所以不是運行通用SELECT
查詢,使用IWbemServices::GetObject
由其路徑檢索特定的實例:
Win32_Account.Domain="<domain>",Name="<username>"
檢查所獲得的Win32_Account
對象的LocalAccount
財產。