【问题标题】:Powershell module (psm1) auto-execute function after module loadPowershell模块(psm1)模块加载后自动执行功能
【发布时间】:2019-04-01 19:36:11
【问题描述】:

就在模块加载后 (.psm1)...
我想要执行该模块中的特定功能。

不是在加载之前..而是在加载之后<...> 所以请不要提及 (.psd1) 'ScriptsToProcess'

我知道我可以在代码之后执行该函数...
但我想要的是一些代码自动执行
当有人加载/导入模块时......

我尝试将一些代码放在任何函数之外
在模块中,但没有运气...

?谁能提供一个简单的例子 像一个具有简单功能的模块
自动运行
当模块导入内存时(Import-Module))

【问题讨论】:

  • 请更清楚地说明您要完成的工作。这听起来很像 X/Y 问题。
  • 刚刚重新提出了这个问题...请告诉我现在是否可以理解...

标签: powershell powershell-module


【解决方案1】:

psm1 中函数之外的任何代码都将在模块加载时运行。

【讨论】:

  • 谢谢,您的建议解决了我数小时以来一直试图克服的问题。
【解决方案2】:

好的...我刚刚想通了...
经过一番头脑风暴
和一些测试......

将问题上下文化:

当我在 \modules 文件夹中创建一个模块 (.psm1)
(所以会被powershell引擎自动扫描)
我希望模块中存在任何“免费代码”
将在 powershell 第一次“接触”模块时执行...
(这将用于环境初始化)

Powershell 中的模块加载不能以这种方式工作...
无论如何,我解决了调用“想要的初始化代码”的问题
来自 profile.ps1 (可能来自任何自动调用的“配置文件”文件)

谢谢...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-29
    • 1970-01-01
    • 1970-01-01
    • 2018-11-25
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多