Я новичок в PowerShell, Thycotic Secret Server и в написании API. Мне было поручено написать API для удаленного доступа к Thycotic Secret Server и загрузить секрет вместе с прикрепленными файлами. К сожалению, я не получил стартовый блок. Я следую за кодом здесь:
https://thycotic.force.com/support/s/article/REST-API-PowerShell-Scripts-Getting-Started
Я скопировал:
3 - В поисках секретов
4 - Создать секрет и
Get-Token отсюда:
https://thycotic.force.com/support/s/article/Secret-Server-Trial-Using-the-API
и создали функции для каждого. Единственные изменения, которые я сделал, - это изменить myurl, myusername и mypassword.
Это мой сценарий PowerShell:
$myUrl = "mysecretserver/Login.aspx?ReturnUrl=%2f"
$application = "https://mysecretserver/Login.aspx?ReturnUrl=%2fsecretserver"
# Ask for user name
$userName = Read-Host -Prompt "Please enter user name"
$userPassword = Read-Host -AsSecureString "Password"
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
Get-Token
Search-Secrets $userName,$userPassword
Create-Secret $userName,$userPassword
Когда я запускаю Get-Token (в загруженный код не вносятся изменения)
function Get-Token
{
[CmdletBinding()]
Param(
[Switch] $UseTwoFactor
)
$creds = @{
username = $userName
password = $userPassword
grant_type = "password"
};
$headers = $null
If ($UseTwoFactor) {
$headers = @{
"OTP" = (Read-Host -Prompt "Enter your OTP for 2FA (displayed in your 2FA app): ")
}
}
try
{
$response = Invoke-RestMethod "$application/oauth2/token" -Method Post -Body $creds -Headers $headers;
$token = $response.access_token;
return $token;
}
catch
{
$result = $_.Exception.Response.GetResponseStream();
$reader = New-Object System.IO.StreamReader($result);
$reader.BaseStream.Position = 0;
$reader.DiscardBufferedData();
$responseBody = $reader.ReadToEnd() | ConvertFrom-Json
Write-Host "ERROR: $($responseBody.error)"
return;
}
}
Кажется, все работает нормально, но когда я отображаю токен $, он пуст.
Я не уверен на 100%, что это делает, и посмотрел множество примеров, но, похоже, не хватает основных шагов для чтения токена и использования его для доступа к секретному серверу. Любая помощь будет принята с благодарностью.