VMwareESX教程之PowerShell脚本VMwareESX教程之PowerShell脚本:安装和使用PowerShell工具2009-5-13大|中|小导读:本文介绍PowerShell是什么以及它如何与VMwareESX一起工作。关键词:VMwareESXPowerShell【TechTarget中国原创】脚本工具通过自动操作平常的管理任务,帮助管理VMware环境。但是,一些VMware的脚本工具,如Perl,配有一个学习曲线。幸运的是,每个VMware基础设施工具包(VI工具箱)发布功能增加PowerShell的一体化。由于许多的VMware管理员也是Windows管理员(并且对PowerShell很熟悉),所以VMware的脚本现在更容易获得。让我们回顾一下PowerShell是什么以及它如何与VMware一起工作。我将会帮助你在你自己的VMware环境中使用PowerShell工具。安装PowerShellPowerShell是一个由微软开发的,命令行外壳和相关的脚本语言,目的是帮助平常的管理任务自动化。它也可以提供有关你的VMware环境信息。在过去,管理员在Windows环境中使用PowerShell来编写不同任务的脚本。最新版本的VI工具包给PowerShell提供能够接触连接VMware的API,它使管理员使用PowerShell执行VMware的有关命令。许多VMware的管理人员也是Windows系统管理员,因此,擅长脚本编写的VMware管理员,可能会发现PowerShell脚本比像Perl一样的其他脚本语言更容易了解。PowerShell是相当容易安装和使用的,有许多有用的脚本可用于VMware环境。第一步是在你的工作站上安装PowerShell。PowerShell是一个小软件(小于2MB),可以从微软的网站上下载。当你下载了文件,你就可以安装在你的工作站上。然后一个快捷方式被添加到PowerShell的命令提示符,这个命令提示符就是你运行Powershell脚本文件的地方。PowerShell的命令提示符看起来是类似于MS-DOS命令提示符的,除了Powershell脚本文件和指令,所有标准的MS-DOS命令都可以在这里执行(i.e.,dir,cd)。在我们安装VI包前,让我们尝试一些基本的PowerShell命令。打开PowerShell命令提示符键入:get-Process.此命令将返回一个所有正在运行进程的列表。下一步,请尝试输入get-WmiObjectwin32_bios.该命令返回你计算机的BIOS信息。Powershell脚本文件是一系列的命令。它们有一个扩展名为.ps1的文件并被称为cmdlets。为了安全起见,PowerShell的执行策略设置为默认的受限制。此设置可防止cmdlets运行,所以你需要去改变它。要做到这一点,就得打开PowerShell提示符并且键入get-ExecutionPolicy.这将返回当前设置(限制)。接下来,键入set-ExecutionPolicyRemoteSigned更改设置,从Restricted模式到RemoteSigned模式,这样就使脚本在本地运行,但阻止它们在远程运行。你也可以设置为Unrestricted或AllSigned,但这些设置不太安全。WindowsPowerShell命令如get-ExecutionPolicyandget-ProcessVMware的PowerShell命令如Get-VM,也称为cmdlets。你可以看到一个Windowscmdlets的列表,通过输入Get-Command.你可以通过具体的cmdlets得到帮助,通过输入Get-Helpcmdletname.安装VI包现在你已经安装了PowerShell,让我们来安装VI包,以便你可以运行VMwarePowerShell的命令。首先,从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-PSSnapinregistered.此命令显示VMware.VimAutomation.Core1.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工具,你可能想建立一个图形用户界面,以取代命令行界面。在我的下一节中,我将概述这一进程。VMwareESX教程之PowerShell脚本:如何使用PowerGUI?(上)2009-5-14大|中|小导读:本文介绍VMwareESX教程PowerShell脚本之安装使用PowerGUI。关键词:VMwareESXPowerShellPowerGUI【TechTarget中国原创】在这个话题的第一篇文章中,我们已经向你展示了如何安装和使用PowerShell以及VMware基础设施安装工具包(VIToolkit)组件,它可让你在你的VMware环境中使用PowerShell。现在,在这篇文章中,我们提供一些额外的PowerShell提示,告诉你如何运行一些已被人已经写好的很棒的脚本,以及如何添加图形用户界面(GUI)到PowerShell上,以加强其功能性和实用性。如果你不知道从哪里、什么时间开始创建你自己的脚本,那么我们先从基本知识开始。首先,在你的虚拟环境确定地点,这样可从脚本之中受益。例如,你可能要弥补VI客户或vCenter服务器缺少的功能,如快照报告。此外脚本可用于自动化耗时或重复的管理任务,如在你为了达到最佳的鼠标性能,而安装了VMware工具后,在Windows的虚拟机(VM)上设置视频硬件加速级别。考虑使用PowerGUI当你对一种脚本语言陌生时,从头开始可能会很困难。我发现,了解脚本最简单的方法,是通过使用提供的参考材料和看别人写的脚本,来了解如何编写并执行代码。如果你不熟悉传统的手工编写代码,而是更喜欢使用一个图形用户界面GUI,那么你应该尝试使用PowerGUI程序。PowerGUI是一个免费的应用程序,给PowerShell增加一个图形用户界面GUI和脚本编辑器,以使你能更轻松地开发和利用PowerShell的代码。图形用户界面GUI让你可以使用PowerShell,而不必知道如何写代码。当你执行某些行动时代码会自动生成。它还带有一个强大的脚本编辑器,你可以用它来写脚本。你可以通过增加PowerPacks来扩展PowerGUI的功能,这个附加模块是专门为某些应用程序和用途编写的,就像VMware一样。遵循以下步骤开始使用PowerGUI:1.请确保你已经将PowerShell和VMware的VI包安装在你的工作站,作为所涵盖的这一部分的系列之一,安装和使用PowerShell工具。2.这里下载PowerGUI并安装到你的工作站。安装非常简单。你只需接受默认设置,然后通过安装向导单击下一步就可以。3.PowerGUI直接与默认的VI客户集成。一旦PowerGUI安装完毕后,关闭你的VI客户。如果它是打开的,就重新启动它。转到顶部菜单的插件选项并选择管理插件,点击安装标签并选中启用复选框的PowerGUI插件。然后单击确定。4.一旦你做到这一点,再一次选择插件菜单。你应该会看到两个新选项来启动PowerGUI并自动继承你当前连接到主机或vCenter服务器。这些选项的设定可以使得,当你的脚本运行时,你就不会被提示再次登录。5.接下来,你需要下载VMwarePowerPackVI工具包到你的工作站。如果你还没有打开它,开始运行PowerGUI,右击高层项目,并选择导入。6.浏览到你下载的PowerPack并选中它。一旦它被导入,你会看到一个新的VMware文件夹被添加。如果打开这个文件夹,你会在它下面看到大量的文件。7.下一步,我们需要连接到vCenter的服务器或主机。要做到这一点,在左窗格中选择VMware文件夹下的主机管理对象。然后,在右窗格中的操作选项下,单击添加命令。一个窗口会出现在这里,你可以指定连接参数包括:vCenter的服务器或主机名/IP地址,端口号,协议和登录帐户。按一下HostID旁边的圆点,并添加一个值为你的vCenter服务器或主机名/IP地址。如果你运行PowerGUI通过VI客户插件则不需要输入登录帐号,因为它会使用目前身份验证的帐户。否则输入一个登录帐户名。一旦你连接上,你就可以开始探索你的环境。在你的主机下方的左窗格中,你可以选择不同的对象,如VMs,然后按一下它们,以在中部输出窗格显示相关信息。然后你可以选择一个或多个虚拟机去生成任何报告或执行不同的任务。在右边的窗格中,你将看到可以选择的链接和操作。链接上基本的返回信息,和操作完成一个或多个目标的某种形式的行动。你看到的预先建立的链接和操作,是基本的PowerShell代码或命令。如果你选择其中一个并打开属性,你会看到它所使用的代码或命令。你可以点击添加新项添加自定义链接的链接。请注意,你可以点击列标题进行排序,并在底部有标签的用户界面(UI)和PowerShell代码。此外,UI标签显示的输出链接和行动栏格式;PowerShell的代码标签显示的基本代码,这些基本代码是正在执行的特定链接或行动使用的。重视这些领域将帮助你了解如何撰写PowerShell代码。点击图片就能放大因此,让我们尝试几种选择。首先让我们显示一个在一组的所有VM快照的清单。选择在左窗格中的一个集群,然后在中间窗格中,选择一个集群所产生的结果列表。下一