> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/rdm/it/knowledge-base/troubleshooting-articles/test-secret-server-access-with-a-powershell-script.md).

# Testare l'accesso a Secret Server con uno script PowerShell

Usi uno script PowerShell per testare la connettività del client all'API REST di Delinea Secret Server e confermare che le ricerche dei segreti funzionano al di fuori di Remote Desktop Manager.

Quando una voce ***Delinea Secret Server*** non riesce ad autenticarsi o non restituisce alcun segreto, testare la connessione al di fuori di Remote Desktop Manager mostra se il problema proviene dalla postazione di lavoro, dalla rete o dall'account Secret Server. Remote Desktop Manager comunica con Secret Server tramite la sua API REST: richiede un token OAuth2 da `<Secret Server URL>/oauth2/token`, quindi interroga `<Secret Server URL>/api/v1/secrets`. Lo script PowerShell seguente esegue le stesse due chiamate.

1. Salvi il codice seguente in un file chiamato `searchsecret.ps1`.
2. Sostituisca i valori di `$url`, `$username`, `$password` e `$domain` con l'URL e le credenziali del suo Secret Server.
3. Sostituisca il valore di `$searchterm` con il nome, o parte del nome, di un segreto a cui può accedere.
4. Esegua lo script dalla postazione di lavoro in cui è installato Remote Desktop Manager.

```powershell
$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
}
```

Se lo script si autentica e restituisce i suoi segreti, la postazione di lavoro può raggiungere Secret Server e il problema è nella configurazione della voce in Remote Desktop Manager. Se lo script non riesce, il messaggio di errore indica il problema di rete, di certificato o di account da risolvere sul lato di Secret Server.

{% hint style="info" %}
Se il suo account Secret Server richiede l'autenticazione a due fattori, la richiesta del token non riesce a meno che non aggiunga il codice monouso in un'intestazione `OTP`, come fa Remote Desktop Manager.
{% endhint %}

### Vedere anche

* [Impostazioni della voce Delinea Secret Server](/rdm/it/knowledge-base/knowledge-base-articles/delinea-secret-server-entry-settings.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.devolutions.net/rdm/it/knowledge-base/troubleshooting-articles/test-secret-server-access-with-a-powershell-script.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
