Teste mal das:
Spoiler anzeigen
#include <Array.au3>
[/autoit] [autoit][/autoit] [autoit]ConsoleWrite(_IsAdmin("Testkonto", @IPAddress1) & @CR)
[/autoit] [autoit][/autoit] [autoit]Func _NetUserGetLocalGroups($sUsername, $sServer = "") ; array[0] contains number of elements
Local Const $LG_INCLUDE_INDIRECT = 0x1
Local $tBufPtr = DllStructCreate("ptr")
Local $ptBufPtr = DllStructGetPtr($tBufPtr)
Local $tEntriesRead = DllStructCreate("dword")
Local $ptEntriesRead = DllStructGetPtr($tEntriesRead)
Local $tTotalEntries = DllStructCreate("dword")
Local $ptTotalEntries = DllStructGetPtr($tTotalEntries)
Local $aRet = DllCall("Netapi32.dll", "int", "NetUserGetLocalGroups", "wstr", $sServer, "wstr", $sUsername, "dword", 0, "dword", $LG_INCLUDE_INDIRECT, "ptr", $ptBufPtr, "dword", -1, "ptr", $ptEntriesRead, "ptr", $ptTotalEntries)
If $aRet[0] Then Return SetError(1, $aRet[0], False)
Local $iEntriesRead = DllStructGetData($tEntriesRead, 1)
Local $pBuf = DllStructGetData($tBufPtr, 1)
Local $sLocalGroupUsersInfo0 = "ptr"
Local $tLocalGroupUsersInfo0 = DllStructCreate($sLocalGroupUsersInfo0)
Local $zLocalGroupUsersInfo0 = DllStructGetSize($tLocalGroupUsersInfo0)
Local $tLocalGroupName
Local $aLocalGroupNames[1] = [0]
For $i = 1 To $iEntriesRead
$tLocalGroupUsersInfo0 = DllStructCreate($sLocalGroupUsersInfo0, $pBuf + ($i - 1) * $zLocalGroupUsersInfo0)
$tLocalGroupName = DllStructCreate("wchar[256]", DllStructGetData($tLocalGroupUsersInfo0, 1))
$aLocalGroupNames[0] += 1
ReDim $aLocalGroupNames[$aLocalGroupNames[0] + 1]
$aLocalGroupNames[$aLocalGroupNames[0]] = DllStructGetData($tLocalGroupName, 1)
Next
DllCall("Netapi32.dll", "int", "NetApiBufferFree", "ptr", $pBuf)
Return $aLocalGroupNames
EndFunc ;==>_NetUserGetLocalGroups
Func _IsAdmin($UserName, $sServer = "")
Local $aLocalGroupNames = _NetUserGetLocalGroups($UserName, $sServer)
Local $ArraySearch = _ArraySearch($aLocalGroupNames, "Administratoren", 1) ;Anmerkung funkey: String nur für deutsche Systeme
If $ArraySearch == -1 Then
Return False
Else
Return True
EndIf
EndFunc ;==>_IsAdmin