<br><font size=2 face="sans-serif">On 12/08/2003 20:51:49 metacard-admin wrote:<br>
&gt;Has anyone come up with a way to determine the user privileges of the<br>
&gt;current user without writing a file to the drive?<br>
&gt;<br>
&gt;I'm trying to detect whether or not the current Windows user has Admin<br>
&gt;rights. &nbsp;If the only way to determine this is to attempt to create a file,<br>
&gt;what is the best path to use?<br>
</font>
<br><font size=2 face="sans-serif">Scott,</font>
<br>
<br><font size=2 face="sans-serif">on NT4 or W2K only... (it would be nice if someone posted the osx and linux variants ;)</font>
<br>
<br><font size=2 face="sans-serif">echo %username%</font>
<br><font size=2 face="sans-serif">will give you the current user name.</font>
<br>
<br><font size=2 face="sans-serif">Then, put the result in comparison with </font>
<br><font size=2 face="sans-serif">c:\net localgroup </font>
<br><font size=2 face="sans-serif">Choose the administrator group</font>
<br><font size=2 face="sans-serif">net localgroup &quot;administrators&quot;</font>
<br><font size=2 face="sans-serif">you should see your user name in there.</font>
<br>
<br><font size=2 face="sans-serif">Alternatives:</font>
<br><font size=2 face="sans-serif">In a NT domain, the local admin may be useless!</font>
<br><font size=2 face="sans-serif">You can find the admins in net group &quot;domain admins&quot; -- but only from the PDC...</font>
<br><font size=2 face="sans-serif">Unless you have EnterpriseAdmin (obsolete I believe) -- more below...</font>
<br>
<br>
<br><font size=2 face="sans-serif">So one simple solution to find out if you are an administrator is this:</font>
<br><font size=2 face="sans-serif">c:\&gt;net sessions</font>
<br><font size=2 face="sans-serif">System error 5 has occurred.</font>
<br>
<br><font size=2 face="sans-serif">Access is denied.</font>
<br>
<br><font size=2 face="sans-serif">or</font>
<br><font size=2 face="sans-serif">c:\&gt;net sessions</font>
<br>
<br><font size=2 face="sans-serif">Computer &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; User name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Client Type &nbsp; &nbsp; &nbsp;Opens Idle time</font>
<br>
<br><font size=2 face="sans-serif">------------------------------------------------------------------------------</font>
<br><font size=2 face="sans-serif">\\BELLINI &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Windows NT 1381 &nbsp;0 &nbsp; &nbsp; 00:07:10</font>
<br><font size=2 face="sans-serif">The command completed successfully.</font>
<br>
<br>
<br><font size=2 face="sans-serif">For enterprise admin</font>
<br>
<br><font size=2 face="sans-serif">global </font><font size=2>EAAvailable </font>
<br>
<br><font size=2>&nbsp; put shell(&quot;EA&quot;) into x</font>
<br><font size=2>&nbsp; put &quot;The name specified is not recognized&quot; is not in x into EAAvailable</font>
<br><font size=2>&nbsp; if not EAAvailable then answer &quot;EA - Enterprise Administrator is required for this program to work. Maybe EA's path is not in your system's PATH environment variable.&quot;</font>
<br>
<br><font size=2>on CheckUserIsAdmin</font>
<br><font size=2>if EAAvailable &nbsp;then</font>
<br><font size=2>&nbsp; local eainfo</font>
<br><font size=2>&nbsp; local marshalindomain,deputyindomain</font>
<br><font size=2>&nbsp; put shell(&quot;ea info&quot;) into eainfo</font>
<br><font size=2>&nbsp; -- parse this</font>
<br><font size=2>&nbsp; -- &nbsp; Marshal in Focus Domain? &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Yes, Marshal with all Deputy powers</font>
<br><font size=2>&nbsp; -- &nbsp; Deputy in Focus Domain? &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Yes</font>
<br><font size=2>&nbsp; </font>
<br><font size=2>&nbsp; put line lineoffset(&quot;Marshal in Focus Domain&quot;,eainfo) of eainfo into marshalindomain</font>
<br><font size=2>&nbsp; put line lineoffset(&quot;Deputy in Focus Domain&quot;,eainfo) of eainfo into deputyindomain</font>
<br><font size=2>&nbsp; </font>
<br><font size=2>&nbsp; get &quot;yes&quot; is in marshalindomain and &quot;yes&quot; is in deputyindomain</font>
<br><font size=2>else</font>
<br><font size=2>&nbsp; get &quot;access denied&quot; is not in shell(&quot;net sessions&quot;)</font>
<br><font size=2>end if</font>
<br><font size=2>&nbsp; return it</font>
<br><font size=2>end CheckUserIsAdmin</font>
<br><CODE><FONT SIZE=3><BR>
<BR>
Visit us at http://www.clearstream.com<BR>
                                                          <BR>
IMPORTANT MESSAGE<BR>
<BR>
Internet communications are not secure and therefore Clearstream International does not accept legal responsibility for the contents of this message.<BR>
<BR>
The information contained in this e-mail is confidential and may be legally privileged. It is intended solely for the addressee. If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited and may be unlawful. Any views expressed in this e-mail are those of the individual sender, except where the sender specifically states them to be the views of Clearstream International or of any of its affiliates or subsidiaries.<BR>
<BR>
END OF DISCLAIMER<BR>
</FONT></CODE>