VMware ESX教程之PowerShell脚本:安装和使用PowerShell工具

日期: 2009-05-12 作者:Eric Siebert翻译:于富春 来源:TechTarget中国 英文

脚本工具通过自动操作平常的管理任务,帮助管理VMware环境。但是,一些VMware的脚本工具,如Perl ,配有一个学习曲线。幸运的是,每个VMware基础设施工具包(VI工具箱)发布功能增加PowerShell的一体化。由于许多的VMware管理员也是Windows管理员(并且对PowerShell很熟悉 ) ,所以 VMware的脚本现在更容易获得。

让我们回顾一下PowerShell是什么以及它如何与VMware一起工作。我将会帮助你在你自己的VMware环境中使用PowerShell工具。   安装PowerShell   PowerShell是一个由微软开发的,命令行外壳和相关的脚本……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

脚本工具通过自动操作平常的管理任务,帮助管理VMware环境。但是,一些VMware的脚本工具,如Perl ,配有一个学习曲线。幸运的是,每个VMware基础设施工具包(VI工具箱)发布功能增加PowerShell的一体化。由于许多的VMware管理员也是Windows管理员(并且对PowerShell很熟悉 ) ,所以 VMware的脚本现在更容易获得。让我们回顾一下PowerShell是什么以及它如何与VMware一起工作。我将会帮助你在你自己的VMware环境中使用PowerShell工具。

  安装PowerShell

  PowerShell是一个由微软开发的,命令行外壳和相关的脚本语言,目的是帮助平常的管理任务自动化。它也可以提供有关你的VMware环境信息。在过去,管理员在Windows环境中使用PowerShell来编写不同任务的脚本。最新版本的VI工具包给PowerShell 提供能够接触连接VMware的API ,它使管理员使用PowerShell执行VMware的有关命令。许多VMware的管理人员也是Windows系统管理员,因此,擅长脚本编写的VMware管理员,可能会发现PowerShell脚本比像Perl一样的其他脚本语言更容易了解。 PowerShell是相当容易安装和使用的,有许多有用的脚本可用于VMware环境。

  第一步是在你的工作站上安装PowerShell 。 PowerShell是一个小软件(小于2 MB),可以从微软的网站上下载。当你下载了文件,你就可以安装在你的工作站上。然后一个快捷方式被添加到PowerShell的命令提示符,这个命令提示符就是你运行Powershell脚本文件的地方。PowerShell的命令提示符看起来是类似于MS - DOS命令提示符的,除了Powershell脚本文件和指令,所有标准的MS - DOS命令都可以在这里执行(i.e., dir, cd)。

PowerShell

  在我们安装VI包前,让我们尝试一些基本的PowerShell命令。打开PowerShell命令提示符键入:

  get-Process.

  此命令将返回一个所有正在运行进程的列表。下一步,请尝试输入

  get-WmiObject win32_bios.

  该命令返回你计算机的BIOS信息。

  Powershell脚本文件是一系列的命令。它们有一个扩展名为.ps1的文件并被称为cmdlets 。为了安全起见, PowerShell的执行策略设置为默认的受限制。此设置可防止cmdlets运行,所以你需要去改变它。要做到这一点,就得打开PowerShell提示符并且键入

  get-ExecutionPolicy.

  这将返回当前设置(限制) 。接下来,键入

  set-ExecutionPolicy RemoteSigned

  更改设置,从Restricted模式到RemoteSigned模式 ,这样就使脚本在本地运行,但阻止它们在远程运行。你也可以设置为Unrestricted或AllSigned ,但这些设置不太安全。Windows PowerShell命令如get-ExecutionPolicy and get-Process

  VMware的PowerShell命令如Get-VM,也称为cmdlets 。你可以看到一个Windows cmdlets的列表,通过输入

  Get-Command.

  你可以通过具体的cmdlets得到帮助,通过输入

  Get-Help <cmdlet name>.

  安装VI包

  现在你已经安装了PowerShell,让我们来安装VI包,以便你可以运行VMware PowerShell的命令。首先,从VMware的网站上下载最新的VI包。 (该工具包是定期更新新的命令,如果必要的话,要检查和定期更新到最新版本。 )下一步,安装下载的文件。为PowerShell安装VI工具包库( DLL和XML文件),为文件资源创建了快捷方式,并为一个特别的PowerShell命令提示符创建快捷方式,以便使用VI包。如果没有这个提示你在运行时会陷入困境。例如,如果你用原来安装的PowerShell命令提示符,从VI包中运行cmdlets ,那么cmdlets不会工作,因为PowerShell是不知道他们的存在的。新的快捷方式,是建立所谓的VMware的PowerShell第VI包要求,而且还提到一个特殊.psc1文件,以便在VI工具箱cmdlets就像“ SnapIns ” 一样被添加 。 SnapIns是用来拓展PowerShell技术的,添加更多的cmdlets和提供更多的功能。你可以得到一个关于SnapIns输入的清单,通过输入

  get-PSSnapin registered.

  此命令显示VMware.VimAutomation.Core 1.0管理单元称为VI包。

  使用VI工具箱

  现在你已经安装了VI包,你可以在你的VMware环境使用它。但是,在我们开始之前,让我们审查PowerShell 命令的语法 。很多命令有选项和参数。要查看可用的选项,请使用以下命令 :get-help

  命令 。你也可以同时使用多个命令,为了把它们聚集起来,可以使用管道符号( | )。这就是所谓的流水线和将命令连接在一起,第一个命令的输出成为第二个的输入。例如,键入:Get-VM | Get-Snapshot

  将指示该程序使用Get- VM的命令传回VM的列表,这个结果传给第二个命令,Get-Snapshot。最终这将显示现在VMs上的快照列表。

  首先,你需要做的是连接到一个主机或vCenter服务器,这样做可以使用Connect-VIServer命令。对于这个命令有许多选择项 ,但最简单的形式,你可以只输入命令,它会提示你的主机连接,然后是登录窗口。你还可以使用以下命令语法指示PowerShell去接到到哪台主机连和提供登录信息:

  一旦你连接到vCenter或主机服务器,你可以使用其他的命令来取得或设定的信息。试着输入:

  get-VM

  主机上的所有虚拟机的名单,

  get-virtualswitch

  所有虚拟交换机的列表和

  get-vm | get-cddrive.

  状态信息为你的所有虚拟机的CD / DVD - ROM驱动器。

  你可以看到一个所有可用的命令的列表以及相关描述,语法和用法的例子在VI包帮助文件中,此文被安装了快捷方式。建立自己的脚本是使用命令的一个有用的方式 ,因为它可以让你输入一个命令来执行多个命令 。幸运的是, VMware的用户编写和出版许多Powershell脚本文件在各种网站,你可以下载并在你的环境中使用它们。

  一旦你在VMware 环境中熟练使用PowerShell工具,你可能想建立一个图形用户界面,以取代命令行界面。在我的下一节中,我将概述这一进程。

相关推荐