alias OSVer { return $gettok($OSGET(Name),1,124) }
alias OSBuild { return $OSGet(Version) }
alias OSSP { return $+(SP,$OSGet(ServicePackMajorVersion)) }
alias OSReg { return $OSGet(RegisteredUser) }
alias -l OSGet {
var %r
if ($com(osLoc)) { .comclose osLoc }
if ($com(osSrv)) { .comclose osSrv }
if ($com(osOS)) { .comclose osOS }
.comopen osLoc WbemScripting.SWbemLocator
if ($comerr) goto error
elseif (!$com(osLoc,ConnectServer,3,dispatch* osSrv)) goto error
elseif (!$com(osSrv,ExecQuery,3,bstr*,select $1 from Win32_OperatingSystem,dispatch* osOS)) goto error
%r = $comval(osOS,1,$1)
:error
if ($com(osLoc)) { .comclose osLoc }
if ($com(osSrv)) { .comclose osSrv }
if ($com(osOS)) { .comclose osOS }
return %r
}
alias WinInfo {
$iif($active ischan,say,echo -a) I'm using $OSVer $OSSP $+($chr(40),Build $OSBuild,$chr(41))
}
Comments