Invoke-RestMethod из нескольких URL-адресов из текстового файла

Нужна помощь с PowerShell скриптом с Invoke-RestMethod через несколько ссылок из текстового файла:

Чего у меня нет и работает для одного сайта:

$username = 'username'
$password = 'password'
$accept = 'application/xml'
$uri = 'https://example.com/ping/id/31'
$headers = @{
    "Accept"=$accept
}
$secpwd = ConvertTo-SecureString $password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential($username, $secpwd)
Invoke-RestMethod -Method Post -Uri $uri -Headers $headers -Credential $credential

Однако нужно сделать это для нескольких ссылок. Любые предложения, как это сделать?

1 ответ

Решение

Предполагая, что вы хотите использовать одно и то же имя пользователя и пароль для каждого URL-адреса, попробуйте что-то вроде этого:

$username = 'username'
$password = 'password'
$accept = 'application/xml'
$headers = @{
    "Accept"=$accept
}
$secpwd = ConvertTo-SecureString $password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential($username, $secpwd)
Get-Content .\file_with_one_url_per_line | ForEach-Object { Invoke-RestMethod -Method Post -Uri $_ -Headers $headers -Credential $credential }

Командлет ForEach-Object будет делать все, что указано в блоке кода, для каждой строки файла, заменяя $_ с линией.

Другие вопросы по тегам