PowerGUI的使用方法
我们知道PowerShell将成为cmd的继任者,微软已经将其集成到Windows Server 2008和Windows 7中。不知道大家有没有注意到,在Windows 7中除了PowerShell之外,还有一个名为PowerGUI的工具,从名称上看其实它就是基于图形用户界面的PowerShell,是一款第三方PowerShell增强软件。当然,也不仅仅如此。因为PowerGUI提供了高效率的NET风格的脚本开发环境,而且也便于脚本的调试,这对于一个PowerShell脚本开发者来说,使用PowerGUI将会大大提升工作效率。本文将和大家分享一下自己就PowerGUI工具的使用心得。
操作方法
- 01
下载并安装 对于Windows 7用户,因系统已经集成不用进行安装即可使用(“开始→所有程序→附件→Windows PowerShell→Windows PowerShell ISE”)。需要说明的是,Windows 7集成的Windows PowerShell ISE与PowerGUI有所不同。PowerGUI包括两个组件,分别为“PowerGUI脚本编辑器”和“PowerGUI”。而Windows 7中的“Windows PowerShell ISE”的就相当于“PowerGUI脚本编辑器”,不仅在界面上稍有不同,而且其功能更是没法和“PowerGUI脚本编辑器”相比,只能算一个简易版的“PowerGUI脚本编辑器”。另外,Server 2008中集成了PowerShell但并没有PowerGUI,所以非Windows 7系统要使用PowerGUI必须下载安装。大家可访问 http://powergui.org/downloads.jspa 下载最新版本的PowerGUI,不过,在安装前需要安装一个扩展安装包(http://www.quest.com/powershell/activeroles-server.aspx),安装完会要求重启。(图1)
- 02
功能化的界面 PowerGUI虽然包括两个组件,但其核心是“PowerGUI脚本编辑器”这个基于图形化的编辑器。其实和我们所期望的差不多,该编辑器提供了基本的编辑和剪切粘贴功能,还提供了分割视图窗口用于处理同一脚本的两个不同代码部分。此外,编辑器在窗口左边提供了代码行计数,可以轻松定位到出错的脚本行。 总体上说,“PowerGUI脚本编辑器”和“Windows PowerShell ISE”的功能界面基本相似,笔者就以“Windows PowerShell ISE”为例介绍其主要的功能界面。运行PowerGUI打开其窗口,可看到除了菜单栏、命令按钮外,窗口被分成上、中、下三部分。这三部分各有不同的功能:最上面的是脚本编辑器区域,开发者可以在此编辑脚本。同时,在编辑区的左侧还会显示脚本的行数(行号),这在进行脚本调试时,非常便于定位出错的脚本。中间是命令或、脚本输出面板,在这里我们可以看到单个的命令或者全部脚本代码的输出结果(执行结果)。正常执行的脚本或者命令会以黑色字符输出,如果脚本或命令输出错误会以红色显示,便于调试时查看。最下方是命令行面板,在此我们可以执行单个的命令。通常情况下,脚本编辑者首先在此对单个的命令进行调试,执行无误后然后将其添加到最上方的脚本编辑面板中。 当然,这三个功能面板的上下位置以及整个布局是可以调换的,主要看使用者的习惯。在view(查看)菜单下,点击“Command Pane Up”命令可将命令面板提升到中间,点击“Show Sricpt Pane Right”可将脚本面板调整到窗口的右侧,点击“Show Script. Pane Maximized”可将脚本面板调整到最大,点击“Show Script. Pane Top”将恢复脚本面板到默认状态。此外,“Go to Script. Pane”、“Go to Command Pane”、“Go to Output pane”可在这三个面板之间跳转。 对于开发者来说,比较实用的一个功能是PowerGUI支持标签,可以同时打开或者编辑多个脚本。在标签上有每一个脚本的名称,点击这些标签可进行切换,如果那个脚本没有保存会在其名称后面显示“*”。在PowerGUI窗口的最下方的状态栏中,可以通过拖动右下角的滑竿以调节功能区中字符的大小。
使用心得
- 01
PowerGUI的设计算是非常人性化的,充分考虑到来脚本开发时的一些特点,使其起来还是比较顺手的。 脚本参数轻松输入 开发脚本仅仅是开始,还需要运行脚本,并可能需要输入一个或多个参数。PowerGUI集成开发环境(IDE)顶部的“在此输八脚本参数”能提供脚本输入参数,并轻松查看使用的参数值,而且输入参数会在IDE打开的所有脚本中共享。另外,PowerGUI脚本编辑器的参数补全功能也非常有用。(图3)
- 02
在标签之间自由切换 PowerGUI开发环境使用标签界面,与“记事本” 的单文档界面不同,PowerGUI可以使用不同标签同时打开多个脚本,能方便阅读相关联的脚本,并进行脚本之间的复制和粘贴操作。这在并行开发脚本时非常方便,便于脚本代码之间的共享。 (图4)
- 03
智能的命令补全功能 PowerGUI的只能感知功能为用户提供了便利,虽然其不如Microsoft Visual Studio提供的“智能感知”那样完善,但是PowerGUI的智能感知提示是帮助我们学习和使用各种PowerShell命令的好资源。 PowerGUI的提示命令包括名称补全,并能为每个PowerShell命令显示其参数。在编写脚本的过程中,当需要输入参数时,在输入“-”后其后面出现一个下拉列表,其中列出了该命令可用的参数,但选中某个参数时,后面会有该参数的描述和相关范例。这个功能为脚本编写者帮了很大的忙,免去了查询参数的麻烦,大大提高了脚本编写的效率。(图5)
- 04
丰富的PowerShell库插件 PowerGUI能管理PowerShell插件,为PowerShell开发环境添加功能,例如提供对活动目录、Microsoft Exchange Server、Tn Microsoft SOL Server的访问。PowerGUI库包括了许多插件,我们刚才在安装PowerGUI的扩展包的时候就安装了这些PowerShell库插件。如果大家需要其他支持插件,可访问http://powergui.org/kbcategory.jspa?categoryID=21下载。比如,有支持Hyper-V、VMware等虚拟化的PowerShell库插件。(图6)
- 05
方便的调试窗口 本地窗口是一个相当不错的调试功能,默认显示在开发环境的左下部分。如果没有,可以通过“查看”→“调试窗口”将其调出来。调试窗口包括两部分:一个是Variables,用来显示所有脚本变量及其值,还显示了任何调用的NET对象实例并可以深入查看其属性。一个是PowerShell控制台,显示了执行当前脚本的输出结果,还能显示全部的错误消息,这在脚本初始开发中能提供很大帮助。(图7)
- 06
提供方便的调试功能 能够在PowerGUI中集成调试器,这无疑是最受用户欢迎的。因为在脚本编写过程中,需要实时进行调试,PowerGUI集成的调试器和方便的调试功能完全能够满足我们的需要。特别值得一提的是,调试器支持设置断点和单步代码调试选项。在“PowerGUI脚本编辑器”的“调试”菜单下,为我们提供了丰富的调试模式,比如“执行所选部分”、“执行到光标”、“逐语句”、“跳出”、“插入断点”。以笔者的实践,提供断点调试对于进行脚本排错是非常方便的。这些功能,无疑能够帮助用户编写脚本的速度和质量。(图8)
- 07
在外部PowerShell窗口中运行 在PowerGUI脚本编辑器的调试模式中还支持“在外部PowerShell窗口中运行”,选用这种方式会启动新的PowerShel控制台窗口用于执行脚本。在脚本开发的开始阶段,输出窗口非常有用,另外,在开发后期我们也会多次用到这种模式。因为这种调试模式会和在生产环境运行脚本相一致,以验证脚本在实际环境中的运行状况。需要说明的是,Windows 7默认是不允许在PowerShell中运行没有签名的脚本,需要首先在PowerShell控制台中运行命令Set-ExecutionPolicy RemoteSigned以允许PowerShell脚本。(图9)
- 08
可供借鉴的代码片段 PowerGUI包括了一些模板,用于轻松创建语法正确的PwershelI脚本。在编辑窗口点击右键即可访问PowerGUI的代码片段,包括foreach、D0 While、Do Until、For、If、Else,以及许多其它常用的PowerShell语句。另外,也可通过这种方法插入VBScript代码段。这些功能,不仅能够保证代码编写的速度,而且可保证代码编写的正确性。
- 09
脚本的保存和重复使用 用PowerGUI编写的脚本,我们可以将其保存以重复使用。PowerGUI中可将脚本保存为多种格式,其中.ps1是默认格式的 PowerShell格式文件,.psm1是PowerShell模块文件格式,.psd1是数据文件格式,此外还可以保存为html、rtf格式。将编辑好的脚本文件保存下来,以便调用。此外,所有这些格式的脚本文件,我们都可以使用记事本来编辑修改。(图11)