Первоначально опубликовано DubAlex
Доброе утро!
Кто-нибудь пробовал с помощью TrendWorX reporting записывать в генерируемый отчет имя пользователя?
Стандартных средств в самом TrendWorX reporting'е я не увидел.
В TrendWorX Configurator'е хотел попробовать записывать в БД имя пользователя в качестве тега (а потом этот тег можно было бы отображать в отчете). Но не нашел тега с именем пользователя.
Остается вариант скрипта. Пока только одна задумка: с помощью VBA слежу за временем, в определенный момент выдергиваю имя пользователя, записываю его в только что сформированный Excel-отчет.
Последний вариант мне не нравится - опять VBA и слишком много действий.
Есть что-нибудь проще? |
Имя пользователя скриптом можно вытащить через WMI провайдера:
Option Explicit
Public Type HostParametrs
UserName As String
HostName As String
UserNameOnly As String
End Type
Public Function GetCurrentUser() As HostParametrs
Dim objWMIService, colItems, objItem As Object
Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_ComputerSystem", , 48)
For Each objItem In colItems
GetCurrentUser.HostName = objItem.Name
GetCurrentUser.UserName = objItem.UserName
Next
GetCurrentUser.UserNameOnly = Mid(GetCurrentUser.UserName, Len(GetCurrentUser.HostName) + 2)
End Function
'Проверка работы функции
Sub Test()
Dim Test As HostParametrs
Test = GetCurrentUser()
MsgBox "Имя хоста = " & Test.HostName & Chr(13) & _
"Имя текущего пользователя = " & Test.UserName & Chr(13) & _
"Имя без принадлежности домену = " & Test.UserNameOnly
End Sub