1. ホーム
  2. powershell

[解決済み] PowerShell の Invoke-RestMethod で curl -u (基本認証) に相当するもの。

2023-07-20 18:07:58

質問

に相当するものは何ですか?

curl -u username:password ...

をPowerShellの Invoke-RestMethod ? これを試してみました。

$securePwd = ConvertTo-SecureString "password" -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential ($username, $securePwd)

Invoke-RestMethod -Credential $credential ...

が、401, Unauthorized を返します。

どうすればよいですか?

今のところ、この方法しかありません。

$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username,$password)))

Invoke-RestMethod -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} ...

しかし、もっと良い方法がないとは思いません。