-
-
Save timnew/2373475 to your computer and use it in GitHub Desktop.
$ComputerName = "New Name" | |
Remove-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -name "Hostname" | |
Remove-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -name "NV Hostname" | |
Set-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\Computername\Computername" -name "Computername" -value $ComputerName | |
Set-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\Computername\ActiveComputername" -name "Computername" -value $ComputerName | |
Set-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -name "Hostname" -value $ComputerName | |
Set-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -name "NV Hostname" -value $ComputerName | |
Set-ItemProperty -path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -name "AltDefaultDomainName" -value $ComputerName | |
Set-ItemProperty -path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -name "DefaultDomainName" -value $ComputerName |
@timnew The reboot might not be needed, but my question is : Do I need to kill all explorer.exe
instances and relaunch one for the new registry key to be reloaded ?
i'm trying to rename my PC to its IP address this is what I have but i get an error saying the syntax of the command is incorrect
@echo off
SET /P < ipaddress >
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName /v ComputerName /t REG_SZ /d %PCNAME% /f
@echo off
set "cName=ROG-ISRA"
set "OEM=ROG STRIX B650E-F GAMING WIFI"
REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation" /t REG_SZ /v Model /d "%OEM%" /f
wmic computersystem where name="%computername%" call rename name="%cName%"
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "Hostname" /d %cName% /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /d %cName% /f
set "sysSets=SystemSettings.exe"
tasklist /fi "ImageName eq %sysSets%" /fo csv 2>NUL | find /I "%sysSets%">NUL
if "%ERRORLEVEL%"=="0" (
taskkill /F /IM %sysSets%
start ms-settings:
)
EDIT: More simply and best
FYI I had the issue that I needed a name change without reboot AND running PsExec for another user session on the same machine afterwards. I got this Error: Creating key file on $newComputername. The user name or password is incorrect / The network location cannot be reached.
Fix was to add the following lines to rename.ps1
# Restart service to have PsExec working after name change; wait 5 seconds to be safe
Restart-Service Server -Force
Start-Sleep
So I found this script and thought it would be awesome. The script does rename the computer and it looks good from that end, but in AD, the name does not update. This causes issue with SCCM and other management tools. I ended up renaming them the old fashioned way but with Powershell that prompts me for my AD PW.
So I found this script and thought it would be awesome. The script does rename the computer and it looks good from that end, but in AD, the name does not update. This causes issue with SCCM and other management tools. I ended up renaming them the old fashioned way but with Powershell that prompts me for my AD PW.
That makes sense; you can't just change a name in Active Directory without authentication. That system is completely separate from the local machine.
@timnew Congratulations for this great script.
Can you please add some restrictions on the new name before actually applying the new name to windows, that is to say : forbid names containing
.
or spaces just like the warning printed by thenetdom.exe
tool :