Я получаю пароль CLI для технического углерода на конечной точке. У меня есть фрагмент, который извлекает пароль с сервера и помещает его в переменную.
Мне нужно передать эту переменную, содержащую пароль, команде позже, однако она не проходит правильно (команда не имеет значения).
Я жестко закодировал переменную с фактическим значением из системы и запустил ее в свою команду, и она отлично работает.
Таким образом, в двух словах извлеченный пароль из фрагмента сервера не равен жестко закодированной переменной, но выглядит одинаково и является строкой.
Какие-нибудь советы о том, как преобразовать извлеченный пароль в правильный формат?
Я проверил gettype (). Fullname и они оба имеют одинаковый формат.
$resource = "SEOMRESORUCE" + $Computer
$url = "SOMEEML SOURCE"
$configlist = "C:\Temp\configlistwithdeleteditems.xml"
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
# download the CL file
Write-Host "Finding CLI Password"
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($url, $configlist)
$webResponsey = [System.Net.WebRequest]::Create($resource)
$webResponsey.Method = "GET"
$webResponsey.ContentType='application/json; charset=utf-8'
$webResponsey.Headers.Add("X-Auth-Token", "SOMETOKEN")
$Response= $webResponsey.GetResponse()
$ResponseStream = $Response.GetResponseStream()
$ReadStream = New-Object System.IO.StreamReader $ResponseStream
$jsonresult = $ReadStream.ReadToEnd()
$saveme = $jsonresult | Out-String
$cliPassword = $saveme -replace '.*CLIPassword":"([^"]*)".*', '$1'
Write-Host "CLI password is " $cliPassword #this provides the same value as $clipassword2
$cliPassword2 = 'TAWR-SOWR-POYS-YAEZ'
$cliPassword -eq $cliPassword2 #this equals False for whatever reason