对于需要重命名的特定 PC(大约 10,000 台),我们正在进行大量工作。他们处于工作组模式(未加入域)。显然,如果我们可以编写脚本并远程执行,我们应该这样做。我一直在努力更好地理解 PowerShell,并认为如果我能正确编写代码,它实际上可以很容易地完成。我需要一个非常简单的脚本,它将:
- 获取机器的当前 IP 地址。
- 将该 IP 地址与 CSV 格式的列表进行比较。
- 从列表中,使用基于 IP 地址的新计算机名称并重命名计算机。
CSV 将非常简单:
IPADDRESS,NEWCOMPNAME
192.168.0.1,NewPC1
192.168.0.2,NEWPC2
192.168.0.3,NEWPC3
这是我到目前为止但不工作的脚本:
$currentIpAddress = Test-Connection $env:COMPUTERNAME -count 1 | select Address, Ipv4Address
$csv = Import-Csv C:\test.csv
$newComputerName = $csv | where {$_.IPADDRESS -eq $currentIpAddress} | % NEWCOMPNAME
Rename-Computer -newname $newComputerName -Force -Restart