使用Powershell在AutoIt中编写WSUS程序时出现问题



我是WSUS、Powershell和AutoIt的新手。我正在编写一个程序,只需点击几次即可批准多个更新(而不是每次更新和分组点击5次)。因此,我有一个Powershell脚本,可以搜索所有的计算机组和可用的更新。

脚本本身正在工作,我只是在AutoIt中调用它们时遇到了问题(正如我已经发现的,我必须导入模块UpdateServices,但我无法使其工作)。

这是我的AutoIt程序的一部分:

$sComSend = '-ExecutionPolicy ByPass import-module UpdateServices; ' & $sScript & 'Search_Updates.ps1 -FilePath ' & $sUpdateOutput
ShellExecuteWait("powershell.exe", $sComSend)

但这行不通。另一个尝试是:

$sComSend = 'powershell.exe import-module UpdateServices; "-ExecutionPolicy ByPass ' & $sScript & 'Search_Updates.ps1 -FilePath ' & $sUpdateOutput & '"'
RunWait(@ComSpec & " /c " & $sComSend, "", @SW_SHOW , $stdout_child)

但这也没有奏效。老实说,在第二个例子中,我甚至不知道这些参数到底是什么意思。有人看到我的错误了吗?

谢谢:-)

我建议它保持简单。

创建一个名为"myStuff.ps1"的新powershell文件,并在其中放入:

param([string]$FilePath)
Import-Module UpdateServices
Write-Host "FilePath = $FilePath"

完成后,只需调用它:

$fileLocation = "C:myAbsolutePathmyStuff.ps1"
$arguments = '-FilePath "C:Testing one two three"'
$commandLine = '-WindowStyle Normal -NoExit -NoLogo -NoProfile -Command & "' & $fileLocation & '" ' & $arguments
Run($commandLine, @SystemDir, @SW_SHOW , $stdout_child)

相关内容

  • 没有找到相关文章

最新更新