首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >何时选择开发PowerShell模块而不是PowerShell脚本

何时选择开发PowerShell模块而不是PowerShell脚本
EN

Stack Overflow用户
提问于 2011-02-24 10:13:09
回答 2查看 18.1K关注 0票数 30

我将为编写一个PowerShell脚本,以帮助他们完成与部署web应用程序有关的某些任务。

我是否应该支持或排除PowerShell模块(.psm1)的开发而不是执行PowerShell脚本(.ps1)?

参数用于开发脚本

  • simplicity:--我认为,对于Windows管理员来说,使用脚本要简单一些,因为它不需要安装模块(但我可能错了,因为我不是Windows Admin!).
  • faster开发:开发一个模块需要更仔细的编程和内部方法的暴露。这就像设计API,因此必须更加严格。

参数用于开发模块

  • reusability:--这是我想到的第一件事:如果管理员想将我们的脚本集成到他自己的脚本中,那么他可能更容易重用一个模块,公开一个(或几个) cmdlet,而不是调用我们的script?
  • ...

如果您知道PS脚本与PS模块的通用用例,或者每种选择的技术限制,这可能会有所帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-24 11:07:19

要了解模块可以为您做什么,请阅读以下内容:https://learn.microsoft.com/en-us/powershell/scripting/developer/module/writing-a-windows-powershell-module?view=powershell-7.1

总之,

PowerShell模块允许您将Windows PowerShell代码划分、组织和抽象到自成的、可重用的单元中。使用这些可重用的单元,管理员、脚本开发人员和cmdlet开发人员可以很容易地直接与其他人共享他们的模块。脚本开发人员还可以重新打包第三方模块,以创建基于自定义脚本的应用程序。模块与其他脚本语言(如Perl和Python )中的模块类似,它启用了使用可重用、可再分发组件的可生产脚本解决方案,并使您能够重新打包和抽象多个组件以创建自定义解决方案。

如果您的脚本已经具有函数,并且不只是为了执行单个任务而编写,则可以将其重命名为.PSM1以将其转换为模块。当然,如果您不使用函数,那么除了使用.ps1之外别无选择。在这种情况下,每个.ps1将用于执行单个任务。当我和别人分享我写的脚本时,我总是喜欢模块。

票数 26
EN

Stack Overflow用户

发布于 2011-02-24 23:19:18

我喜欢模块,因为它能够“隐藏”函数/变量,并且只导出我想要的函数/变量。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5103211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档