第27章 学无止境

你基本上完成了对本书的学习,但是请不要停止对PowerShell的进一步学习。其实,在PowerShell中还有更多值得学习的东西。基于我们在本书中学到的知识,你在后面可以进行大量的自学。本章是一个小章节,但是本章会给你指出一些正确的学习方向。

27.1 进一步学习的思想

本书主要关注于希望成为高效的PowerShell用户所需掌握的技能与技术。换句话说,你应该能使用PowerShell中上千可用的命令来完成一些任务,而不论你的需求是关于Windows、Exchange、SharePoint还是其他产品。

下一步需要完成的是将多个命令结合在一起构成一个包含多个步骤的自动化流程,例如针对第三方人群建立一个已打包的可随时使用的工具。我们称之为工具制作(ToolMaking)。如果要详细描述该过程,可能需要一整本书的篇幅来介绍。但是也可以通过本书中所学的知识,编写一些参数化的脚本。在这些脚本中可以包含你所需的各种命令,之后借助该参数化脚本来完成某项任务——其实,这也就是工具制作的初级阶段。

如果需要完成工具制作,需要包含哪些东西呢?

  • PowerShell的简化编程语言;
  • 作用域;
  • 功能,以及将多个工具整合到单个脚本文件的能力;
  • 错误处理;
  • 帮助文档的编写;
  • 调试;
  • 自定义显示格式;
  • 自定义类型扩展;
  • 脚本与清单模块;
  • 使用数据库;
  • 工作流;
  • 管道排错;
  • 复杂的对象层次结构;
  • 全局对象与本地对象;
  • 可视化的PowerShell工具;
  • 代理功能;
  • 受限的远程处理与委托管理;
  • .Net的使用。

其实还有更多需要用到的东西。如果你有足够的兴趣并且掌握适当的技能,你甚至可以成为PowerShell的第三方观众的一部分——也就是软件开发者。有一整套围绕开发PowerShell的工具以及在开发过程中使用PowerShell的工艺和技术。这是多么伟大的一个产品啊!

27.2 既然已经阅读了本书,那么我要从哪里开始呢

现在最应该做的就是选择一个任务。选取真实环境中一些重复性的工作,然后利用PowerShell工具使得可以自动化完成该项工作。你肯定会碰到某些不知道该如何做的事情,那么这就是开始学习的最好的切入点。

下面是我们看到的其他管理员遇到的一些事情。

  • 编写一段脚本修改某服务的登录账号的密码,并且将该脚本发送到运行该服务的多台计算机上(可以使用单行命令实现)。
  • 编写一段脚本,用来实现新用户配置的自动化处理,包含新建用户账号、用户邮箱以及根目录等。通过PowerShell来配置NTFS权限会稍微麻烦点,所以请考虑使用基于PowerShell脚本开发的Cacls.exe或者Xcacls.exe,而不要使用PowerShell的Get-ACL以及Set-ACL命令(这两个命令使用起来都比较复杂)。
  • 编写管理Exchange邮箱的脚本——如获取占据空间最多的邮箱的报表或者针对邮箱大小创建一个报表。
  • 通过包含在Windows Server 2008 R2以及之后操作系统中的WebAdministration模块实现IIS中自动化发布新站点(如果是Windows Server 2008中采用IIS7,也可实现)。

记住,最重要的一点是“不要考虑太多”。Don曾经遇到一个管理员,该管理员花费好几个星期编写了一段PowerShell脚本来实现强大的文件拷贝功能,这样他就可以通过Web Server进行发布。Don问道:“为什么不直接使用XCopy或者RoboCopy呢?”该管理员盯着Don看了一会儿,然后笑了。其实,该管理员陷入了一个误区:“仅使用PowerShell来实现”,他忘记了“PowerShell可以直接调用那些已存在的强大的组件”。

27.3 你会喜欢的其他资源

我们花费了大量的时间去使用PowerShell,编写PowerShell方面的书籍以及进行PowerShell相关的教学工作。不信可以询问我们的家人——有时甚至我们只有在吃饭的时候才不谈论PowerShell。这就意味着,我们积累了很多的在线资源——包含日常工作中使用的,以及给学生建议的。希望这些资源也能给你提供一个很好的学习出发点。

  • MoreLunches.com——如果你还没将该网站加入书签中,那么该地址将是你的第一站。在该网站上,你会发现针对该书的免费福利以及配套内容,其中包括动手实验环节的答案、视频演示、免费文章以及额外的推荐资源。你也可以下载本书中那些很长的代码清单,这样就不用手动输入这些命令。请将该网站加入书签页中,然后定期访问该网站,以便对本书中所学的知识加深印象。
  • http://PowerShell.org ——Don与很多专家一起在该社区站点上发表了博客文章。
  • http://jdhitsolutions.com/blog ——这是Jeff的发布通用脚本以及PowerShell相关文章的博客站点。
  • http://mcpmag.com/Articles/List/Prof-PowerShell.aspx ——这是Jeff为MCP Mag.Com站点撰写的“Prof.PowerShell”周刊,里面全是简短的一些教程以及技巧。
  • http://PowerShell.org ——在该社区上包含一个公开的PowerShell Q&A论坛,我们会直接在该论坛上回答大家的PowerShell相关的问题。

很多学生经常都在问:是否还有其他一些推荐的书籍?在我们的桌上仅摆放了少量书籍,这些书籍名称都存在于http://PowerShellBooks.org/wp/books 网站列表中。当有新出版的书籍时,该列表会进行更新。其中的两本Learn PowerShell Toolmaking in a Month of Lunches以及PowerShell In Depth(均可在Manning上购买)是由我们编写或者合著的。所以如果你喜欢这两本书,那么这两本书会对你有很大的帮助。

最后,如果你喜欢PowerShell相关的未删节视频类型的培训,那么请访问http://CBTNuggets.com 网站。在该网站上,Don和其他PowerShell专家提供了一些未删节的高清视频。请记住,MoreLunches.com网站也提供了本书中每章节对应的配套视频,并且这些视频是免费的。


《Windows PowerShell 实战指南》