For the complete documentation index, see llms.txt. This page is also available as Markdown.

Tester l'accès à Secret Server avec un script PowerShell

Lorsqu'une entrée Delinea Secret Server ne peut pas s'authentifier ou ne retourne aucun secret, tester la connexion en dehors de Remote Desktop Manager montre si le problème vient du poste de travail, du réseau ou du compte Secret Server. Remote Desktop Manager communique avec Secret Server par son API REST : il demande un jeton OAuth2 à <Secret Server URL>/oauth2/token, puis interroge <Secret Server URL>/api/v1/secrets. Le script PowerShell suivant effectue les deux mêmes appels.

  1. Enregistrez le code ci-dessous dans un fichier nommé searchsecret.ps1.

  2. Remplacez les valeurs de $url, $username, $password et $domain par l'URL et les identifiants de votre Secret Server.

  3. Remplacez la valeur de $searchterm par le nom, ou une partie du nom, d'un secret auquel vous avez accès.

  4. Exécutez le script depuis le poste de travail où Remote Desktop Manager est installé.

$url = 'https://mysecretserver/SecretServer'
$username = 'myusername'
$password = 'mypassword'
$domain = 'mydomain'   # leave blank for local users

$searchterm = 'VPN'

# Request an OAuth2 token with the username and password.
$loginName = if ($domain) { "$domain\$username" } else { $username }
$body = @{
    username   = $loginName
    password   = $password
    grant_type = 'password'
}

try {
    $token = (Invoke-RestMethod -Method Post -Uri "$url/oauth2/token" -Body $body -ContentType 'application/x-www-form-urlencoded').access_token
}
catch {
    Write-Host 'Authentication failed:' $_.Exception.Message
    exit
}

# Search secrets with the search term, authenticating with the token.
Write-Host 'Searching for:' $searchterm
$headers = @{ Authorization = "Bearer $token" }
$query = 'filter.searchText=' + [uri]::EscapeDataString($searchterm)

try {
    $result = Invoke-RestMethod -Method Get -Uri "$url/api/v1/secrets?$query" -Headers $headers
    Write-Host 'Got search results:' $result.records.Count
    $result.records | ForEach-Object { Write-Host 'SecretId:' $_.id '  Name:' $_.name '  FolderId:' $_.folderId }
}
catch {
    Write-Host 'Search failed:' $_.Exception.Message
}

Si le script s'authentifie et retourne vos secrets, le poste de travail peut joindre Secret Server, et le problème se trouve dans la configuration de l'entrée dans Remote Desktop Manager. Si le script échoue, le message d'erreur indique le problème de réseau, de certificat ou de compte à résoudre du côté de Secret Server.

Si votre compte Secret Server exige une authentification à deux facteurs, la demande de jeton échoue, à moins que vous n'ajoutiez le code à usage unique dans un en-tête OTP, comme le fait Remote Desktop Manager.

Voir aussi

Mis à jour

Ce contenu vous a-t-il été utile ?