我想知道是否有一种简单的方法可以使用 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) 结束功能
更新:查看对已接受答案的评论