Here you have something to play with:
Init objects
$oMyError = ObjEvent("AutoIt.Error","MyErrFunc") ; Install a custom error handler
$UserName = 'Fred'
$Password = 'Wilma123'
$strComputer = @ComputerName
;***********************
;Create UserID
$colAccounts = ObjGet("WinNT://" & $strComputer & "")
$objUser = $colAccounts.Create("user", $UserName)
$objUser.SetPassword ($Password)
$objUser.Put ("Fullname", "Test User")
$objUser.Put ("Description", "Test User description")
$objUser.Put ("PasswordExpired", 1) ;expire the password
$objUser.SetInfo
;***********************
;Add User to group
$objGroup = ObjGet("WinNT://" & $strComputer & "/Administrators,group")
$objGroup.Add($objUser.ADsPath)
;***********************
; Rename User
$colAccounts = ObjGet("WinNT://" & $strComputer & "")
$objUser = $colAccounts.Create("user", $UserName)
$OldUser = "Fred"
$NewUser = "Fredrenamed"
$oUser = ObjGet("WinNT://" & @ComputerName & "/" & $OldUser & ",user")
$oComputer = ObjGet("WinNT://" & @ComputerName)
$oNewUser = $oComputer.MoveHere($oUser.ADsPath, $NewUser)
; Delete User
$colAccounts = ObjGet("WinNT://" & $strComputer & "")
$objUser = $colAccounts.Delete("user", $NewUser)
Func MyErrFunc()
$HexNumber=hex($oMyError.number,8)
Msgbox(0,"","We intercepted a COM Error !" & @CRLF & _
"Number is: " & $HexNumber & @CRLF & _
"Linenbr is: " & $oMyError.scriptline & @CRLF & _
"Description is: " & $oMyError.description & @CRLF & _
"Windescription is: " & $oMyError.windescription )
SetError(1) ; something to check for when this function returns
Endfunc
You can pull the startup username from the registry.'
So, What is you goal here? Why rename the userid?
Jos