如何在不安装模块的情况下在Powershell中的远程计算机上执行外部模块命令



我想在远程计算机上执行powershell命令,并在本地主机上使用外部模块。我测试了它,得到的消息是,我不能在远程计算机上使用该命令,但在本地它可以工作。

所以我已经通过导入模块在远程计算机上安装了该模块,它可以工作。

但这很糟糕,我不想在公司的每台电脑上都安装这个模块。

这是我的PS脚本:

$cred = Get-Credential
$isConnect = Test-WSMan edv-004
if($isConnect){
    #Get-WUHistory is from a extern Module and list the Updatehistory of a computer
    Invoke-Command -ComputerName edv-004 -ScriptBlock { Get-WUHistory } -Credential $cred
    Write-Host "Skript wurde auf ausgeführt..."
}

在我运行这个脚本之前,我必须这样做:

Enable-PSRemoting -Force
Set-Item WSMan:localhostClientTrustedHosts * -Force  #for testing 
Restart-Service WinRM

那么,如何在不将外部模块安装在远程计算机上的情况下执行外部模块命令呢?:/

您可以从共享位置导入模块(如果您的执行策略允许):

Invoke-Command -ComputerName edv-004 -ScriptBlock {
  Import-Module \servershareYourModule
  Get-WUHistory
} -Credential $cred

但是,如果不首先导入模块,就无法从模块运行函数。

相关内容

  • 没有找到相关文章

最新更新