ProblemYou want to rename a computer. SolutionUsing a graphical user interface
Using a command-line interfaceThe following command renames a computer and renames the corresponding Active Directory computer account: > netdom renamecomputer <ComputerName> /NewName <NewComputerName> /UserD <DomainUserUPN> /PasswordD * /UserO <ComputerAdminUser> /PasswordO * /Reboot The renamecomputer option is only available in Windows XP and Windows Server 2003 (not Windows 2000). Using VBScript' This code renames a computer in AD and on the host itself. ' The Rename( ) method was introducted in Windows XP so this code works ' only against Windows XP and Windows Server 2003. ' ------ SCRIPT CONFIGURATION ------ strComputer = "<ComputerName>" e.g. joe-xp strNewComputer = "<NewComputerName>" e.g. joe-pc strDomainUser = "<DomainUserUPN>" e.g. administrator@rallencorp.com strDomainPasswd = "<DomainUserPasswd>" strLocalUser = "<ComputerAdminUser>" e.g. joe-xp\administrator strLocalPasswd = "<ComputerAdminPasswd>" ' ------ END CONFIGURATION --------- '########################### ' Connect to Computer '########################### set objWMILocator = CreateObject("WbemScripting.SWbemLocator") objWMILocator.Security_.AuthenticationLevel = 6 set objWMIComputer = objWMILocator.ConnectServer(strComputer, _ "root\cimv2", _ strLocalUser, _ strLocalPasswd) set objWMIComputerSystem = objWMIComputer.Get( _ "Win32_ComputerSystem.Name='" & _ strComputer & "'") '########################### ' Rename Computer '########################### rc = objWMIComputerSystem.Rename(strNewComputer, _ strDomainPasswd, _ strDomainUser) if rc <> 0 then WScript.Echo "Rename failed with error: " & rc else WScript.Echo "Successfully renamed " & strComputer & " to " & _ strNewComputer end if WScript.Echo "Rebooting..." set objWSHShell = WScript.CreateObject("WScript.Shell") objWSHShell.Run "rundll32 shell32.dll,SHExitWindowsEx 2" DiscussionRenaming a computer consists of two operations: renaming the computer account in Active Directory and renaming the hostname on the machine itself. To do it in one step, which each of the three solutions do, you must have permission in Active Directory to rename the account and administrator permissions on the target machine. For the rename operation to be complete, you must reboot the computer.
Using a graphical user interfaceAfter you rename the computer you will be prompted to reboot the machine. You can cancel out if necessary, but you'll need to reboot at some point to complete the rename operation. Using a command-line interfaceYou can also have netdom reboot the machine by including a /Reboot switch, which automatically reboots the computer after the rename is complete. Using VBScriptThe Win32_ComputerSystem::Rename method must be run on the local machine unless the computer is a member of a domain. Unlike the GUI and CLI solutions, you cannot specify alternate credentials for the connection to the computer other than domain credentials. For this reason, the username and password you use with the Rename method must have administrative privileges on the target machine (i.e. part of the Administrators group) and on the computer account in Active Directory. See AlsoMS KB 228544 (Changing Computer Name in Windows 2000 Requires Restart), MS KB 238793 (Enhanced Security Joining or Resetting Machine Account in Windows 2000 Domain), MS KB 260575 (HOW TO: Use Netdom.exe to Reset Machine Account Passwords of a Windows 2000 Domain Controller), MS KB 325354 (HOW TO: Use the Netdom.exe Utility to Rename a Computer in Windows Server 2003), and MSDN: Win32_ComputerSystem::Rename |