powershell身份验证到Bamboo错误

时间:2016-12-12 11:13:04

标签: powershell authentication bamboo

我在更新发布标签时遇到问题,以显示它是否已损坏或已批准等等。我通过邮递员工作,所以我知道问题不是通过那个问题。我正在使用基本身份验证,输入我的用户名和密码,并尝试使用它们访问uri详细信息,但对于powershell,它无法正常工作。它适用于Postman,所以它不是凭据。这就是我在做的事情:

$user = Read-Host -Prompt "Enter Bamboo Username"
$pass =  Read-Host -Prompt "Enter password" -AsSecureString
$secpass = ConvertTo-SecureString $user -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential($pass,$secpass)

$baseuri = "http://bamboo.uk.myNetwork.net/rest/api/latest/deploy/version/VersionNumber/status/Approved"

$Headers = @{
'X-Atlassian-Token' = 'nochecK'
};

$json = "application/json"
Invoke-RestMethod -Uri $baseuri -Method Post -Credential $credential -Headers $Headers -ContentType $json 

这不起作用,我得到401client必须通过身份验证才能访问此资源。我还尝试了以下所有方法来验证用户,但没有一个工作:

<#
$encoded = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($user+":"+$pass))
$EncodedUsernamePassword = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($('{0}:{1}' -f $Credential.UserName, $Credential.GetNetworkCredential().Password)))
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"
#>

邮递员返回以下详细信息:

{
  "id": theID,
  "userName": "myUserName",
  "displayName": "myName",
  "creationDate": 1481536833693,
  "versionState": "APPROVED"
}

这表明uri具有基本身份验证并添加了X-Atlassian-Token:nocheck,但对于powershell,我收到身份验证错误,为什么会这样?

1 个答案:

答案 0 :(得分:0)

问题是当我使用密码作为SecureString类型时,当我更改它只是一个它可以工作的字符串时,所以所有这些方式,包括一个Hackerman链接工作时使用没有SecureString类型的凭证。

相关问题