; $isadmin
; Returns $true or null
alias isadmin {
if (!$isid) return
set -l %a isadmin_ $+ $ticks $+ $rand(1111,9999))
if ($com(locator_ $+ %a)) .comclose locator_ $+ %a
.comopen locator_ $+ %a WbemScripting.SWbemLocator
if ($comerr) return
if ($com(services_ $+ %a)) .comclose services_ $+ %a
if (!$com(locator_ $+ %a,ConnectServer,3,dispatch* services_ $+ %a)) || ($comerr) return
.comclose locator_ $+ %a
if ($com(os_ $+ %a)) .comclose os_ $+ services_ $+ %a
if (!$com(services_ $+ %a,ExecQuery,3,bstr,Select * from Win32_OperatingSystem,dispatch* os_ $+ %a)) || ($comerr) return
.comclose services_ $+ %a
if ($com(os_ $+ %a,Count,3)) && ($comval(os_ $+ %a,1,SystemDirectory)) set -l %sysdir $v1 $+ \
else return
.comclose os_ $+ %a
.fopen -o %a $qt(%sysdir $+ %a $+ .tmp)
.fwrite %a $!true
.fclose %a
set -l %read $read(%sysdir $+ %a $+ .tmp)
.remove $qt(%sysdir $+ %a $+ .tmp)
return %read
}