【发布时间】:2011-02-24 10:13:09
【问题描述】:
我即将为 Windows 管理员编写一个 PowerShell 脚本,以帮助他们完成与 Web 应用程序部署相关的某些任务。
我有什么理由支持或排除开发 PowerShell 模块 (.psm1) 而不是开发 PowerShell 脚本 (.ps1)?
开发脚本的参数
- 简单:我认为使用脚本对于 Windows 管理员来说更容易和更直接,因为它不需要安装模块(但我可能错了,因为我不是 Windows 管理员!) .
- 更快的开发:开发一个模块需要更仔细地对内部方法进行编程。这就像设计一个 API,因此必须更加严格。
开发模块的参数:
- 可重用性:这是首先想到的:如果管理员想将我们的脚本集成到他自己的脚本中,他可能更容易重用暴露一个(或多个)cmdlet 的模块,而不是而不是调用我们的脚本?
- ...
如果您了解 PS 脚本与 PS 模块的常见用例,或每种选择的技术限制,可能会有所帮助。
【问题讨论】:
-
一个想法:在创建代码时将其创建为脚本;这样你就可以获得“更快的发展”的好处。一旦你有了一个工作脚本,将它迁移到一个模块(即跨函数复制,添加文档,通常确保它被完全打包);通过这种方式,您可以在以开发人员思维方式快速运行功能,然后在重构/重新打包以供重用时转变为架构师思维方式。
标签: powershell module windows-scripting