虚拟计算已经不再完全是舶来品。目前,它已经占据了大多数人的大部分工作。最终,它将有助于了解如何处理曾经不常见但现在常见的情况,例如检查某个虚拟机上是否运行某些特定的程序。 为什么要这样做?第一,你不想在虚拟环境中运行某些不会按你预期方式运行的程序。
另外,这会是一个好主意,用来警告那些用户,他们在处理之前需要安装某些虚拟硬件的支持包。 快速检测你是否能在虚拟机上运行windows的方法之一,就是利用批处理文件和WMIC工具抓取系统信息。这个命令工具是Windows Management Instrumentation(WMI)的前端界面,你能收取到指定系统转换过来的所有底层信息。 我……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
虚拟计算已经不再完全是舶来品。目前,它已经占据了大多数人的大部分工作。最终,它将有助于了解如何处理曾经不常见但现在常见的情况,例如检查某个虚拟机上是否运行某些特定的程序。
为什么要这样做?第一,你不想在虚拟环境中运行某些不会按你预期方式运行的程序。另外,这会是一个好主意,用来警告那些用户,他们在处理之前需要安装某些虚拟硬件的支持包。
快速检测你是否能在虚拟机上运行windows的方法之一,就是利用批处理文件和WMIC工具抓取系统信息。这个命令工具是Windows Management Instrumentation(WMI)的前端界面,你能收取到指定系统转换过来的所有底层信息。
我们举例验证一下。启动一台运行微软Hyper-V、Oracle VM VirtualBOx或VMware虚拟机软件的Windows计算机,在虚拟机和宿主OS上运行如下命令:
wmic computersystem get model /format:csv
比较输出结果。在宿主机上,你也许会得到类似下面的信息:
Node,Model
<systemname>, Dell XPS420
在虚拟机上,你也许会看到类似这样的信息:
Node,Model
<systemname>, 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生产者)。类似的详细信息可以用简单方式从各种虚拟机上获得,你使用的任何脚本也都能检测到。
作者
Serdar Yegulalp从1994年到2001年为Windows杂志写作,覆盖了广泛的技术方面。他现在是《The Windows 2000 Power Users Newsletter》一书的出版者,辛勤钻研他擅长的Windows NT, Windows 2000 and Windows XP领域,并为TechTarget写专栏。
翻译
相关推荐
-
如何保障虚拟化容器在应用环境中的安全性?
容器和虚拟机都能以不同方式满足企业的应用部署需求。而在安全方面,虚拟化容器面临的挑战与虚拟机不同。
-
每个主机最多托管多少台虚拟机?
你的服务器主机最多能托管多少虚拟机呢,放置大量虚拟机对服务器来说有什么影响,配置多少虚拟机服务器利用率最大?
-
FAQ:三个问答教你配置虚拟机负载
要从虚拟化程序中达到最好的整合效果,分配给每个虚拟机的计算资源必须按照每个负载的具体需求“量体裁衣”,我们现在考虑一下虚拟机资源的一些相关问题。
-
IT调查:1/3的企业计划在一年内更换主要虚拟机
绝大多数企业使用的是混合的管理程序,调查显示,现在有超过三分之一的企业都计划在下一年改变他们主要的虚拟化引擎。