Я пытаюсь написать сценарий powershell, который будет загружать исполняемый файл с указанного URL-адреса (передается как параметр во время вызова сценария)
Код у меня есть:
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 разрешать путь к файлу, если я использую переменную, независимо от если он генерируется параметром.
$cwdl
имеет правильное содержимое внутри блока сценария? Попробуйте добавить к переменной префикс$script:
. - person Alex_P   schedule 08.03.2020$script:
, а$using:
, учитывая, что блок скрипта выполняется в фоновом задании - см. этот ответ. - person mklement0   schedule 09.03.2020