gpt4 book ai didi

powershell - PowerShell 模块中的 .ps1 文件是什么?

转载 作者:行者123 更新时间:2023-12-03 00:02:58 24 4
gpt4 key购买 nike

我目前正在学习 PowerShell 模块。如果您使用的是 .psd1 list 文件,则可以选择使用 .ps1 脚本文件以及 .psm1 list 文件。为什么两者都需要?

我创建了一个模块,其中 .psm1 设置为 RootModule 和 .ps1 设置在 ScriptsToProcess 中,我注意到了一些差异,但我不确定它们加起来是什么。

  • 如果我将 Write-Output 语句添加到两者,则在导入时会显示 .ps1 的输出,但会抑制 .psm1 的输出。为 .psm1 显示写警告。
  • 如果我为模块前缀运行 Get-Command 前缀,则 .psm1 中的函数将与模块名称一起列出,而 .ps1 文件中的函数会以空白模块名称列出。
  • 最佳答案

    您放置对 Ps1 文件的引用的 list 部分决定了它们的执行方式。

    在你的情况下:

  • ScriptsToProcess 将在导入模块之前在调用者的环境中执行列出的 PowerShell 脚本。这让我认为它们是准备脚本。
  • 这是因为此处列出的文件并不包含函数;它应该是一个脚本。如果您希望模块可以访问其他功能,您有几个选择:
  • 在 NestedModules
  • 中列出它们
  • 将它们包含在您的模块中
  • 尝试在 list 的导出部分的函数中列出它们。 (我没有尝试过这种方法,但我的理解是,无论函数位于何处,它都会按照您想要的方式工作。)
  • 关于powershell - PowerShell 模块中的 .ps1 文件是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18558540/

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