VMware ESX教程之PowerShell脚本

更新时间:2024-04-19 16:02:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

VMware ESX教程之PowerShell脚本

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

2009-5-13 大 | 中 | 小

导读:本文介绍PowerShell是什么以及它如何与VMware ESX一起工作。 关键词:VMware ESX PowerShell

【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)。

在我们安装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 . 安装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工具,你可能想建立一个图形用户界面,以取代命令行界面。在我的下一节中,我将概述这一进程。

VMware ESX教程之PowerShell脚本:如何使用PowerGUI?(上)

2009-5-14 大 | 中 | 小

导读:本文介绍VMware ESX教程PowerShell脚本之安装使用PowerGUI。 关键词:VMware ESX PowerShell PowerGUI

【TechTarget中国原创】在这个话题的第一篇文章中,我们已经向你展示了如何安装和使

用PowerShell以及VMware基础设施安装工具包(VI Toolkit)组件,它可让你在你的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.接下来,你需要下载VMware PowerPack VI工具包到你的工作站。如果你还没有打开它,开始运行PowerGUI ,右击高层项目,并选择导入。

6.浏览到你下载的PowerPack并选中它。一旦它被导入,你会看到一个新的VMware文件夹被添加。如果打开这个文件夹,你会在它下面看到大量的文件。

7.下一步,我们需要连接到vCenter的服务器或主机。要做到这一点,在左窗格中选择VMware文件夹下的主机管理对象。然后,在右窗格中的操作选项下,单击添加命令。一个窗口会出现在这里,你可以指定连接参数包括:vCenter的服务器或主机名/ IP地址,端口号,协议和登录帐户。按一下HostID旁边的圆点,并添加一个值为你的vCenter服务器或主机名/ IP地址。如果你运行PowerGUI通过VI客户插件则不需要输入登录帐号,因为它会使用目前身份验证的帐户。否则输入一个登录帐户名。

一旦你连接上,你就可以开始探索你的环境。在你的主机下方的左窗格中,你可以选择不同的对象,如VMs,然后按一下它们,以在中部输出窗格显示相关信息。然后你可以选择一个或多个虚拟机去生成任何报告或执行不同的任务。在右边的窗格中,你将看到可以选择的链接和操作。链接上基本的返回信息,和操作完成一个或多个目标的某种形式的行动。你看到的预先建立的链接和操作,是基本的PowerShell代码或命令 。如果你选择其中一个并打开属性,你会看到它所使用的代码或命令。你可以点击添加新项添加自定义链接的链接。请注意,你可以点击列标题进行排序,并在底部有标签的用户界面( UI )和PowerShell代码。此外, UI标签显示的输出链接和行动栏格式; PowerShell的代码标签显示的基本代码,这些基本代码是正在执行的特定链接或行动使用的。重视这些领域将帮助你了解如何撰写PowerShell代码。

点击图片就能放大

因此,让我们尝试几种选择。首先让我们显示一个在一组的所有VM快照的清单。选择在左窗格中的一个集群,然后在中间窗格中,选择一个集群所产生的结果列表。下一步,选择链接部分的快照选项,并列出在该集群中任何虚拟机的快照的清单。在操作选项中,你可以选择要恢复或删除任何的快照,结果将在中部窗口输出。

在下半部分中,我们将继续介绍以及如何添加图形用户界面( GUI )到PowerShell上,以加强其功能性和实用性。

VMware ESX教程之PowerShell脚本:如何使用PowerGUI?(下)

2009-5-14 大 | 中 | 小

导读:本文介绍使用PowerGUI,添加图形用户界面(GUI)到PowerShell。 关键词:PowerGUI GUI PowerShell

【TechTarget中国原创】在上半部分中,我们介绍了如何使用PowerGUI。下面我们将继

续介绍以及如何添加图形用户界面(GUI)到PowerShell上,以加强其功能性和实用性。

为了显示所有的虚拟机文件系统或VMFS ,数据存储以及他们的可用空间和总容量的统计数据,在左窗格中选择对象的数据存储。清单将显示在输出窗格。在操作方面应该注意:常规操作选项,你也可以将结果输出到的XML、CSV或HTML文件。

点击图片就能放大

最后,看到在你的VM上的网络适配器信息和立刻修改几个,在左窗格中选择虚拟机对象。在输出窗格中,选择一个或多个虚拟机。在链接部分,选择网络适配器。清单将显示的MAC地址,网络唤醒(或网络唤醒)启用,网络名称,网卡类型和更多的信息。

如果你选择一个或多个网络适配器,然后在操作部分选择更改属性,一个对话窗口会打开,使你可以改变多个虚拟网络接口卡(vNIC)的参数 ,如网络名称(如下所示)或MAC地址。

用PowerGUI你可以做很多事情,所以要花一些时间来研究它。另一部分PowerGUI是PowerGUI脚本编辑器。脚本编辑器基本上是一个带有一些额外功能的文本编辑器,用来协助编写PowerShell代码。你的代码被格式化,并恰当地隔开,所以我们很容易跟进,并提供选择任务,如在PowerShell的窗口调试和运行你的代码。你也可以启动脚本编辑器从VI客户插件菜单,并用它来打开现有脚本或编写新的脚本。 使用PowerGUI脚本编辑器

让我们打开编辑器和打开现有的脚本,这个脚本功能是创建一个快照清单的报告和发送的电子邮件地址。由于此脚本编码包含中用户名/密码字段中的代码,我们需要为我们的环境修改用户名,密码和服务器列表。改变这些领域,以反映你vCenter的服务器或主机登录的用户名/密码和主机名。或者,如果你启动脚本编辑器从VI客户端,因为已经与vCenter服务器建立了连接,所以你可以在VIServer行删除用户和密码的连接参数。

现在,我们已经准备好运行该脚本。按Alt - F5或在外部PowerShell的窗口按钮单击运行按钮,一个新的窗口将打开,该脚本将在里面运行。一旦脚本执行完毕后,你将在PowerShell的提示下,输入exit来关闭它。以下的电子邮件报告是一个报告脚本生产的例子。

PowerGUI使得使用PowerShell更加容易,特别是对之前没有写过代码的系统管理员来说。强大和灵活性是PowerShell最大的优点,在你的VMware虚拟环境中使用它,会给你带来无限的可能性,多亏了VMware VI工具包PowerPack。然而,PowerShell,并不限于VMware,也可用于管理Windows环境等其他方面。 作为VMware资源的PowerShell技术

为了让脚本更容易,你应该为自己装备以上提到的资源。下面列出了我用过的最有用资源的一个清单:

? Alan Renouf的PowerShell快速参考指南。

? Hugo Peeters的网站和Alan Renouf的网站——这些网站的功能和大量的文字和

信息是专门面向PowerShell和VI包的。

? VMware的VI工具博客——VMware公司员工的博客,其中包括Carter Shanklin,

涵盖许多议题和最新消息的VI包。

? VI工具箱动手实验室手册——这个实验室手册的VMworld 2009年是一个伟大的

资源,开始使用的PowerShell和VI包。

? VI包社区——论坛,一个你可以张贴问题和审查文件中包含他人的脚本的地方。 ? VMware的管理与PowerShell的常见问题——一份有用的文件初学者。 ? 脚本与PowerShell中心——微软的PowerShell的主页,有很多很好的文件和资

源。

? 获取脚本的网站——网站的功能PowerShell的信息和播客的记录,定期与

PowerShell的脚本。

? Scott Herold的网站——Herold工作于Quest软件,这家公司制定了PowerGUI

和VMware公司的PowerPack 。他是热爱的PowerShell脚本,并在一个有用的视频如何系列在它的上面。

?

VMware ESX教程之PowerShell脚本:实例分析

?

2009-5-20 大 | 中 | 小

? ? ? ? ? ?

导读:本文学习使用基本的PowerShell脚本启动VMware ESX虚拟机、更新VMware Tools。 关键词:PowerShell VMware ESX 虚拟机 VMware Tools

【TechTarget中国原创】脚本是虚拟化管理员工具箱中最有利的工具。VMware现

在通过VMware Infrastructure Toolkit为PowerShell脚本提供增加支持。在本文中,TechTarget中国的特约专家Rick Vanover将介绍如何使用基本的PowerShell脚本启动虚拟机、更新VMware Tools等任务。你将了解PowerShell脚本对VMware的好处,以及脚本化环境里其他任务的资源。

? ?

VMware PowerShell资源

在你研究之前,一些人已经做了一些工作,你只需要知道如何找到这些资源。因此将VMware PowerShell博客加入你的收藏夹作为常用参考文档是个好主意。在这里,你可以找到一些脚本实例,以及如何在VMware产品不断变化的情况下完成新任务的信息。在这里,你也可以下载VMware Infrastructure Toolkit(VI Toolkit)。这需要你目前安装了Windows PowerShell。

? 安装VI Toolkit后,第一个任务是通读VI Toolkit管理员指导手册,这是包含在下载里的PDF文件。你可以跳过一些简单脚本实例,直接看界面是如何工作的。然后就能创建自己的脚本。

? ?

一、启动虚拟机

能启动虚拟机的脚本不是那么令人兴奋,但这是一个好的开始。VI Toolkit包含了关于基本虚拟机操作的丰富命令。启动虚拟机使用Start-VM命令,这个脚本对于基本的启动任务来说非常简单。如:

? ?

Start-VM -VM VM-TESTSERVER1

输入上面语句后任务将立即执行。当执行任务时,这个过程同时显示在VI Toolkit和VMware Infrastructure Client的滚动日志里。下图显示了基于文本的启动操作过程。

?

?

?

点击图片就能放大

基本的命令有大量潜在的功能,这是由于它有我叫做―通配符‖的功能。例如,你能马上启动整类系统。下面的命令含有字符串―testserver‖,可以启动每台虚拟机。

? ?

Start-VM -VM *TESTSERVER*

注意,不要在你的存储系统上创建―boot storm‖,因为许多系统都能使用这个命令执行。

? ?

二、更新VMware Tools

保持你所有子虚拟机上的VMware Tools是最新的,这个任务很具有挑战。VI Toolkit允许管理员传输自动更新命令到子机。对于Windows子机,由于需要重启完成安装,这会导致重启,因此在环境中要慎用这个命令。

? ? ?

输入下面的命令将在所有服务器上更新VMware Tools: Update-Tools -VM *TESTSERVER*

这个命令不传输任何安全属性或附加配置到子虚拟机。对于禁止了自动运行的虚拟机来说,虚拟的CD-ROM不能启动和运行VMware Tools的更新。同样,虚拟的CD-ROM设备被要求成为虚拟机目录的一部分,允许这种类型升级的操作。

? ?

三、找到位于本地磁盘的虚拟机

对于大多数VMware VI3实施来说,虚拟机将保持共享存储,以利用诸如High Availability和VMotion这样的功能。不可避免的,一些虚拟机最终将位于本地存储上。下面的脚本将列出所有位于本地存储的虚拟机。

? ?

Get-VM –Datastore Servername*

上面的脚本假定本地VMFS卷(如果存在)使用默认的命名系统。通过有组织的LUN术语,查询将很容易作为通配符运行。进一步讲,你能简单调节下脚本就能输出结果到文本文件,如:

? ? ?

Get-VM –Datastore Servername* > C:\\localstorageVMs.txt 四、为主机配置NTP时间服务器

主机的一致配置是成功部署VI3的关键。一个能造成所有类型破坏的领域是ESX主机的本地时间配置。由时间配置引起的问题包括VMotion崩溃、VMware High Availability崩溃和连接到vCenter服务器状态的服务器并发症。进一步说,让所有系统指向组织里的授权时间源是个好主意。一台本地的网络时间协议(NTP)客户端在主机上,这是在ESX 3.5里更新的。如果你还没有使用的话应该立即使用。下面的脚本通过DNS域名配置主机使用NTP服务器。

? Add-VMHostNtpServer -NTPServer ntp.server.com -VMhost server.dns.name

? 像VI Toolkit的其他区域一样,你也能使用通配符。在主机名称里,你应该输入下面那样的通配符:

? Add-VMHostNtpServer -NTPServer ntp.server.com -VMhost *server*.dns.name

? 使用这个命令要小心,你能传递一个可能已经制定的配置,或者作为主机集群的更新,这可能包括热虚拟机工作负载。

? ?

五、尊重许可模式

默认下,VI Toolkit将与特定的ESX主机或者通过目前Windows许可模式登录的VMware vCenter Server交互。一旦载入VI Toolkit,PowerShell控制台让你指定连接到哪一台服务器。

?

?

?

点击图片就能放大

从上图中,你能发送交互式Connect-VIServer命令,或者从一行直接传递所有的选项。下面的脚本将连到vCenter服务器(rwv-vi3.rewvdev.intra):

? Connect-VIServer -Server rwv-vi3.rwvdev.intra -User vmconfigurator -Password Sc3!pt

? 通过证书后,服务器就位于列表上了。VI3许可模式可设置用于执行某些任务,或者适用于VI Toolkit。许可将在VI Client里设置并扩展到VI Toolkit。

? 注意,不要经常以根用户或者管理员级别的账号使用VI Toolkit,通配符可能会使一个错误的脚本关闭掉环境的每台虚拟机。

? 能用于所有VI Toolkit脚本的保护措施是确认选项。这迫使在进行脚本之前,每个任务项传递交换提示。下面的两个脚本显示了我寻找虚拟机名,然后启动它:

? ?

Get-VM *Tes* Start-VM VM-TestServer4 –Confirm 详情如下图:

?

本文来源:https://www.bwwdw.com/article/7m2p.html

Top