有没有办法使用在远程会话中的本地会话中导入的模块?我查看了import-pssession,但我不知道如何获得本地会话.这是我想要做的样本.
import-module .\MyModule\MyModule.ps1
$session = new-pssession -computerName RemoteComputer
invoke-command -session $session -scriptblock { Use-CmdletFromMyModule }
Run Code Online (Sandbox Code Playgroud)
另外,我不想在远程会话中导入模块,因为ps1文件不在该服务器上.
我的电脑上有一个简单的功能
MYPC> $txt = "Testy McTesterson"
MYPC> function Do-Stuff($file) {
cd c:\temp;
$txt > $file;
}
Run Code Online (Sandbox Code Playgroud)
我想在远程计算机上运行它
MYPC> Invoke-Command -ComputerName OTHERPC { Do-Stuff "test.txt" }
Run Code Online (Sandbox Code Playgroud)
可以理解的是,Do-Stuff在OTHERPC上不存在,这不起作用.我怎么能让它工作呢?该Do-Stuff函数抽象了一些基本代码,并在其他几个地方调用,所以我不想复制它.
请注意,在我的示例中,值通过参数和范围闭包传递给函数.那可能吗?