问题:当我使用脚本远程运行另一个依赖于模块的脚本时,模块没有被导入。
我有 3 个相互交互的脚本。Controller
脚本、脚本Body
和Functions
模块。
Controller
正在处理对远程计算机的身份验证并body
使用Invoke-Command
.
body
依赖于模块functions
。
如果我直接在远程计算机上运行 `body` 脚本,模块会正确导入并且脚本完成;但是,如果我使用 `controller` 脚本远程运行 `body` 脚本,则永远不会导入该模块。如果我将模块中的函数嵌套在正文脚本中(看起来很乱)并远程运行,脚本就会完成,所以我知道导入模块有问题。我还尝试将模块导入到 `controller` 脚本中。它可以正确导入,但是当 `body` 脚本执行时,它仍然找不到模块中的函数。(我猜它会导入本地 Powershell ... shell)我尝试使用 `-verbose` 标记运行导入模块以查看它是否正在导入,并且它适用于所有实例,除非使用 `controller`远程运行“body”。
编辑:我几乎可以肯定这是因为它试图在远程计算机上找到模块路径,并且该路径引用了主机上的一个位置。除了使用invoke-command
从远程计算机返回到主机来导入模块之外,我不确定如何完成此操作。