Here's that ADSI way you eluded to ...

Code:

Break On

$DOMAIN = @WKSTA
$OLDNAME = "JohnSmith"
$NEWNAME = "JaneDoe"

$objDomain = GetObject("WinNT://"+$DOMAIN)

$objUser = GetObject("WinNT://"+$DOMAIN+"/"+$OLDNAME)

$= $objDomain.MoveHere($objUser.AdsPath, $NEWNAME)

Exit 0