在IT行业摸爬滚打多年,我的工作经历可谓丰富多彩:做过服务台接线员,深入一线;做过技术员,上门指导用户重启设备;做过系统管理员,维护服务器;做过系统工程师,设计并构建解决方案;还做过网络工程师,知道了OSPF和RIP路由之间的区别。
直到接触PowerShell,我才发现自己对一项技术竟然能产生如此大的热情。PowerShell深深改变了我的生活,我的职业生涯也因此发生了巨大变化。在这门语言的助力下,我的工作蒸蒸日上,我不仅为团队节省了大量时间,还第一次拿到了六位数的年薪。PowerShell如此强大,令我不忍独享,决心与世人分享。自此之后,我连续五年获得了微软MVP奖项。
借助本书,我要告诉你如何使用PowerShell自动执行众多任务,如何自己构建工具以省下购买现成产品的经费,以及如何整合各种工具。或许你无心成为PowerShell社区的活跃成员,但学习此语言能让你掌握很多企业急需的技能。
PowerShell可以追溯到2003年,那时称作Monad,旨在代替VBScript,以更直观的方式自动执行任务。PowerShell是一门通用的自动化、脚本和开发语言,它在脚本、自动化和运维人员之间架起了桥梁。PowerShell的目标是让用户通过脚本自动执行任务,无须学习计算机编程。这样的设计方式让缺少软件开发背景的系统管理员如鱼得水。对没有充足时间学习各种基础知识的系统管理员来说,PowerShell是一个优秀的助手。
经过不断的发展,PowerShell已经成为一门开源、跨平台的脚本和开发语言,无处不在。不仅可以使用PowerShell配置完整的服务器群,还能创建文本文件或设置注册表项。现今,支持PowerShell的软件产品和服务多达数千种,这得益于IT专业人士、开发人员、DevOps工程师、数据库管理员和系统工程师群体对PowerShell的接受度不断增长。
如果你是IT专业人士或系统管理员,每日疲于在一成不变的GUI中四处点击,今年已经第500次执行同一个任务,那么本书正适合你。如果你是DevOps工程师,正在绞尽脑汁实现自动化搭建新服务器环境、执行自动化测试,或正在构建一套完整的自动化持续集成(continuous integration,CI)和持续交付(continuous delivery,CD)流水线,那么本书也适合你。
PowerShell具有普适性,不只是特定人群才能使用。PowerShell用户的传统工作角色是“Windows商店”的微软系统管理员,但现在PowerShell几乎可以胜任所有IT运维工作。如果身处IT行业,且不是开发人员,那么本书就是为你编写的。
本书采用实践教学法,具有大量示例和真实案例。我不会直接 告诉 你什么是变量,而是让你自己 领会 。如果想要一本传统的教科书,那么本书并不适合你。
我不会将PowerShell的功能拆散,逐个讲解,毕竟现实中不会这样使用。例如,我不会分别介绍函数和
for
循环的书面定义,而是让你分析当前面对的问题,了解如何结合多个特性来解决问题。
本书分为三个部分。第一部分讲解了PowerShell新手要掌握的知识,以便你能与老手融洽相处。如果技能处于中高级水平,可以直接跳到第8章阅读。
第1~7章介绍了PowerShell语言本身。这几章讲解了基础知识,阐明了如何获得帮助、如何探索新命令,以及与其他编程语言相通的一些概念,比如变量、对象、函数、模块和错误处理。
第8章介绍了如何用PowerShell远程处理功能连接远程计算机来执行命令。
第9章介绍了流行的PowerShell测试框架Pester。这个框架贯穿本书,经常使用。
第二部分利用第一部分所学的知识来自动执行一些常见任务。
第10~13章讨论了如何解析结构化数据,以及很多IT管理员经常使用的服务,比如Active Directory(AD)、微软Azure和Amazon Web Services(AWS)。
第14章展示了如何构建工具,以便在自己的环境中清点服务器。
第三部分重点构建了名为PowerLab的PowerShell模块,借此演示了PowerShell的功能。这部分涵盖优秀的模块设计方式以及与函数相关的最佳实践。即便是资深PowerShell专家,也能从第三部分中获益。
第15~20章介绍了如何使用PowerShell实现整个实验室的自动化,以及如何自动测试服务器环境,包括置备Hyper-V虚拟机、安装操作系统、部署及配置IIS和SQL服务器。
希望本书能让你体验到PowerShell的强大功能。对于初学者,希望本书能让你鼓足勇气,开始实现自动化;对于资深用户,希望本书能让你掌握一些之前并不熟悉的技巧。
开启脚本编程之旅吧!
扫描下方二维码,即可获取电子书相关信息及读者群通道入口。