Function IsAdmin(strUserName) Dim objWMI, colUsers, objUser, strGroup, strUser, blnIsAdmin, blnHasAdmins On Error Resume Next Err.Clear Set objWMI = GetObject("winmgmts:\\.\root\CIMV2") Set colUsers = objWMI.ExecQuery("SELECT * FROM Win32_GroupUser", "WQL", 48) If Err.Number <> 0 Then 'Assume WMI failure means Win9X, implying user is an Administrator IsAdmin = True Else blnIsAdmin = False blnHasAdmins = False For Each objUser In colUsers strGroup = objUser.GroupComponent strGroup = Split(strGroup, "=") If strGroup(UBound(strGroup)) = """Administrators""" Then blnHasAdmins = True strUser = objUser.PartComponent strUser = Split(strUser, "=") If strUser(UBound(strUser)) = """" & strUserName & """" Then blnIsAdmin = True End If End If Next End If If blnHasAdmins = False Then 'If there are no members of the Administrators group, assume everybody is an admin IsAdmin = True Else IsAdmin = blnIsAdmin End If End Function