进一步学习的思想

下一步需要完成的步骤是将多个命令结合在一起构成一个包含多个步骤的自动化流程,例如针对第三方用户打包一个只读且随时可用的工具,我们称之为工具制作(ToolMaking)。
如果需要完成工具制作,需要包含哪些东西呢?

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

    选择任务

    现在最应该做的就是选择一个任务。选取真实环境中一些重复性的工作,然后利用PowerShell工具使得该部分工作自动化。
    下面是我们看到的其他管理员遇到的一些事情:
    1)编写一段脚本修改某服务登录账号的密码,并且将该脚本发送到运行该服务的多台计算机上(可以使用单行命令实现)。
    2)编写一段脚本,用来实现新用户配置的自动化处理,包含新建用户账号、用户邮箱以及根目录等。通过PowerShell配置NTFS权限会稍微麻烦点,所以请考虑使用基于PowerShell脚本开发的Cacls.exe或者Xcacls.exe,而不要使用PowerShell的Get-ACL以及Set-ACL命令(这两个命令使用起来都比较复杂)。
    3)编写管理Exchange邮箱的脚本:比如获取占据空间最多邮箱的报表或者针对邮箱大小创建一个报表。
    4)通过包含在Windows Server 2008 R2以及之后操作系统中的WebAdministration模块实现IIS中自动化发布新站点(如果是Windows Server 2008中采用IIS7,也可实现)。

    其他学习资源

  • http://PowerShell.org:这应该是你的第一站,你将会发现包含Q&A论坛、免费的电子书、免费的在线视频以及直播等。该网站是PowerShell资源汇集的中心地点,还包含了已经持续数年的podcast。

  • http://youtube.com/powershellorg以及http://youtube.com/powershelldon:分别是powershell.org的YouTube频道以及Don的Youtube频道,这里有大量的免费PowerShell视频,包括在PowerShell + DevOps全球峰会的录像。
  • http://jdhitsolutions.com:这是Jeff的发布通用脚本以及PowerShell相关文章的博客站点。
  • http://donjones.com:这是Don的个人博客,包含PowerShell相关的内容。
  • http://devopscollective.org:这是PowerShell.org的父组织,专注于以DevOps方式实现IT管理的大局。

是否还有其他一些推荐的书籍?有两本,分别为Learn PowerShell Toolmaking in A Month of Lunches以及PowerShell in Depth(这两本书都是Manning出版),我们是这两本书的作者或合著者,如果你喜欢本书,那上面两本也会同样适用于你。我们还推荐PowerShell DeepDives(Manning,2013),该书是PowerShell MVP撰写的深入技术文章的集合。

如果你喜欢视频教学,在http://Pluralsight.com有视频教学,该网站还包含了数以千计IT相关的视频。