调用包含变量

时间:2015-09-29 06:52:15

标签: windows variables powershell

早上的stackoverflow人,

我有一个谷歌无法帮助我解决的问题。

我们使用以下代码验证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

这将返回一个身份验证代码,然后在使用API​​时对其进行解析。

但是,上述方法无效。为此,我需要对我的密码进行硬编码,如下所示:

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

理想情况下,我想让用户输入他们的密码,将其存储并在调用webrequest的主体中使用。事实上,我想使用powershell的get-credentials功能,因为这将加密始终良好的密码。

请帮帮我们:))

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

1 个答案:

答案 0 :(得分:2)

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

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