0

我正在尝试编写一个powershell脚本,该脚本将从指定的URL下载exe(在调用脚本时作为参数传递)

我的代码:

Param(
[Parameter(Mandatory=$true,
ValueFromPipeline=$true)]
[String]
$cwdl
)

Start-Job -Name WebReq -ScriptBlock { Invoke-WebRequest $cwdl -OutFile "C:\MYFILEPATH\cw.exe" }
Wait-Job -Name WebReq

如果我将 $cwdl 替换为“mypathtoexefile”,那么它可以工作。但是对于 $cwdl 变量,它什么也不做。我什至尝试将 $cwdl 静态设置为 $cwdl = 'mypathtoexefile' 和 $cwdl = "mypathtoexefile" 但我没有尝试过在我使用变量时允许 Invoke-WebRequest 解析文件路径,无论如果它是由参数生成的。

4

1 回答 1

0

示例 8:将输入传递给后台作业 此示例使用 $input 自动变量来处理输入对象。使用 Receive-Job 查看作业的输出。电源外壳

复制 Start-Job -ScriptBlock { Get-Content $input } -InputObject "C:\Servers.txt" Receive-Job -Name Job45 -Keep

Server01 Server02 Server03 Server04 Start-Job 使用 ScriptBlock 参数运行带有 $input 自动变量的 Get-Content。$input 变量从 InputObject 参数中获取对象。Receive-Job 使用 Name 参数指定作业并输出结果。Keep 参数保存作业输出,以便在 PowerShell 会话期间再次查看。

于 2020-03-08T20:44:47.317 回答