Okay... I'm trying to pull myself away from this... hopefully this will be the last...

I hacked on Chris's WSHPipe and it functions pretty close to his original. You may have to revist exit codes in it, but for now, it works.

Code:
 

on error resume next

strComputer="computer"
strLocalDestinationGroup="Administrators"
strUsertoAdd="Administrator"

Set objGroup = GetObject("WinNT://"& strComputer &"/"& strLocalDestinationGroup)
objGroup.Add "WinNT://"& strUserToAdd
cerror(err.number)
wscript.echo err.number
wscript.echo err.description

function display
Msgbox Err.number & ":" & Err.Description
Err.clear
end function

Function CError(lErr)
dim cerr,output,line,errdesc
If lErr<0 Then
cErr=HexToDec(Right(Hex(lErr),4))
output=wshpipe("net helpmsg " & cerr)
for each line in output
if line<>"" then
errdesc=errdesc & " " & line
end if
next
errdesc=ltrim(errdesc)
Err.raise cerr,,errdesc
End If
End function

Function WshPipe(ShellCMD)
Dim oExec, Output, ExitCode
Set oExec = CreateObject("WScript.Shell").Exec(ShellCMD)
If Not VarType(oExec)=9 then
WshPipe="WScript.Shell Exec Unsupported"
Err.Raise 10
Exit Function
End If
Output = oExec.StdOut.ReadAll & oExec.StdErr.ReadAll
WshPipe=Split(Join(Split(Output,CHR(13)),""),CHR(10))
End Function

Function HexToDec(strHex)
dim lngResult
dim intIndex
dim strDigit
dim intDigit
dim intValue

lngResult = 0
for intIndex = len(strHex) to 1 step -1
strDigit = mid(strHex, intIndex, 1)
intDigit = instr("0123456789ABCDEF", ucase(strDigit))-1
if intDigit >= 0 then
intValue = intDigit * (16 ^ (len(strHex)-intIndex))
lngResult = lngResult + intValue
else
lngResult = 0
intIndex = 0 ' stop the loop
end if
next

HexToDec = lngResult
End Function