Well here is something I came up with which is quite similar to Howards 
But mine also adds the new user to the local Administrators group as well which is what I think you also asked for.
NOTE: - ANDY
I would typically agree with you about showing noobies how to circumvent security, but this code does not do that.
The person running this script MUST already have local Administrative rights on the system there attempting to add a user to otherwise this script will fail.
Code:
Debug Off
Break On
Dim $iRC
$iRC=SetOption('Explicit','On')
$iRC=SetOption('NoVarsInStrings','On')
Dim $NewUser
$NewUser = CreateUser('NameOfComputer','johndoe','1234')
Function CreateUser($Remote,$Name,$Password)
Dim $System,$NewUser,$Group,$User
$System = GetObject("WinNT://" + $Remote + ",Computer")
$NewUser = $System.Create("User", $Name)
$NewUser.SetPassword($Password)
$NewUser.SetInfo
fnCOMErr(@ERROR)
? 'Account creation: ' +@ERROR +" : " +@SERROR
$Group = GetObject("WinNT://" + $Remote + "/Administrators,Group")
$User = GetObject("WinNT://" + $Remote + "/"+$Name+",User")
$Group.Add($User.ADsPath)
fnCOMErr(@ERROR)
? 'Add to Admin Group: ' +@ERROR +" : " +@SERROR
EndFunction
Function fnCOMErr($lErr)
If $lErr<0 $lErr=VAL("&"+Right(DecToHex($lErr),4)) EndIf
Exit $lErr
Endfunction