来宾上的Windows 8 Hyper-v运行脚本

豪普特曼·埃克

我正在寻求用MS Hyper-V替换Virtual Box解决方案,因为在使用Virtual Box的自动测试套件中,我遇到了很多不可重现的问题。我有一台Windows 8.1计算机,将用于在其上运行测试。

当前的虚拟盒子流程:

  1. 启动虚拟机
  2. 重设快照
  3. 使用C#通过网络将文件传输到Guest OS
  4. 使用Virtual Box触发已传输的.exe文件以启动自动化测试。

我看到有人使用Powershell脚本和WMI启动和停止他们的Hyper-V VM,但是我看不到任何在Guest OS上触发已传输文件的方法。

我是否缺少可以使用的API?否则,我如何以编程方式触发来宾OS上的EXE?

豪普特曼·埃克

我最终使用System.Management.Automation.PowerShell我将分享我以前执行每个步骤的主要代码块,以便将来的用户获得帮助。

主要代码块

    var ps = PowerShell.Create();
    //Restore Snapshots
    ps.AddCommand("Restore-VMSnapshot");
    ps.AddParameter("Name", snapshot);
    ps.AddParameter("VMName", vmName);
    ps.AddParameter("Confirm", false);
    ps.Invoke();
    ps.Commands.Clear();

    //Start VM
    ps.AddCommand("Start-VM");
    ps.AddParameter("Name", vmName);
    ps.Invoke();
    ps.Commands.Clear();

    //Get IP
    string[] ipValues = null;
    do
    {
        ps.AddCommand("Get-VMNetworkAdapter");
        ps.AddParameter("VMName", vmName);
        var ips = ps.Invoke();
        ps.Commands.Clear();

        if (ips.Count > 0)
        {
            ipValues = (string[])ips[0].Members["IPAddresses"].Value;
        }
    } while (ipValues.Length ==0);
    string ip = ipValues[0];

    //Move Exe to VM
    File.Copy(@"...", "\\\\" + ip + "\\Users\\Public\\Documents\\...", true);

    //Run Program
    ps.AddScript("$Username = '...'; $Password = '...' ;$ComputerName = '"+ip+"' ;"+
    "$Script = {Start-Process C:\\Users\\Public\\Documents\\....exe} ;$secpasswd = ConvertTo-SecureString $Password -AsPlainText -Force ;"+
    "$mycreds = New-Object System.Management.Automation.PSCredential ($Username, $secpasswd) ;"+
    " $Session = New-PSSession -ComputerName $ComputerName -credential $mycreds ; Invoke-Command -Session $Session -Scriptblock $Script");
    var passwords = ps.Invoke();
    ps.Commands.Clear();

笔记

//GetIP部分是do{}while()导致IP需要一段时间才能查询的原因。

要使该系统正常运行,主机和虚拟机需要进行大量的准备工作,由于谷歌比我更好地解释了这些部分,因此我在这里不再赘述。

该流旨在与使用Virtual Box的另一个系统匹配,因此似乎效率低下。显然,需要对此进行修改以适合每种情况,但对于Hyper-V Automation,它应该是一个很好的起点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Windows 8 Hyper-V来宾VM Internet访问

来自分类Dev

为什么我的Windows 8 Pro Hyper-V来宾机没有互联网?

来自分类Dev

Windows 8 Hyper-V网络无法在主机上运行

来自分类Dev

在 Windows 10 Hyper-V 来宾中运行 docker

来自分类Dev

RDP到网络上的Hyper-V VM来宾

来自分类Dev

Windows 8 Hyper-V-如何使VM可以访问Internet?

来自分类Dev

如何在Windows 8中启用Hyper-V

来自分类Dev

在Windows 8中启用/禁用Hyper-V的便捷方法

来自分类Dev

运行Hyper V且包含Windows XP且未连接的Windows 8

来自分类Dev

Windows 8 Hyper-V上的Ubuntu 12.04 VM-无网络连接

来自分类Dev

在Windows 8上启用Hyper-V是否会影响GPU性能?

来自分类Dev

Windows 8启动时运行脚本

来自分类Dev

Windows Phone 8模拟器从Hyper-V运行,但是我无法从Visual Studio调试

来自分类Dev

在不使用Hyper-v的情况下运行Windows Phone Emulator 8或8.1

来自分类Dev

将iPad连接到Windows 8下在Hyper-V下运行的iTunes

来自分类Dev

将Windows Server 2008 R2 Hyper-V计算机迁移到Windows 8 Hyper-V

来自分类Dev

无法在Windows 10上找到Hyper V

来自分类Dev

在Windows主机和Linux来宾之间使用Hyper-V套接字

来自分类Dev

Hyper-V Windows 8.1

来自分类Dev

如何在Windows 8中禁用Hyper-V并安装HAXM

来自分类Dev

Windows 8,Fedora 19 OS Hyper-V虚拟机

来自分类Dev

Windows 8 Pro中不会启用Hyper-V:“固件中的虚拟化支持已禁用”

来自分类Dev

BIOS中的Windows Phone 8模拟器hyper-v设置

来自分类Dev

Windows 8 Hyper-V零星网络连接

来自分类Dev

Windows 8中安装了Hyper-V,游戏性能不佳

来自分类Dev

Windows 8的Hyper-V是否可以使用主机硬件的全部功能?

来自分类Dev

在Windows Server上远程运行脚本

来自分类Dev

Windows 上的 npm 运行脚本错误

来自分类Dev

Windows Phone 8模拟器通过Hyper-V管理器成功运行,但未通过Visual Studio 2012运行

Related 相关文章

  1. 1

    Windows 8 Hyper-V来宾VM Internet访问

  2. 2

    为什么我的Windows 8 Pro Hyper-V来宾机没有互联网?

  3. 3

    Windows 8 Hyper-V网络无法在主机上运行

  4. 4

    在 Windows 10 Hyper-V 来宾中运行 docker

  5. 5

    RDP到网络上的Hyper-V VM来宾

  6. 6

    Windows 8 Hyper-V-如何使VM可以访问Internet?

  7. 7

    如何在Windows 8中启用Hyper-V

  8. 8

    在Windows 8中启用/禁用Hyper-V的便捷方法

  9. 9

    运行Hyper V且包含Windows XP且未连接的Windows 8

  10. 10

    Windows 8 Hyper-V上的Ubuntu 12.04 VM-无网络连接

  11. 11

    在Windows 8上启用Hyper-V是否会影响GPU性能?

  12. 12

    Windows 8启动时运行脚本

  13. 13

    Windows Phone 8模拟器从Hyper-V运行,但是我无法从Visual Studio调试

  14. 14

    在不使用Hyper-v的情况下运行Windows Phone Emulator 8或8.1

  15. 15

    将iPad连接到Windows 8下在Hyper-V下运行的iTunes

  16. 16

    将Windows Server 2008 R2 Hyper-V计算机迁移到Windows 8 Hyper-V

  17. 17

    无法在Windows 10上找到Hyper V

  18. 18

    在Windows主机和Linux来宾之间使用Hyper-V套接字

  19. 19

    Hyper-V Windows 8.1

  20. 20

    如何在Windows 8中禁用Hyper-V并安装HAXM

  21. 21

    Windows 8,Fedora 19 OS Hyper-V虚拟机

  22. 22

    Windows 8 Pro中不会启用Hyper-V:“固件中的虚拟化支持已禁用”

  23. 23

    BIOS中的Windows Phone 8模拟器hyper-v设置

  24. 24

    Windows 8 Hyper-V零星网络连接

  25. 25

    Windows 8中安装了Hyper-V,游戏性能不佳

  26. 26

    Windows 8的Hyper-V是否可以使用主机硬件的全部功能?

  27. 27

    在Windows Server上远程运行脚本

  28. 28

    Windows 上的 npm 运行脚本错误

  29. 29

    Windows Phone 8模拟器通过Hyper-V管理器成功运行,但未通过Visual Studio 2012运行

热门标签

归档