WindowsPowerShell高级编程.pdf
Windows PowerShell高级编程.pdf 个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!http://showmecode.cn/links/bookWindows Power she‖高级编程Arul Kumaravel美) Jon White等著冯权友译清华大学出版社北京http://showmecode.cn/links/bookArul Kumaravel, Jon White, Michael Naixin Li, Scott Happell, Guohui Xie, Krishna C. VutukuriProfessional Windows Power Shell Programming: Snap-ins, Cmdlets, Hosts, and ProvidersE|SBN:9780-470-17393-0Copyright C 2008 by Wiley Publishing, IncAll Rights Reserved. This translation published under license本书中文简体字版由 Wiley Publishing,hnc.授权清华大学出版社出版。未经出版者书面许可,不得以任何方式复制或抄袭本书内容。北京市版权局著作权合同登记号图字:01-2008-2278本书封面贴有 John Wiley&Sons公司防伪标签,无标签者不得销售。版权所有,侵权必究。侵权举报电话:010-6278298913701121933图书在版编目(C|P)数据Windows Power Shell高级编程(美)库马拉尔( Kumaravel,A.),(美)怀特( White)等著:冯杈友译.一北京:清华大学出版社,2009.1书名原文: Professional Windows Power Shell Programming:Snap-ins, Cmdlets,Hos, and ProvidersISBN978-7-302-18867-4I.w…Ⅱl.①库…②怀…③冯…Ⅲ.窗口软件, Windows-程序设计Ⅳ.TP3l6.7中国版本图书馆CIP数据核字(2008)第173672号责任编辑:王军王婷装帧设计:孔祥丰责任校对:成风进责任印制:杨艳出版发行:清华大学出版社地址:北京清华大学学研大厦A座http://www.lupecormon邮邮编:100084社总机:01062770175购:010-62786544投稿与读者服务:010-62776969,service(@tup.tsinghua.cdu.cn质量反馈:010-62772015, zhiliang( a tup. tsinghua.edu.cn印刷者:北京四季青印刷厂装订者:北京市密云县京文制本装订厂经销:全国新华书店开本:185×230印张:22字数:467千字版次:2009年1月第1版印次:2009年1月第1次印刷印数:1~4000定价:18.00元本书如存在文字不清、漏印、缺页、倒页、脱页等印装质量问题,请与清华大学出版社出版部联系调换。联系电话:(010)6270177转3103产品编号:027543-01http://showmecode.cn/links/book译者序在各种发行版的操作系统中, Windows操作系统安装使用得最广泛、最受用户欢迎。但对系统管理工作者而言, Windows一直有个小小的缺憾,就在于没能提供像 Unix Shell程序那样的强大脚本支持,而使得系统管理员的工作效率不高。 Power Shell的问世彻底改变了这种局面。 Power Shell是构建在 Windows. NEt平台之上的,与NET框架紧密耦合,因此它不仅是一种脚本编程语言,还为系统管理员提供了功能丰富的编程开发环境,可以轻易操作系统中的COM组件。目前,市场上已经出现了介绍如何使用 Windows powerShell|提高系统管理效率的书籍,但是从API层次介绍 Power Shel编程的权威之作相当稀少。本书比SDK文档更加详尽地介绍了 cmdlet、提供者( provider)、snap-in、宿主(hos)程序等方面的开发技术。本书针对 PowerShell snap-in和宿主(hos)程序开发人员而写,它从 Windows PowerShel底层Al开始介绍 Power Shel程序设计。书中每个知识点都有配套的实例代码,可以从本书的合作站点上自由下载,极易验证。本人是计算机专业的在读博士生,经常在 Linux下进行脚本编程。接触 WindowsPower Shell一年多来,渐渐被它强大的功能所吸引。在 Windows操作系统中, Power Shell提供了能和 Linux下的bash相媲美的强大功能。本书翻译过程中也加入了个人的使用体会,希望能和读者在 Power Shell技术方面进行探讨交流,共同进步。翻译过程中错误之处在所难免,敬请广大读者提供反馈意见,读者可以将意见发到wkservice(@vip.163com,我们会仔细查读者发来的每一封邮件,以求进一步提高本书的质量。译者2008年6月http://showmecode.cn/links/book作者简介Arul Kumaravel是目前 Windows PowerShell开发小组的负责人。从早期开始,他就参与了这个项目并领导该小组发布了第一版的 Windows Power Shell产品。现在,他正领导着下一个版本的 Power Shell产品的开发。Arul从他年轻时学习 BASIC编程开始,就着迷于计算机技术他在Iowa大学和卬度 Madras工程学院都获得了计算机科学方面的硕士学位。在微软实习期间,他为正3浏览器编写了第一个 JavaScript/VBScript调试器,同时微软公司的氛围也留给了他很好的印象,他决定为微软效力而改变数以万计人的生活。在微软任职的11年里,他在各种各样的小组工作过,发布了很多个版本的产品,包括IE浏览器、Windows操作系统、目录管理服务器。最近,由于对科学技术的商业运作感兴趣,Aru开始在Wharton商学院刻苦攻读MBA。他的邮件地址是aruk@hotmail.comJon white是位软件工程师,生活工作在美丽的西雅图东郊,他也是微软 Power Shell小组的创始成员。他的职业生涯开始于微软操作系统服务器版的管理工具组。10多岁时,父亲在二手店给他买了一个8088型PC,此后作为业余爱好者的他开始学习程序设计。那个二手PC内置MS-DOS2.0,它的 debug. exe只含有16位反汇编器而没有汇编器。因此,Jon在程序设计方面的第一次尝试就是把长长的字节表反汇编成一个反向查找的字典,以此将汇编程序手动地变成可执行二进制代码。更妙的是,他后来査出了64位 Windows操作系统中 debug.exe的漏洞。作为 Power Shel小组的一员,在2004年,当他负责将小组的测试工作从Penl转移到 Power Shel脚本上来时,他编写了该语言的第一个工作脚本。业余时间,他喜欢航海或者在自家后院里玩焰火。读者可以通过发送邮件至jwh@microsoft.com联系他。Michael naixin凵是微软 Power Shell小组产品测试方面的高级负责人,现在他正监管着 Windows power Shell 2.0的测试工作。加盟 Power Shell小组前, Michael在微软许多重大项目中工作过,这些项目包括MSN1.x和MSN2x的开发、 Windows2000中COM服务组件的质量管理、 NetDocs Web用户接入、 Hailstorm中的web服务以及 WindowsⅤsta中的软件许可证服务。在加入微软前, Michael是上海科学与技术大学(现在叫上海大学)的助理教授,他在 Colorado州立大学获得计算机科学博士学位。http://showmecode.cn/links/bookWindows Power Shel高级编程Scott Happell!是一位有着10年工作经验的软件工程师与软件测试员。最初,他在新泽西参与一个 Intermet创业项目。由于对 PowerShell小组的热爱,他加入微软并工作了3年。最近 Scott离开微软而成为一名录音工程师和摇滚明星,同时他正试图通过使用PowerShell来帮助他创作音乐。Guohui Xie(或称 George×ie)曾是微软 PowerShell小组的高级开发人员,在该小组工作了3年,专注于 snap-In模型和脚本语言方面的工作。最近他加入了微软移动设备小组从事移动设备管理方面产品的开发。在加盟微软前, George曾在 Siebel系统公司工作多年。Krishna Chythanya Vutukuri是微软 Power Shell小组的软件开发人员。在加入 Power Shell小组前, Krishna在微软许多项目中工作过,其中包括 Windows presentation Foundation的开发。加盟微软前, Krishna在惠普印度软件运营中心( HP-ISC和 wipro科技公司承担过许多研发工作。他在印度 Pilani的 Birla科学与技术研究所获得信息系统方面理学硕士学位(工科)。http://showmecode.cn/links/book前言欢迎阅读本书。2003年,在微软的一个会议中心,来自微软管理控制台小组的工程师们组织了一个座谈会,他们举行了一个关于升级版MMC的原型演示活动,我有幸参加了这个会议。自微软发布第一个以 Internet为中心的服务器操作系统,即 Windows2000 Server操作系统后,他们收到了来自 Windows系统管理员用户大量的意见反馈,这些反馈并不都是称赞性的。那个原型演示就是微软公司早期针对这些反馈意见做出的回应之一。自基于DOS的文本文件管理器开发以来, Windows2000 Server操作系统经过了长期的演化。在其发展过程中,有很长一段时间人们认为它只适合于用来处理邮件、管理一个20MB大小的硬盘,除此之外,别无他用。并且, Windows2000 Server操作系统的管理工作也是按照视窗概念的方式进行的,系统管理是通过大量的事件交互完成的。尽管 Windows系统中已经存在大量的内置API函数和COM型API函数,遗憾的是,这两者之间并没有衔接起来。在 Linux下,您可以书写外壳程序脚本代码来自动配置邮件和DNS服务器,但在 Windows中,您要么手动配置,要么得先学习C++和COM编程。在 Windows中,Ⅴ isual Basic Script和 JavaScript技术的集成和合并一定程度上弥补了这个空白,但是GUI方式和命令行方式之间管理工作效率的差距并没有得到彻底的填补。传统的 Windows脚本只是通过COM组件的一个子集与操作系统交互,而GUI程序则不但可以使用所有的COM组件、调用Wn32API函数,还可以直接调用内置的内核API函数(如果是任务管理器这类GUI程序的话)。因此, Windows脚本的光芒一直以来都被GUI方式给掩盖了。让我们回到那个原型演示会议现场。想象一下:听众们鱼贯而入,讲台上的工程师通过引用一个关于PA系统的笑话来作开场白。灯光暗了下去,演示开始了。他们演示的新型MMC原型系统是一个基于GUⅠ的程序,该程序使用了一个命令行引擎作为它的API层。每一次节点扩展操作都变成了一次查询,每一次“确定”的点击操作都变成了一个命令。GUI用户的每一个操作都百分百如实地以脚本方式显示在屏幕的底部。老程序员在座http://showmecode.cn/links/bookWindows Power shel高级编程位上紧张地微微颤动,那些高级经理人眼中则仿若看到了巨大的利润滚滚而来,会议的筹办人察觉到听众的反应后,手里拿着一块小点心,走到屋外悠闲地点燃了一支香烟。这个演示宣告了三年后所谓的 Windows Powershell技术的开始。第一版的 WindowsPowerShell A以从网络上自由下载,同时也作为一个可选的组件集成到了 Windows se208操作系统中 Windows power shell不但为各种类型的用户提供了一个丰富的编程环境,也为 Windows用户从命令行方式过渡到COM组件以及其他未来技术奠定了基础。在 Power Shell有望成为年度黑马之际,本书也跟上时代的步伐,为您学习 WindowsPower Shell平台上的开发,提高系统管理的效率提供了全面指导。书中主要介绍了Power Shell l0开发平台中与 cmdlet开发、扩展类型系统( Extended Type System,简称ETS)、宿主(Host)、提供者( Provider)等概念有关的知识全书共八章。第1章简要介绍 Power Shellλ门知识;第2章介绍 snap-In开发,给读者一个整体印象;第3章介绍扩展类型系统ETS;第4章介绍 cmdlet开发;第5章介绍提供者( provider);第6、7章介绍宿主( host)API及其运用;第8章介绍输出信息格式化配置文件。最后,附录中还给出了一些有用的内容。本书读者对象本书面向 PowerShell snap-in和宿主程序开发人员,它从API层次起开始介绍Power Shell编程。本书的作者是 Power Shell 1.0版的研发小组成员,本书比SDK文档更加详尽地介绍了 cmdlet、 provider、snap-in、宿主程序以及可定制宿主等方面的开发技术。源代码下载在完成本书的示例时,可以选择手动输入代码或者使用本书附带的源代码文件。本书用到的所有源代码可以从www.tupwk.com.cn/downpage下载,也可以从www.wrox.com下载。进入该站点后,只需找到本书的名称(使用 Search框或者书名列表),单击本书的详细页面上的 Download Code链接,就可以得到本书所有的源代码。注意:由于很多书有相似的名称,所以用ISBN搜索更为容易。本书的ISBN是978-0-470-17393-0http://showmecode.cn/links/book前言下载了代码后,用您喜欢的压缩工具把它解压缩。此外也可以去Wrox的主下载页面Www.worx.com/dynamic/books/download.aspx找到本书或其他Wrox出版的书的代码。勘误表尽管我们竭尽所能来确保在正文和代码中没有错误,但错误难免会发生。如果您在wrox出版的书中发现了错误(比如拼写错误或者代码错误),我们将非常感谢您的反馈。发送勘误表将节省其他读者的时间,同时也会帮助我们提供更高质量的信息。到www.wrox.com站点上,用Search框或者标题列表找到本书的名称,在详细页面上点击 Book errata链接就能找到本书的勘误表。在这个页面中可以看到所有被提交的本书的勘误表,它们是由Wrox的编辑发布的。在www.worx.com/misc-pages/booklist.shtml中有完整的书的列表,其中包括每本书的勘误表如果您在书的勘误表页面上没有看到您发现的错误,请将错误发送至wkservice@vip.163com。我们会检查这些信息,如果属实就把它添加到本书的勘误表贞面上,并在本书的后续版本中更正错误。p2p wrox. com如果想和作者或者其他人讨论,请加入在htp:/p2p. worx. com的P2P论坛。该论坛是基于Wb的系统,您可以发布关于Wrox出版的书和相关技术的消息,与其他读者或技术人员交流。该论坛有预定功能,在您选择的感兴趣的主题有新帖子时,会邮件通知。Wrox的作者、编辑、其他业界专家和像您一样的读者都会出现在这些论坛中。在hp:/p2 p wrox. com,您会找到很多不同的论坛,它们不但有助于您阅读本书,还有助于您开发自己的应用程序,加入论坛的步骤为:(1)到htt:/2p. wrox. com上单击 Register链接。(2)阅读使用说明,单击 Agree按钮(3)填写加入必需的信息和其他您愿意提供的信息,单击 Submit按钮。(4)您将收到一封emai,描述如何验证您的账户和完成加入过程。注意:不加入P2P也可以阋读论坛里的消息。但是如果要发布自己的消息,就必须加入。加入之后,就可以发布新的消息和回复其他用户发布的消息。可以随时在Web上阅读
用户评论