sprycee
Goto Top

PowerShell Script zum Rechner Umbenennen mit CSV Datei

Hallo zusammen,

Zuerst möchte ich Erläutern wie ich das ganze vor habe.

Es soll mit Hilfe unserer Software Verteilung (EPM) ein PowerShell Script auf jedem Rechner ausgeführt werden. Dieses PowerShell Script ist mit einer csv Datei verknüpft die den Alten Namen sowie den Neuen Namen beinhaltet. Wichtig dabei ist ich muss nicht die credentials abfragen da unsere Software Verteilung das Script über den Local Admin ausführt.

Die csv Datei sieht etwa so aus:

OldName,NewName
Machine1,Computer1
Machine2,Computer2

PowerShell Script:
$csvfile = "C:\install\Test.csv"  

import-csv $csvfile  

$OldName = $_.OldName;
$NewName = $_.NewName;

if ($oldName -eq $env:computername) 
{
select -ExcludeProperty $OldName

Rename-Computer -NewName $newName -ComputerName $oldname
}
Wenn ich diese Art von Script ausführe würde ich Direkt Jeden Rechner Umbenennen was ich genau NICHT möchte. Ich möchte das der Rechner Sieht "okay hier ist mein aktueller Name, Oh das ist meiner Neuer, diesen übernehme ich jetzt"

Ich Hoffe mir kann jemand dabei Helfen bin noch PowerShell Anfänger
Vielen Dank

Content-Key: 666182

Url: https://administrator.de/contentid/666182

Printed on: May 7, 2024 at 17:05 o'clock

Member: TK1987
Solution TK1987 Apr 28, 2021 updated at 07:30:19 (UTC)
Goto Top
Moin,

du brauchst deine CSV-Datei nur mit Where-Object filtern.

$csvfile = "C:\install\Test.csv"  
$CSV = Import-Csv -Delimiter ',' $csvfile  

$CSV | Where-Object OldName -eq $Env:Computername | Foreach-Object {
  Rename-Computer -ComputerName $_.OldName -NewName $_.NewName
}

Du kannst das Ganze auch leicht testen, indem du bei Rename-Computer noch den Parameter -WhatIf ergänzt. So wird dir nur angezeigt, was er tun würde, ohne Änderungen zu machen.

Gruß Thomas
Member: Sprycee
Sprycee Apr 28, 2021 at 07:58:17 (UTC)
Goto Top
Moin Thomas

Erstmal Danke für deine Schnelle Antwort!

Habe das Script auf meinem Test Rechner Ausprobiert und es Funktioniert Super!

Wirklich Vielen Dank!