【发布时间】:2020-08-17 18:41:52
【问题描述】:
我在 Hyper-v 中有包含多个本地 VM 名称的文本文件:
新名字
IL-SRV
IL-TST
IL-MGN
IL-BBT
这是我的 hyper-V 环境中的名称,我想通过使用 Powershell 和批量更改它们的计算机名称
我正在使用这个脚本
$computers = import-csv -Path C:\Users\Itay\Desktop\Servers.txt
foreach ($newname in $computers){
Invoke-Command -VMName $computers.newname -Credential administrator -ScriptBlock {Rename-Computer -NewName $computers.newname -Restart -Force}
}
但我收到此错误
"
Invoke-Command : The input VMName IL-SRV does not resolve to a single virtual machine.
At line:11 char:1
+ Invoke-Command -VMName $computers.newname -Credential administrator - ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Invoke-Command], ArgumentException
+ FullyQualifiedErrorId : InvalidVMNameNotSingle,Microsoft.PowerShell.Commands.InvokeCommandCommad
"
【问题讨论】:
-
$computers.newname 是您刚刚导入的整个列表。另外,您似乎正在尝试将它们重命名为相同的名称。显示您的 CSV 样本。
-
没有人,我刚刚安装了它们,所以它们有通用名称,它说没有 VM 名称 IL-SRV 但有.. Hyper v 中的 VM 名称是 IL-SRV,我想要将计算机名称更改为与 VM 名称相同的名称..
标签: powershell virtual-machine hyper-v