以前在我的剧本中工作的东西已不复存在,而且我的想法不合时宜。
我正在尝试执行以下操作:
Import-Module 'H:\folder\folder1\Remove-Software.psm1'
$sessionoption = New-PSSessionOption -SkipCACheck -SkipCNCheck
$s = New-PSSession -ComputerName $Global:DevicePrimaryIP -Credential $Global:Creds -SessionOption $sessionoption
Invoke-Command -Session $s -ScriptBlock $function:RemoveSoftware
这应该登录到远程软件并删除软件,但是我一直收到以下错误:
Invoke-Command : Cannot validate argument on parameter 'ScriptBlock'. The argument is null. Provide a valid value for the argument, and then try running the command again. At line:1 char:41
另外,我已经尝试了我能想到的每个组合块。
我在剧本的其他地方改变了一些东西但是有一段时间没有触及过这个。如果其他任何人都能看到这个问题,那将不胜感激。
答案 0 :(得分:0)
您的功能未从模块导入。您可以使用-Verbose
查看已导入的内容。例如:
Import-Module .\Desktop\testmodule.psm1 -Verbose
VERBOSE: Loading module from path 'C:\Users\frode\Desktop\testmodule.psm1'.
VERBOSE: Exporting function 'testModuleFunction'.
VERBOSE: Importing function 'testModuleFunction'.
如果“模块”只是一个包含少量功能的脚本文件,您可以尝试简单地将它们点源:
. 'H:\folder\folder1\Remove-Software.psm1'