• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 53
  • Last Modified:

Renaming PCs from AD ... -Dual Changing variable help

Hello Folks,

I have found a way to rename PC from the PS console remotely,...

Rename-Computer -ComputerName 'oldname1' -NewName 'newname1' -DomainCredential "microsoft\admin" -force -restart

Open in new window

this works fine as one computer goes, however, I'd lke to create a script to handle a bulk of PCs

so far i got this

$oldnames = Get-Content "C:\scripts\oldname.txt"
$newnames = Get-Content "C:\scripts\newname.txt"

foreach ($oldname in $oldnames) {
    Rename-Computer -ComputerName $oldname -NewName $newname -Restart -DomainCredential "microsoft\admin"

Open in new window

Since the "foreach" will be focus on "$oldnames" how can I sync with  the "$newnames" variable ?  should I setup a loop for the amount of pcs being handle?

Any recommendations would be appreciated
ivan rosa
ivan rosa
1 Solution
You could do of course that in two files and a loop over two indexed arrays, but that's error-prone (and soooooo vbs).
Create a csv file "Namelist.csv" or whatever in the following format (the first line is the header line with the column/property names; don't change that):
OldName, NewName
OldName1, NewName1
OldName2, NewName2

Open in new window

Then use this:
Import-Csv -Path "C:\Temp\Namelist.csv" | ForEach-Object {
	Rename-Computer -ComputerName $_.OldName -NewName $_.NewName -Restart -DomainCredential "microsoft\admin"

Open in new window

ivan rosaAuthor Commented:
Simply Genius!
I didn't know PS allows us to import arrays per columns... you just jailbroke my way of thinking...
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Microsoft Exchange Server

The MCTS: Microsoft Exchange Server 2010 certification validates your skills in supporting the maintenance and administration of the Exchange servers in an enterprise environment. Learn everything you need to know with this course.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now