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)) }