@kalakosha

Powershell. Как правильно подставить значение переменной в URl адресс?

Доброго времени суток!
Задача заключается в следующем: необходимо получить прямую ссылку на скачивание файла.
На данный момент актуальный url адресс по которому происходит скачивание файла
tenable.com/downloads/api/v1/public/pages/nessus-agents/downloads/17065/download?i_agree_to_tenable_license_agreement=true"

где 17065- это id файла.
Естественно, при появлении новых версий - новые id.
Хочу получить переменную $source вида
tenable.com/downloads/api/v1/public/pages/nessus-agents/downloads/idf/download?i_agree_to_tenable_license_agreement=true

В переменную $idf хочу заносить актуальный id файла.
Id файла узнаю следующим образом:
$idf=(Invoke-WebRequest -Uri "https://www.tenable.com/downloads/api/v1/public/pages/nessus-agents" | ConvertFrom-Json).downloads | Where-Object name -like 'NessusAgent-??.*-x64.msi' | Select-Object id

В ответ получаю id
62f4eee443952069517832.png
Не могу разобраться, как мне подставить числовое значение переменной $idf в url адресс.
Если указываю
$source = "tenable.com/downloads/api/v1/public/pages/nessus-agents/downloads/$idf/download?i_agree_to_tenable_license_agreement=true"
,
то в ответ получаю ...nessus-agents/downloads/@{id=17065}/download?...
Буду рад за любую помощь.
Заранее спасибо!
  • Вопрос задан
  • 241 просмотр
Решения вопроса 1
@BeatHazard
После получения значения в переменную $idf сделайте так:
$idf = $idf.id
после этого $idf подставляйте в ссылку, будет отображаться корректно.
или можно в ссылку вместо $idf вставить такую конструкцию:
$($idf.id)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@MaxKozlov Куратор тега PowerShell
Можно просто вместо Select-Object id сделать Select-Object -ExpandProperty id
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы