精通Windows PowerShell脚本编程
基本信息
编辑推荐
微软资深认证专家的倾力之作.
Windows PowerShell却本应用宝典..
大量即学即用、可自定义的经典代码...
推荐阅读
内容简介回到顶部↑
本书主要介绍通过windows powershell技术编写脚本,并将脚本用于企业中windows服务器和客户端的管理方面的内容。
从内容的安排方式来说,本书以powershell新手的使用进度来安排内容。首先简要介绍了windows powershell,以及使用powershell编写脚本的通用知识。然后介绍用powershell脚本管理本地计算机的内容,这些内容不仅适合单机用户,也适合windows网络管理员。接下来,从网络管理员的角度介绍了使用powershell管理网络中所有windows计算机的方法。最后则主要介绍网络中的windows服务器。
本书介绍的所有内容,虽然都是通过脚本体现的,但也同时可以直接用于管理工作。因此这可以算作本书最重要的一个特色。另外,本书在内容的安排上也能做到有的放矢,分别针对单机和网络环境下的操作进行介绍,因此适合不同需求的读者,只要根据自己的需要直接查看相应的章节,即可了解完成管理工作所必需的全部知识。
本书适用于所有希望使用命令行或脚本取代windows中图形界面的用户。无论是网络管理员还是高级用户,只要希望使用命令行“多快好省”地完成自己的工作,同时又对windows中原有的cmd.exe命令提示符界面不满意,那么就可以考虑换用windows powershell,而本书则是windows powershell入门首选的参考书。
从内容的安排方式来说,本书以powershell新手的使用进度来安排内容。首先简要介绍了windows powershell,以及使用powershell编写脚本的通用知识。然后介绍用powershell脚本管理本地计算机的内容,这些内容不仅适合单机用户,也适合windows网络管理员。接下来,从网络管理员的角度介绍了使用powershell管理网络中所有windows计算机的方法。最后则主要介绍网络中的windows服务器。
本书介绍的所有内容,虽然都是通过脚本体现的,但也同时可以直接用于管理工作。因此这可以算作本书最重要的一个特色。另外,本书在内容的安排上也能做到有的放矢,分别针对单机和网络环境下的操作进行介绍,因此适合不同需求的读者,只要根据自己的需要直接查看相应的章节,即可了解完成管理工作所必需的全部知识。
本书适用于所有希望使用命令行或脚本取代windows中图形界面的用户。无论是网络管理员还是高级用户,只要希望使用命令行“多快好省”地完成自己的工作,同时又对windows中原有的cmd.exe命令提示符界面不满意,那么就可以考虑换用windows powershell,而本书则是windows powershell入门首选的参考书。
作译者回到顶部↑
本书提供作译者介绍
Ed Wilson是微软公司的高级顾问,同时也是一位知名的脚本专家。他是微软认证的讲师,主要向世界范围内微软的主要客户介绍有关Windows PowerShell的知识。他已经出版了多本有关Windows脚本的书籍,包括Microsoft Windows PowerShell Step by Step和Microsoft VBScript Step by Step。Ed持有20多个业界认证证书,包括微软认证系统工程师(MCSE)以及信息系统安全认证专家(CISSP)。
.. << 查看详细
.. << 查看详细
目录回到顶部↑
第1章 windows powershell外壳
1.1 安装windows powershell
1.1.1 使用vbscript验证安装
1.1.2 部署windows powershell
1.2 和外壳的交互
1.3 cmdlet介绍
1.4 配置windows powershell
1.4.1 创建windows powershell配置文件
1.4.2 配置windows powershell启动选项
1.5 windows powershell的安全问题
1.5.1 控制cmdlet的执行方式
1.5.2 确认命令
1.5.3 cmdlet的挂起确认
1.6 cmdlet的提供选项
1.7 使用get.help
1.8 使用别名以及为cmdlet指定别名
1.9 cmdlet的其他用途
1.9.1 使用get-childltem cmdlet
1.9.2 调整输出格式
1.9.3 使用get-command cmdlet
1.1 安装windows powershell
1.1.1 使用vbscript验证安装
1.1.2 部署windows powershell
1.2 和外壳的交互
1.3 cmdlet介绍
1.4 配置windows powershell
1.4.1 创建windows powershell配置文件
1.4.2 配置windows powershell启动选项
1.5 windows powershell的安全问题
1.5.1 控制cmdlet的执行方式
1.5.2 确认命令
1.5.3 cmdlet的挂起确认
1.6 cmdlet的提供选项
1.7 使用get.help
1.8 使用别名以及为cmdlet指定别名
1.9 cmdlet的其他用途
1.9.1 使用get-childltem cmdlet
1.9.2 调整输出格式
1.9.3 使用get-command cmdlet
译者序回到顶部↑
译 者 序
Windows PowerShell是微软为Windows Server 2008以及其他服务器端的产品开发的一种命令行外壳和脚本语言,该技术提供了丰富的控制与自动化的系统管理能力,不仅适用于对新一代微软产品进行命令行下的管理,而且非常适合编写语法简洁、功能强大的批处理文件和脚本。Windows PowerShell不仅简单,而且易学易用。
从Microsoft Exchange Server 2007开始,微软的新一代服务器产品已经逐渐开始对Windows PowerShell提供支持,因此PowerShell成了图形界面之外另一种强大的工作环境。在PowerShell环境下,不仅可以实现图形界面可以实现的所有功能,甚至还可以实现很多根本没有在图形界面下提供的操作。例如Windows PowerShell可以配合Windows管理规范(WMI)对本地或远程计算机上的操作系统进行一些非常实用的操作,另外Windows PowerShell还可以配合Active Directory服务接口(ADSI)使用,将PowerShell的用途从单机扩展到整个Active Directory域。
虽然可以同时对本地或远程计算机进行操作,不过使用Windows PowerShell的效率明显要比图形界面高,这尤其适合对通过慢速链路连接的服务器进行管理。而Windows PowerShell的自定义功能完全不逊于图形界面,我们不仅可以按照自己的使用习惯对某些cmdlet(可以理解为Windows PowerShell自带的命令)创建别名,而且可以将自己需要经常执行的某些任务编写成脚本,并指派别名,通过别名直接调用,以实现“一键运行”的目的。
当然,如果仅仅是用来取代图形界面,这对于部分管理员来说意义并不大,毕竟很多小型的环境只要配置好,就可以长时间使用,很少需要调整配置。但别忘了Windows Server 2008中还包含一种名为“Core”的特殊版本,在这种版本的Windows中,根本不会安装图形界面,所有配置工作都是通过命令行,也就是Windows PowerShell实现的。可想而知,因为去掉了图形界面,Windows Server 2008 Core可以更稳定、更高效,但如何对其进行配置和管理?毋庸置疑,还是Windows PowerShell。
顾名思义,Windows PowerShell,不仅可以取代传统的图形界面“Shell”,而且确实很“Power”。而随着微软新一代服务器产品的陆续发布,对Windows PowerShell的掌握成了很多Windows管理员最关心的问题,为此我们从国外已出版的和Windows PowerShell有关的书籍中挑选了本书。本书从最基本的内容开始介绍PowerShell,同时从书名可以看出,本书主要侧重的是Windows PowerShell在脚本编写方面的内容。相信通过阅读本书,我们将能利用Windows PowerShell编写出功能更强大的脚本。
虽然我本人已经从测试阶段就开始使用Windows PowerShell,不过一直以来在大部分工作中都是将其当作cmd.exe的代替品,完全没有发挥出Windows PowerShell的强大功能。对这本书的翻译,也是我本人对Windows PowerShell的熟悉过程。我可以毫不夸张地说,Windows PowerShell确实是微软近几年里发布的最强大的产品。
本书的翻译过程得到了刘宝良、王凤霞、李春霞、刘步庭、武莉、李红莉、刘进业、张惠玲、刘斯琰、刘根武、方建国、刘宝敏、高晓敏、刘宝玲和张权等朋友的帮助和支持,在此我要向这些朋友表示感谢。
是时候抛弃古老的VBScript、投身Windows PowerShell的怀抱了!
Windows PowerShell是微软为Windows Server 2008以及其他服务器端的产品开发的一种命令行外壳和脚本语言,该技术提供了丰富的控制与自动化的系统管理能力,不仅适用于对新一代微软产品进行命令行下的管理,而且非常适合编写语法简洁、功能强大的批处理文件和脚本。Windows PowerShell不仅简单,而且易学易用。
从Microsoft Exchange Server 2007开始,微软的新一代服务器产品已经逐渐开始对Windows PowerShell提供支持,因此PowerShell成了图形界面之外另一种强大的工作环境。在PowerShell环境下,不仅可以实现图形界面可以实现的所有功能,甚至还可以实现很多根本没有在图形界面下提供的操作。例如Windows PowerShell可以配合Windows管理规范(WMI)对本地或远程计算机上的操作系统进行一些非常实用的操作,另外Windows PowerShell还可以配合Active Directory服务接口(ADSI)使用,将PowerShell的用途从单机扩展到整个Active Directory域。
虽然可以同时对本地或远程计算机进行操作,不过使用Windows PowerShell的效率明显要比图形界面高,这尤其适合对通过慢速链路连接的服务器进行管理。而Windows PowerShell的自定义功能完全不逊于图形界面,我们不仅可以按照自己的使用习惯对某些cmdlet(可以理解为Windows PowerShell自带的命令)创建别名,而且可以将自己需要经常执行的某些任务编写成脚本,并指派别名,通过别名直接调用,以实现“一键运行”的目的。
当然,如果仅仅是用来取代图形界面,这对于部分管理员来说意义并不大,毕竟很多小型的环境只要配置好,就可以长时间使用,很少需要调整配置。但别忘了Windows Server 2008中还包含一种名为“Core”的特殊版本,在这种版本的Windows中,根本不会安装图形界面,所有配置工作都是通过命令行,也就是Windows PowerShell实现的。可想而知,因为去掉了图形界面,Windows Server 2008 Core可以更稳定、更高效,但如何对其进行配置和管理?毋庸置疑,还是Windows PowerShell。
顾名思义,Windows PowerShell,不仅可以取代传统的图形界面“Shell”,而且确实很“Power”。而随着微软新一代服务器产品的陆续发布,对Windows PowerShell的掌握成了很多Windows管理员最关心的问题,为此我们从国外已出版的和Windows PowerShell有关的书籍中挑选了本书。本书从最基本的内容开始介绍PowerShell,同时从书名可以看出,本书主要侧重的是Windows PowerShell在脚本编写方面的内容。相信通过阅读本书,我们将能利用Windows PowerShell编写出功能更强大的脚本。
虽然我本人已经从测试阶段就开始使用Windows PowerShell,不过一直以来在大部分工作中都是将其当作cmd.exe的代替品,完全没有发挥出Windows PowerShell的强大功能。对这本书的翻译,也是我本人对Windows PowerShell的熟悉过程。我可以毫不夸张地说,Windows PowerShell确实是微软近几年里发布的最强大的产品。
本书的翻译过程得到了刘宝良、王凤霞、李春霞、刘步庭、武莉、李红莉、刘进业、张惠玲、刘斯琰、刘根武、方建国、刘宝敏、高晓敏、刘宝玲和张权等朋友的帮助和支持,在此我要向这些朋友表示感谢。
是时候抛弃古老的VBScript、投身Windows PowerShell的怀抱了!
前言回到顶部↑
前 言
世界上最好的脚本语言,配合世界上最好的操作系统!它们的关系就好像秤不离砣。Windows Vista和Windows Server 2008并不只是微软历史上最重要的产品,也是目前自定义程度最高的。没错,自定义!虽然普通用户更喜欢使用GUI界面,不过GUI界面却会给网络管理员、技术顾问以及高级用户带来一些小麻烦。幸运的是,用于管理Exchange Server 2007、Virtual Server 2007以及Windows Server 2008的工具,甚至用于管理Windows Vista的工具,都有命令行版本,那就是Windows PowerShell。
作为5本有关Windows脚本的书籍的作者以及微软的技术顾问,我在世界各地巡回介绍有关Visual Basic Script(VBScript)、Windows管理规范(Windows Management Instrumentation,WMI)、Active Directory服务界面(Active Directory Services Interface,ADSI)的新技术,而现在,这一领域的后起之秀Windows PowerShell也来了。
通过使用Windows PowerShell,新入门的网络管理员可以创建出只需要输入一行代码就可以列出计算机上所有资源使用情况列表的脚本,虽然同样的任务也可以通过使用VBScript实现,不过VBScript需要更多时间,也需要更多代码。在Windows PowerShell中,我们可以使用同样的代码列出Windows Server 2008或Windows Vista的资源使用情况。
微软的这一新产品还可以提供Windows PowerShell cmdlet(cmdlet是Windows PowerShell的灵魂,会在第1章介绍)和接口,在某些情况下还会提供工具。这是一个天大的好消息,因为可以帮助我们节省不少时间,用很简单的操作就可以管理和配置各种应用。
Windows PowerShell是一种全新的脚本语言,最先可用于Microsoft Exchange 2007。这是一个通过网络发布的产品,可以被安装在Windows XP、Windows Server 2003以及Windows Vista上,同时该产品也作为一个功能包含在Windows Server 2008中,另外还会作为基本组件包含在下一代桌面操作系统中。因为Microsoft Exchange 2007管理工具是基于Windows PowerShell构建的,因此Exchange管理员将会是第一批认识和使用Windows PowerShell的用户。管理安全性、注册表资源以及服务配置,这些网络管理员日常维护的基本任务都可以通过Windows PowerShell实现,而且因为有了Windows PowerShell的灵活性和各种工具,这些任务很容易执行。
本书适用对象
《精通Windows PowerShell脚本编程》旨在介绍用于自动化安装、部署以及管理运行Windows的计算机所需的工具。另外,本书还会对Windows PowerShell中自带的cmdlet进行全面的介绍。
本书介绍了300多个脚本,演示了网络管理员日常工作的大部分任务:安全、配置、部署、维护、网络以及排错。
《精通Windows PowerShell脚本编程》适合多种读者群,具体如下。
Windows网络顾问 可以让.NET网络组件的安装和配置更标准、更自动化。
Windows网络管理员 自动化实现日常的Windows网络管理。
微软认证的系统工程师(MCSE)和微软认证讲师(MCT) 用于准备包含Windows PowerShell内容的一系列新的认证课程。
一般技术人员 用于收集信息和配置Windows计算机的选项。
高级用户 用于在家庭和不被管制的桌面工作环境中,对Windows计算机实现最大化的控制和支配能力。
《精通Windows PowerShell脚本编程》在概念上分为4部分:了解Windows PowerShell;配合Windows Vista使用Windows PowerShell;配合Windows Server 2008使用Windows PowerShell;维护特定应用程序。然而本书的内容并不是按照这个方式分的,每一章都作为独立的单元编写,这样我们就可以拿起书,随便翻到感兴趣的章节,了解相关的信息。例如,如果需要管理IIS 7,就可以直接查阅第15章。
关于配套资源
本书的配套资源包含一些额外的信息以及软件组件和脚本。其中最多的还是脚本,实际共包含317个脚本(这个数值也是通过编写的脚本统计出来的)。这些脚本中一部分对应各章中的范例,因此也都分别保存在以对应章节编号命名的文件夹中,这样可以方便读者在需要的时候立刻找到。
这些脚本大部分都很直观,并不需要做特殊说明。另外,很多脚本还有命令行参数,可以让我们在运行的时候修改其中的值。然而,有些脚本在代码中就指定了特定的值,因此这些脚本必须根据实际情况进行一些修改。无论哪种情况,这些需要改动的地方都会在代码或书中说明,或者同时在这两个地方给出提示。
配套资源中还包含一些数据库文件,这些文件是使用Microsoft Access 2007创建的。然而,一些读者可能还在使用老版本的Access,因此我将数据库文件保存为兼容模式。不过本书中涉及数据库文件的所有截图都是在Access 2007中截取的。
世界上最好的脚本语言,配合世界上最好的操作系统!它们的关系就好像秤不离砣。Windows Vista和Windows Server 2008并不只是微软历史上最重要的产品,也是目前自定义程度最高的。没错,自定义!虽然普通用户更喜欢使用GUI界面,不过GUI界面却会给网络管理员、技术顾问以及高级用户带来一些小麻烦。幸运的是,用于管理Exchange Server 2007、Virtual Server 2007以及Windows Server 2008的工具,甚至用于管理Windows Vista的工具,都有命令行版本,那就是Windows PowerShell。
作为5本有关Windows脚本的书籍的作者以及微软的技术顾问,我在世界各地巡回介绍有关Visual Basic Script(VBScript)、Windows管理规范(Windows Management Instrumentation,WMI)、Active Directory服务界面(Active Directory Services Interface,ADSI)的新技术,而现在,这一领域的后起之秀Windows PowerShell也来了。
通过使用Windows PowerShell,新入门的网络管理员可以创建出只需要输入一行代码就可以列出计算机上所有资源使用情况列表的脚本,虽然同样的任务也可以通过使用VBScript实现,不过VBScript需要更多时间,也需要更多代码。在Windows PowerShell中,我们可以使用同样的代码列出Windows Server 2008或Windows Vista的资源使用情况。
微软的这一新产品还可以提供Windows PowerShell cmdlet(cmdlet是Windows PowerShell的灵魂,会在第1章介绍)和接口,在某些情况下还会提供工具。这是一个天大的好消息,因为可以帮助我们节省不少时间,用很简单的操作就可以管理和配置各种应用。
Windows PowerShell是一种全新的脚本语言,最先可用于Microsoft Exchange 2007。这是一个通过网络发布的产品,可以被安装在Windows XP、Windows Server 2003以及Windows Vista上,同时该产品也作为一个功能包含在Windows Server 2008中,另外还会作为基本组件包含在下一代桌面操作系统中。因为Microsoft Exchange 2007管理工具是基于Windows PowerShell构建的,因此Exchange管理员将会是第一批认识和使用Windows PowerShell的用户。管理安全性、注册表资源以及服务配置,这些网络管理员日常维护的基本任务都可以通过Windows PowerShell实现,而且因为有了Windows PowerShell的灵活性和各种工具,这些任务很容易执行。
本书适用对象
《精通Windows PowerShell脚本编程》旨在介绍用于自动化安装、部署以及管理运行Windows的计算机所需的工具。另外,本书还会对Windows PowerShell中自带的cmdlet进行全面的介绍。
本书介绍了300多个脚本,演示了网络管理员日常工作的大部分任务:安全、配置、部署、维护、网络以及排错。
《精通Windows PowerShell脚本编程》适合多种读者群,具体如下。
Windows网络顾问 可以让.NET网络组件的安装和配置更标准、更自动化。
Windows网络管理员 自动化实现日常的Windows网络管理。
微软认证的系统工程师(MCSE)和微软认证讲师(MCT) 用于准备包含Windows PowerShell内容的一系列新的认证课程。
一般技术人员 用于收集信息和配置Windows计算机的选项。
高级用户 用于在家庭和不被管制的桌面工作环境中,对Windows计算机实现最大化的控制和支配能力。
《精通Windows PowerShell脚本编程》在概念上分为4部分:了解Windows PowerShell;配合Windows Vista使用Windows PowerShell;配合Windows Server 2008使用Windows PowerShell;维护特定应用程序。然而本书的内容并不是按照这个方式分的,每一章都作为独立的单元编写,这样我们就可以拿起书,随便翻到感兴趣的章节,了解相关的信息。例如,如果需要管理IIS 7,就可以直接查阅第15章。
关于配套资源
本书的配套资源包含一些额外的信息以及软件组件和脚本。其中最多的还是脚本,实际共包含317个脚本(这个数值也是通过编写的脚本统计出来的)。这些脚本中一部分对应各章中的范例,因此也都分别保存在以对应章节编号命名的文件夹中,这样可以方便读者在需要的时候立刻找到。
这些脚本大部分都很直观,并不需要做特殊说明。另外,很多脚本还有命令行参数,可以让我们在运行的时候修改其中的值。然而,有些脚本在代码中就指定了特定的值,因此这些脚本必须根据实际情况进行一些修改。无论哪种情况,这些需要改动的地方都会在代码或书中说明,或者同时在这两个地方给出提示。
配套资源中还包含一些数据库文件,这些文件是使用Microsoft Access 2007创建的。然而,一些读者可能还在使用老版本的Access,因此我将数据库文件保存为兼容模式。不过本书中涉及数据库文件的所有截图都是在Access 2007中截取的。
书摘回到顶部↑
第1章Windows PowerShell外壳
1.1安装Windows PowerShell
因为Windows PowerShell目前没有被默认安装在微软已发布的任何操作系统上,因此在真正部署脚本或命令之前,请确认目标平台上已经安装了Windows PowerShell。这个工作就像执行Windows PowerShell命令并查找错误一样简单,因为后者只需要在一个批处理文件里查询%errorlevel%的值即可。
……
1.1安装Windows PowerShell
因为Windows PowerShell目前没有被默认安装在微软已发布的任何操作系统上,因此在真正部署脚本或命令之前,请确认目标平台上已经安装了Windows PowerShell。这个工作就像执行Windows PowerShell命令并查找错误一样简单,因为后者只需要在一个批处理文件里查询%errorlevel%的值即可。
……

点击看大图







加载中...
