调用包含variables的webrequest-body

早晨人们的计算器,

我有一个问题,谷歌不能帮我解决。

我们有一个使用下面的代码进行身份validation的API:

$DeviceNumber = Read-Host "Enter device number" $URL= "https://URL.diskspace.website.com/v1/" $pass = 'password123' $postParam = '{"password":"$pass"}' $AuthToken = "" #Log in to the URL $IWRLogin = Invoke-WebRequest -Method Post -Uri $URL/login/$env:username -ContentType application/json -Body $postParam 

这将返回一个validation码,然后在使用API​​时进行parsing。

但是,上述不起作用。 为了这个工作,我需要我的密码硬编码,如下所示:

 $postParam = '{"password":"password123"}' 

理想情况下,我想让用户input密码,将其存储并在调用webrequest的主体中使用。 事实上,我想使用PowerShell的获取凭证function,因为这将encryption密码总是好的。

请帮我出去:)

PS。 variables是随机的,以隐藏敏感信息,如果没有意义,那就是为什么..

 $pass = 'password123' $postParam = @{ "password" = "$pass" } $json = ConvertTo-Json $postParam 

在Invoke-WebRequest调用中使用$ json变量。