批处理vm虚拟机服务器,如何用批处理文件确定虚拟机运行什么?

虚拟计算已经不再完全是舶来品。目前,它已经占据了大多数人的大部分工作。最终,它将有助于了解如何处理曾经不常见但现在常见的情况,例如检查某个虚拟机上是否运行某些特定的程序。

为什么要这样做?第一,你不想在虚拟环境中运行某些不会按你预期方式运行的程序。另外,这会是一个好主意,用来警告那些用户,他们在处理之前需要安装某些虚拟硬件的支持包。

快速检测你是否能在虚拟机上运行windows的方法之一,就是利用批处理文件和WMIC工具抓取系统信息。这个命令工具是Windows Management Instrumentation(WMI)的前端界面,你能收取到指定系统转换过来的所有底层信息。

我们举例验证一下。启动一台运行微软Hyper-V、Oracle VM VirtualBOx或VMware虚拟机软件的Windows计算机,在虚拟机和宿主OS上运行如下命令:

wmic computersystem get model /format:csv

比较输出结果。在宿主机上,你也许会得到类似下面的信息:

Node,Model  , Dell XPS420

在虚拟机上,你也许会看到类似这样的信息:

Node,Model  , VirtualBox

虚拟机常常把机型报告成虚拟化应用的名字,这使在在没有任何很复杂程序的情况下,识别你是否运行虚拟机相对容易。

Joeware.net提供了一个能够自动执行这类操作的批处理文件。这个脚本包含针对VMware虚拟化和Hyper-V的字符串。它相当简单,只要你知道什么字符串能够返回机型,就能很容易地添加其它虚拟化技术,如VirtualBox。

如果你不再使用传统的批处理文件,在Windows PowerShell工具中使用Get-WmiObject(缩写为gwmi)命令也可以取得同样的数据:

Get-WmiObject Win32_Computersystem model

你能够使用如下命令得到更简化的信息:

Get-WmiObject Win32_Computersystem | Format-List model

将厂商属性和型号相结合,你可以判断是否在虚拟机中。例如,VirtualBox返回的厂商信息就是“innotek GmbH”(原VirtualBox生产者)。类似的详细信息可以用简单方式从各种虚拟机上获得,你使用的任何脚本也都能检测到。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值