我想知道是否有一种简单的方法可以使用 WMI 为您获取当前带有域的 Windows 用户名。Windows API 调用只会为您获取简短的用户名,因此您最终会再次调用域名。我有一些代码,但出现自动化错误。有任何想法吗?我认为我走在正确的道路上,但我对 WMI 有点陌生。
函数 GetFullName() 作为字符串
将计算机调暗为字符串
电脑=“。”
暗淡 objWMIService,colProcessList 作为对象
设置 objWMIService = GetObject("winmgmts:\\" & computer & "\root\cimv2")
设置 colProcessList = objWMIService.ExecQuery _
("SELECT TOP 1 * FROM Win32_Process WHERE Name = 'EXCEL.EXE'")
Dim uname, udomain As String
将 objProcess 调暗为对象
对于 colProcessList 中的每个 objProcess
objProcess.GetOwner uname, udomain
下一个
GetFullName = UCase(udomain) & "\" & UCase(uname)
结束功能
更新:查看对已接受答案的评论