这是一期关于 PowerShell 诞生的播客节目,主要内容如下:
- 寻求新工作:Adam 被 Earthly 裁员后,正在寻找新的开发者关系 (DevRel) 角色,他擅长将编码与沟通相结合,制作教程、会议演讲、YouTube 视频等,希望能找到能让他继续发挥软件开发和沟通能力的工作,可通过
Adam@CoRecursive.com
或 Twitter @AdamGordonBell联系他。 PowerShell 的诞生:
- 问题提出:Microsoft 担心自身不了解数据中心和企业市场,决定引入 Jeffrey Snover 等了解问题的人。Jeffrey 加入微软 Windows Server 团队,目标是在数据中心建立基于 Microsoft NT 的操作系统并与 Unix 供应商竞争。
- 面临挑战:管理众多服务器时,软件不够好,传统的点击鼠标配置方式在不同业务场景下差异大,需要系统集成商,但这会增加成本并使客户流失,所以要发展自己的专业管理员类群体,采用 Unix 组合模型,用小工具解决独特问题。
- 技术探索:最初用 Windows 服务 for Unix 管理 Windows,但未解决问题,因为 Unix 和 Windows 架构不同,AWK/GREP/SED 等工具在 Windows 上不适用,只有 Windows Management Instrumentation (WMI) 可用于部分管理任务,但未被充分利用。Jeffrey 团队支付承包商编写使用 WMI 的命令行界面,实现了 70 个动作,但仍不能满足需求,他们还通过让测试组织只测试工具而不是每个具体命令的配置来解决测试瓶颈。
- 内部斗争与推动:Jeffrey 在项目中面临诸多困难,如编码窗口短、代码质量问题、与其他部门的理念冲突等。他利用 Bill Gates 对.NET 的推动,将其作为获取内部支持的契机,尽管组织进行了重组,他仍坚持计划。他创建了 Monad Manifesto 来明确项目的愿景和成功路径,并努力说服产品团队参与,如与 Active Directory 组合作,使 PowerShell 的功能不断扩展。
- 回归 Windows:.NET 实施过程中出现了许多问题,PowerShell 被从 Windows 中拉出,Jeffrey 历经艰难才找到让其回归的方法,经过一系列审查和斗争,最终 PowerShell 1 作为 Windows Vista 的一部分发布,后续版本不断完善,朝着成功的服务器管理目标前进。
- 后续影响:PowerShell 改变了 Windows 服务器管理方式,使管理员能够编写脚本和自动化复杂任务,创建了一个互助的社区,提升了相关人员的技能价值。它还推动了微软进入云时代,Jeffrey 也从被降职中恢复,成为杰出工程师和技术研究员。
- 结尾:Adam 感谢 Jeffrey 分享故事,介绍了 Jeffrey 在 Twitter 上的账号[@jsnover]以及他在谷歌的工作情况,鼓励听众分享自己的 PowerShell 故事或相关组织挑战经历,可通过 Twitter @AdamGordonBell 或 email
adam@corecursive.com
联系他,还提到了支持播客的 Patreon 链接。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。