Sign in to follow this  
Followers 0
stev379

rename local user accounts

5 posts in this topic

I know this can be done with GPO's. We do use that method for our desktops, but our SOP requires that we rename the local accounts on servers when we build them.

The VBS code below will do it, but I'd like to conver it to AutoIT as I have a much larger script that configures a lot of other options on the servers. I could use the VB script as an include file, but would prefer to keep it clean with AutoIT.

VBS version

Set oWshNet = CreateObject("WScript.Network")

sComputerName = oWshNet.ComputerName
sOldUser = "Guest"
sNewUser = "Guestuser"
Set oComputer = GetObject("WinNT://" & sComputerName)

' Turn off internal error handling
On Error Resume Next

' connect to user object
Set oUser = GetObject("WinNT://" & sComputerName & "/" & sOldUser & ",user")

' rename user
Set oNewUser = oComputer.MoveHere(oUser.ADsPath, sNewUser)

I've tried to convert to AutoIT, but get errors on

$oNewUser = $oComputer.MoveHere($oUser.ADsPath, $NewUser)

Error:

E:\Scripting\AutoIT\InProgress\RenameLclAdmin\RnmLclAdmin2.00.au3 (10) : ==> Variable must be of type "Object".: 
$oNewUser = $oComputer.MoveHere($oUser.ADsPath, $NewUser) 
$oNewUser = $oComputer.MoveHere($oUser^ ERROR
+>AutoIT3.exe ended.rc:0

Attempted conversion to AutoIT

$oWshNet = ObjCreate("WScript.Network")
$ComputerName = $oWshNet.ComputerName
$OldUser = "Guest"
$NewUser = "Guestrenamed"
$oUser = ObjGet("WinNT://" & $ComputerName & "/" _
                & $OldUser & ",user")
$oComputer = ObjGet("WinNT://" & $ComputerName)
; rename user
$oNewUser = $oComputer.MoveHere($oUser.ADsPath, $NewUser)

Any suggestions on how to rename the local Guest or Administrator accounts with AutoIT?

Thanks!

Share this post


Link to post
Share on other sites



Hello,

Are you trying to compile with the stable version?

I dont' think it supports objects.

Also, you have to create the object. When you get that error, it basically means that the object wasn't declared.

Last, You can use IsObj to do some checking, either for error handling, or how ever you wanna handle it. Its a pretty nice function.

HTH,

~~TheCreator

Share this post


Link to post
Share on other sites

Any suggestions on how to rename the local Guest or Administrator accounts with AutoIT?

Thanks!

$OldUser = "Guest"
$NewUser = "Guestrenamed"
$oUser = ObjGet("WinNT://" & @ComputerName & "/" & $OldUser & ",user")
$oComputer = ObjGet("WinNT://" & @ComputerName)
$oNewUser = $oComputer.MoveHere($oUser.ADsPath, $NewUser)

:D


Visit the SciTE4AutoIt3 Download page for the latest versions        Beta files                                                          Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

$OldUser = "Guest"
$NewUser = "Guestrenamed"
$oUser = ObjGet("WinNT://" & @ComputerName & "/" & $OldUser & ",user")
$oComputer = ObjGet("WinNT://" & @ComputerName)
$oNewUser = $oComputer.MoveHere($oUser.ADsPath, $NewUser)

:D

Bada Bing!

So easy when you use what AutoIT has to offer. I was going about it the hard way.

Thanks JdeB!!!

Share this post


Link to post
Share on other sites

Bada Bing!

So easy when you use what AutoIT has to offer. I was going about it the hard way.

Thanks JdeB!!!

So true! Thanks for this example. I was trying to use WMI as the Scripting Guys suggested but couldn't figure it out.

This was another option but not graceful enough for me.

(from http://social.technet.microsoft.com/Forums/en/mdt/thread/edc88cb5-f9b0-4862-adf9-bb2b73940ee7)

wmic useraccount where name='Administrator' call rename name='YourAdminName'

Your example worked, but I had to add an error check in case the old user name didn't exist.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0