Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to determine that the User has Admin privileges
Message
From
20/10/2004 21:02:07
Nitin Parulekar
New Zealand Software Corp Ltd
Hamilton, New Zealand
 
General information
Forum:
Visual FoxPro
Category:
Windows API functions
Miscellaneous
Thread ID:
00824487
Message ID:
00953191
Views:
25
Hi Anatoliy,

Tried this one...seems ok:
* Return Values - 0 Not an Admin
* 				- 1 Is Admin
*  				- 2 Invalid OS
FUNCTION CurUserIsAnAdmin
	LOCAL lnpos, lcworkstation, lcuser, lodom, lomember, logrp, louser
	* Check if (WindowsNT, W2K, XP)
	IF VAL(OS(3))<5 AND ATC("NT",OS())=0
		RETURN 2
	ENDIF
	* Get User Info Currently logged in to workstation
	lnpos = AT('#',SYS(0),1)
	lcworkstation = ALLTRIM(LEFT(SYS(0),lnpos-1))
	lcuser = ALLTRIM(SUBSTR(SYS(0), lnpos+1 , LEN(SYS(0))))
	lodom=GETOBJECT("WinNT://"+lcworkstation)
	FOR EACH lousr IN lodom
		lcMemb=''
		IF lousr.CLASS="Group"
			logrp=lodom.GETOBJECT("Group",lousr.NAME)
			IF ALLTRIM(LOWER(lousr.NAME)) == 'administrators'
				FOR EACH lomember IN logrp.Members
					IF !ISNULL(lomember) AND lomember.CLASS="User"
						IF ALLTRIM(LOWER(lomember.NAME)) == lcuser
							RETURN 1
						ENDIF
					ENDIF
				ENDFOR
			ENDIF
		ENDIF
	ENDFOR
RETURN 0
Nitin
Previous
Reply
Map
View

Click here to load this message in the networking platform