我有2个Powershell脚本
script1.ps1
包含对Vault的REST调用,该调用会返回包含一些键/值的json响应。
Function getValues($token) {
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("X-Vault-Token", $token)
$response = Invoke-RestMethod -method GET -uri "https://vault.com:8243/v1/secret/vault/development" -ContentType 'application/json' -headers $headers
$response.data| ConvertTo-Json -depth 100
}
getValues $token
如您所见,该方法需要一个$token
。
我将该令牌保存在系统变量中。
现在,我在script1
中调用script2
来获取这样的键/值:
$resp = & ".\script1.ps1" | convertfrom-json
效果很好,我可以根据需要获得价值。
但是,我正在测试将来是否有错误,例如通过从系统变量中删除令牌来进行。
此$resp
返回:
errors
------
{missing client token}
太好了。现在,我想退出该脚本。
我尝试过这样的检查:
if($resp.tostring().contains("error"))
{
write-output "error!"
exit 1
}
但它从未退出过,也没有返回输出错误!
在这种情况下,我应该如何寻找比赛?