Frågan#1
Detta funkar, men ser ju en aning dumt ut. Det måste väl finnas ett smidigare sätt att hämta "Sid" på current user?!
Private Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, nSize _
As Long) As Long
Public Function GetCurrentUserName() As String
Dim l As Long
Dim sUser As String
sUser = Space$(255)
l = GetUserName(sUser, 255)
'strip null terminator
If l <> 0 Then
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select SID from Win32_UserAccount Where Name='" & Left(sUser, InStr(sUser, Chr(0)) - 1) & "'", , 48)
For Each objItem In colItems
GetCurrentUserName = objItem.SID
Next
Else
Err.Raise Err.LastDllError, , _
"A system call returned an error code of " _
& Err.LastDllError
End If
End Function
