alias osVersion { 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
}