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

时间:2013-03-07 13:07:17

标签: 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 MattTest

它运行正常,但是如果我创建一个脚本,我会得到一个TON错误,例如在一个名为PS.ps1的脚本中完全相同的东西,并通过Powershell运行我得到:

  

New-VM:参数无效。没有开关可以找到   标准。在C:\ Users \ mrsmith \ Desktop \ PS.ps1:1 char:1   + New-VM -Name“MattTest”-MemoryStartupBytes 2GB -BootDevice CD -SwitchName Lab - ...   + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~       + CategoryInfo:InvalidArgument:(Lab:String)[New-VM],VirtualizationInvalidArgumentException       + FullyQualifiedErrorId:InvalidParameter,Microsoft.HyperV.PowerShell.Commands.NewVMCommand

     

Set-VMDvdDrive:该参数无效。 Hyper-V无法做到   找到名为MattTest的虚拟机。在   C:\ Users \ mrsmith \ Desktop \ PS.ps1:3 char:1   + Set-VMDvdDrive -VMName MattTest -Path C:\ ISOFiles \ Windows2008。   + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~       + CategoryInfo:InvalidArgument:(MattTest:String)[Set-VMDvdDrive],VirtualizationInvalidArgumentExcept ion       + FullyQualifiedErrorId:InvalidParameter,Microsoft.HyperV.PowerShell.Commands.SetVMDvdDriveCommand

     

Set-VMDvdDrive:该参数无效。没有找到DVD驱动器。   在C:\ Users \ mrsmith \ Desktop \ PS.ps1:3 char:1   + Set-VMDvdDrive -VMName MattTest -Path C:\ ISOFiles \ Windows2008。   + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~       + CategoryInfo:InvalidArgument:(:) [Set-VMDvdDrive],VirtualizationInvalidArgumentException       + FullyQualifiedErrorId:InvalidParameter,Microsoft.HyperV.PowerShell.Commands.SetVMDvdDriveCommand

     

Start-VM:参数无效。 Hyper-V无法找到   名为MattTest的虚拟机。在   C:\ Users \ mrsmith \ Desktop \ PS.ps1:5 char:1   + Start-VM -Name MattTest   + ~~~~~~~~~~~~~~~~~~~~~~~       + CategoryInfo:InvalidArgument:(MattTest:String)[Start-VM],VirtualizationInvalidArgumentException       + FullyQualifiedErrorId:InvalidParameter,Microsoft.HyperV.PowerShell.Commands.StartVMCommand

我不确定是什么原因造成的?是否与模块有关,因为我已经检查过并且Hyper-V cmdlet正在运行(考虑到我可以手动输入这些并且它们会很好)

另外请问:这些说明将进入“安装Windows XXXX”屏幕。有没有办法自动化这个过程?或者不是真的(比如让它点击下一步,选择硬盘,安装等......

1 个答案:

答案 0 :(得分:2)

为了确保,提示(例如'PS C:\ Users \ mrsmith \ Desktop>')不是脚本的一部分,对吧?如果有,请将其删除。

如图所示,它是脚本的一部分,因为PSGet-Process的别名,它会尝试将'C:\ Users \ mrsmith \ Desktop'作为进程名称传递。< / p>