Hi,
Yesterday I faced a problem in which I need to change the computer name using PowerShell. First I was looking for some cmdlet which can do this job for me but there is not any inbuilt cmdlet for it.
Then I searched and finally find a way by which I can do this within the PowerShell. This method is using WMI to do the task.
Download the script from Here : http://gallery.technet.microsoft.com/scriptcenter/Set-Computername-using-9cb6ecc4
Get-WmiObject Win32_ComputerSystem
We are using Get-WMI to give us all the value of Win32_ComputerSystem.
You can see in the Output that the “Name value contain our Computer name “WINANAL-088y8gx” with mach with our above screenshot.
$computerName = Get-WmiObject Win32_ComputerSystem
We are putting the command in to the $computerNamevariable. And you can see that the output of $computerName is same and above screenshot in which we run the command alone.
$name = Read-Host –Prompt “Please Enter the ComputerName you want to use.“
In $namevariables we are using Read-Host cmdlet with –Promptargument with asking users to provide a computer name to be use.
![]()
Whatever user provide to Read-Host, the value is stored in the $name variable. In First example in below screenshot we didn’t provide anything to Read-Host and you can see that output of $name is blank. In next example we provide “Test-Laptop” to Read-Host and you can see that now $name contains the value of “Test-Laptop”
![]()
$computername.Rename($name)
The Win32_ComputerSystem WMI class contain the method of .Rename() in which we need to provide a desired computer name in brackets.
![]()
![]()
Now check if you computer name get changed or not.
Bingo !!! Yes It is changed.. now reboot you laptop 😉 using restart-Computer
![]()
And if you want a GUI box to to open a Pop-UP to insert computer Name try this
[System.Reflection.Assembly]::LoadWithPartialName(‘Microsoft.VisualBasic’) | Out-Null
$name = [Microsoft.VisualBasic.Interaction]::InputBox(“Enter Desired Computer Name “)
$name
Download the script from Here : http://gallery.technet.microsoft.com/scriptcenter/Set-Computername-using-9cb6ecc4