Powershell Hyper-V脚本无法工作?+自动安装Windows

Powershell Hyper-V脚本无法工作?+自动安装Windows,powershell,automation,hyper-v,Powershell,Automation,Hyper V,所以我有一个奇怪的问题。执行以下命令时: New-VM -Name "MattTest" -MemoryStartupBytes 2GB -BootDevice CD -SwitchName Lab -path c:\VMdocs -NewVHDSizeBytes 40GB –NewVHDPath c:\base.vhdx Set-VMDvdDrive -VMName MattTest -Path C:\ISOFiles\Windows2008. Start-VM -Name MattTes

所以我有一个奇怪的问题。执行以下命令时:

New-VM -Name "MattTest" -MemoryStartupBytes 2GB -BootDevice CD -SwitchName Lab -path c:\VMdocs -NewVHDSizeBytes 40GB –NewVHDPath c:\base.vhdx

Set-VMDvdDrive -VMName MattTest -Path C:\ISOFiles\Windows2008.

Start-VM -Name MattTest
它可以正常工作,但是,如果我编写一个脚本,我会遇到大量错误,例如,在一个名为PS.ps1的脚本中出现了完全相同的错误,并通过Powershell运行,我会得到:

New VM:参数无效。给定的参数找不到开关 标准在C:\Users\mrsmith\Desktop\PS.ps1:1 char:1 +新VM-名称MattTest-MemoryStartuBytes 2GB-引导设备CD-SwitchName实验室-。。。 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CategoryInfo:InvalidArgument:Lab:String[New VM],VirtualizationInvalidArgumentException +FullyQualifiedErrorId:InvalidParameter,Microsoft.HyperV.PowerShell.Commands.NewVMCommand

设置VMDVDRIVE:参数无效。Hyper-V无法启动 查找名为MattTest的虚拟机。在 C:\Users\mrsmith\Desktop\PS.ps1:3字符:1 +设置VMDVDRIVE-VMName MattTest-路径C:\ISOFiles\Windows2008。 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CategoryInfo:InvalidArgument:MattTest:String[Set-VMDVDRIVE],虚拟化InvalidArgumentException +FullyQualifiedErrorId:InvalidParameter,Microsoft.HyperV.PowerShell.Commands.SetVMDvdDriveCommand

设置VMDVDRIVE:参数无效。找不到DVD驱动器。 在C:\Users\mrsmith\Desktop\PS.ps1:3 char:1 +设置VMDVDRIVE-VMName MattTest-路径C:\ISOFiles\Windows2008。 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +类别信息:InvalidArgument::[Set-VMDVDRIVE],虚拟化InvalidArgumentException +FullyQualifiedErrorId:InvalidParameter,Microsoft.HyperV.PowerShell.Commands.SetVMDvdDriveCommand

Start VM:参数无效。Hyper-V无法找到一个 名为MattTest的虚拟机。在 C:\Users\mrsmith\Desktop\PS.ps1:5字符:1 +启动VM-名称测试 + ~~~~~~~~~~~~~~~~~~~~~~~ +CategoryInfo:InvalidArgument:MattTest:String[Start VM],VirtualizationInvalidArgumentException +FullyQualifiedErrorId:InvalidParameter,Microsoft.HyperV.PowerShell.Commands.StartVMCommand

我不确定是什么原因造成的?这是否与模块有关,因为我已检查并且Hyper-V cmdlet正在运行,考虑到我可以手动键入这些内容,它们将正常运行


还有一个附带问题:这些说明将出现在安装Windows XXXX屏幕上。有没有办法使这个过程自动化?或者不太喜欢单击“下一步”,选择硬盘驱动器,安装等等。

只是为了确保提示,例如“PS C:\Users\mrsmith\Desktop>”不是脚本的一部分,对吗?如果是,请将其移除


看起来,它是脚本的一部分,因为PS是Get进程的别名,它试图将“C:\Users\mrsmith\Desktop”作为进程名传递。

oops是我的错,这不应该是我复制它的地方的错误。因此,如果没有提示,脚本将按预期运行?您是问题机器上的本地管理员吗?外壳抬高了吗?是的,事实上我觉得我遇到了一些奇怪的问题,所以当我重新启动时,我实际上得到了不同的结果,我认为更正确的错误。我的意思是单个命令本身可以工作……当我把它放在脚本中时,它就不工作了。你有一个名为“lab”的开关吗?运行Get-VMSwitch以找到答案