gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 01:19:22 25 4
gpt4 key购买 nike

我即将为 Windows 管理员编写一个 PowerShell 脚本,以帮助他们完成与部署 Web 应用程序相关的某些任务。

有什么理由让我应该赞成或排除开发 PowerShell 模块 (.psm1) 而不是开发 PowerShell 脚本 (.ps1)

开发脚本的参数

  • 简单:我认为使用脚本对于 Windows 管理员来说更容易、更直接,因为它不需要安装模块(但我可能是错的,因为我不是 Windows 管理员)管理员!)。
  • 更快的开发:开发模块需要更仔细地编程并暴露内部方法。这就像设计 API 一样,因此必须更加严格。

开发模块的论据:

  • 可重用性:这是首先想到的:如果管理员想要将我们的脚本集成到他自己的脚本中,那么他可能更容易重用暴露一个(或多个)的模块) cmdlet 而不是调用我们的脚本?
  • ...

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

最佳答案

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

简而言之,

Windows PowerShell modules allow you to partition, organize, and abstract your Windows PowerShell code into self-contained, reusable units. With these reusable units, administrators, script developers, and cmdlet developers can easily share their modules directly with others. Script developers can also repackage third-party modules to create custom script-based applications. Modules, similar to modules in other scripting languages such as Perl and Python, enable production-ready scripting solutions that use reusable, redistributable components, with the added benefit of enabling you to repackage and abstract multiple components to create custom solutions.

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

关于powershell - 何时选择开发 PowerShell 模块而不是 PowerShell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5103211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com