参数 -MemoryStartupBytes 通过变量
Argument -MemoryStartupBytes via variable
大家晚上好,
我需要有关 Powershell 中一个简单变量的帮助。我正在尝试通过 Powershell 在 Hyper-V 中自动创建 VM。
我试图通过 Read-Host 提示 RAM GB 的数量,但我一直收到相同的错误。
$ram = Read-Host -Prompt "Ram to use"
New-VM -Name $vm -MemoryStartupBytes $ram -BootDevice VHD -NewVHDPath C:\HyperV\Virtualmachines$vm.vhdx -Path C:\HyperV\Virtualmachines -NewVHDSizeBytes $disc1 -Generation 2 -Switch Data
New-VHD -Path C:\HyperV\virtualmachines\"$vm"_2.vhdx -SizeBytes 40GB -Dynamic
这是我收到的错误。
其中两个,一个来自字节,另一个是正确的格式
New-VHD : Cannot bind parameter 'SizeBytes'. Cannot convert value
"[60GB]" to type "System.UInt64". Error: "Input string was not in a
correct format."
The minimum amount of memory you can assign to this virtual machine is
'32' MB.
我不明白为什么不能使用 GB 如果将自己的数量放入正确的 powershell 中工作正常但如果我写入变量不起作用
用户可以在 Read-Host..
中输入任何内容
要去除绒毛,请执行类似
的操作
$ram = Read-Host -Prompt "Ram to use (GB)"
$ram = [uint64]($ram -replace '\D') * 1GB # now you have the value as UInt64
大家晚上好,
我需要有关 Powershell 中一个简单变量的帮助。我正在尝试通过 Powershell 在 Hyper-V 中自动创建 VM。
我试图通过 Read-Host 提示 RAM GB 的数量,但我一直收到相同的错误。
$ram = Read-Host -Prompt "Ram to use"
New-VM -Name $vm -MemoryStartupBytes $ram -BootDevice VHD -NewVHDPath C:\HyperV\Virtualmachines$vm.vhdx -Path C:\HyperV\Virtualmachines -NewVHDSizeBytes $disc1 -Generation 2 -Switch Data
New-VHD -Path C:\HyperV\virtualmachines\"$vm"_2.vhdx -SizeBytes 40GB -Dynamic
这是我收到的错误。
其中两个,一个来自字节,另一个是正确的格式
New-VHD : Cannot bind parameter 'SizeBytes'. Cannot convert value "[60GB]" to type "System.UInt64". Error: "Input string was not in a correct format."
The minimum amount of memory you can assign to this virtual machine is '32' MB.
我不明白为什么不能使用 GB 如果将自己的数量放入正确的 powershell 中工作正常但如果我写入变量不起作用
用户可以在 Read-Host..
中输入任何内容
要去除绒毛,请执行类似
$ram = Read-Host -Prompt "Ram to use (GB)"
$ram = [uint64]($ram -replace '\D') * 1GB # now you have the value as UInt64