> 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/powershell/fr/overview/devolutions-powershell.md).

# Devolutions PowerShell

Les produits Devolutions s'intègrent entièrement à Microsoft PowerShell, offrant de puissantes capacités de script et d'automatisation. Vous pouvez contrôler les produits Devolutions eux-mêmes et, par l'intermédiaire de Remote Desktop Manager, exécuter des scripts PowerShell dans votre environnement. Voici comment PowerShell est utilisé dans l'écosystème Devolutions.

| Intégration                                                                        | Objectif                                                                                                                                                    | Référence                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Module Devolutions.PowerShell                                                      | Ce module PowerShell est utilisé pour interagir directement avec les produits Devolutions.                                                                  | <ul><li><a href="https://www.powershellgallery.com/packages/Devolutions.PowerShell/">PowerShell Gallery</a></li></ul>                                                                                                                                                                                                                                                                                                                                                                                                       |
| Actions Remote Desktop Manager                                                     | Vous pouvez définir un script PowerShell à exécuter en tant qu'action par lot sur un ou plusieurs hôtes.                                                    | <ul><li><a href="https://docs.devolutions.net/fr/powershell/rdm-powershell/powershell-scripting/custom-powershell-commands/">Custom PowerShell commands</a></li><li><a href="https://docs.devolutions.net/fr/powershell/rdm-powershell/batch-edit-folders-custom-powershell-commands/">Batch edit with PowerShell</a></li><li><a href="https://docs.devolutions.net/fr/powershell/rdm-powershell/powershell-scripting/custom-powershell-commands/change-synchronizer-source/">Modifying a synchronizer source</a></li></ul> |
| Rapports Remote Desktop Manager                                                    | Ce type d'entrée prend en charge l'exécution d'un script PowerShell pour générer un rapport.                                                                | <ul><li><a href="https://docs.devolutions.net/fr/powershell/rdm-powershell/create-custom-field-report/">Custom PowerShell report</a></li></ul>                                                                                                                                                                                                                                                                                                                                                                              |
| Types d'entrées Remote Desktop Manager                                             | Les types d'entrées PowerShell local et PowerShell distant prennent tous deux en charge l'exécution de scripts.                                             |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Gestion des accès privilégiés (PAM) — fournisseurs et propagation de mots de passe | Dans Devolutions Server et Devolutions Cloud, PowerShell alimente les fournisseurs PAM personnalisés ainsi que les scripts de propagation de mots de passe. | <ul><li><a href="https://docs.devolutions.net/fr/pam/server/getting-started/anyidentity/create-anyidentity-pam-provider-dvls/">Devolutions Server custom PAM provider</a></li><li><a href="https://docs.devolutions.net/fr/pam/server/propagation-scripts/">Devolutions Server PAM password propagation scripts</a></li></ul>                                                                                                                                                                                               |

### Démarrage avec le module Devolutions.PowerShell

Le module Devolutions.PowerShell nécessite [PowerShell 7.4 ou une version ultérieure](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell?view=powershell-7.4) et est pris en charge sur les systèmes d'exploitation Windows, macOS et Linux.

{% hint style="warning" %}
Windows PowerShell et les versions antérieures de PowerShell 7 ne sont pas pris en charge, car le module est construit sur le même noyau que Remote Desktop Manager et requiert donc une version de PowerShell utilisant une version compatible du runtime .NET (.NET 9).
{% endhint %}

#### PowerShell Gallery (recommandé)

Le module Devolutions.PowerShell est disponible dans la [PowerShell Gallery](https://www.powershellgallery.com/packages/Devolutions.PowerShell) et constitue la méthode d'installation par défaut recommandée :

```powershell
Install-Module Devolutions.PowerShell -Force
```

Étant donné que la PowerShell Gallery est généralement un référentiel marqué comme non approuvé (les packages ne sont pas organisés ni examinés), l'utilisation de `-Force` est nécessaire pour éviter l'invite de confirmation.

#### Cloudsmith

En guise d'alternative à la PowerShell Gallery, nous proposons un [référentiel PowerShell Devolutions](https://cloudsmith.io/~devolutions/repos/powershell/packages/) hébergé par [Cloudsmith](https://cloudsmith.com/).

1. Enregistrez le référentiel PowerShell Devolutions, qui peut être marqué comme approuvé :

   ```powershell
   Register-PSRepository -Name 'Devolutions' -SourceLocation 'https://nuget.cloudsmith.io/devolutions/powershell/v2/' -InstallationPolicy Trusted
   ```
2. Désinstallez les versions précédentes du module Devolutions.PowerShell installées depuis la PowerShell Gallery :

   ```powershell
   Uninstall-Module Devolutions.PowerShell -AllVersions
   ```
3. Installez le module Devolutions.PowerShell explicitement depuis le référentiel « Devolutions » :

   ```powershell
   Install-Module Devolutions.PowerShell -Repository Devolutions
   ```
4. Confirmez que le référentiel source d'installation du module Devolutions.PowerShell est « Devolutions » et non « PSGallery » :

   ```powershell
   Get-InstalledModule Devolutions.PowerShell | Select-Object -Property Name, Repository

   Name                   Repository
   ----                   ----------
   Devolutions.PowerShell Devolutions
   ```

{% hint style="info" %}
Étant donné que le module Devolutions.PowerShell est disponible dans plusieurs référentiels enregistrés, le paramètre `-Repository` devient obligatoire. Toutefois, si vous avez marqué le référentiel « Devolutions » comme approuvé, `-Force` n'est pas nécessaire pour éviter l'invite de confirmation.
{% endhint %}

#### Hors ligne

Si vous devez installer le module Devolutions.PowerShell sur un système disposant d'un accès Internet limité ou inexistant, vous pouvez le faire en suivant ces étapes :

1. Créez un nouveau référentiel PowerShell appelé « local » dans le répertoire de votre choix ; l'exemple ci-dessous utilise `C:\PSRepo`.

   ```powershell
   $RepoPath = "C:\PSRepo"
   New-Item -Path $RepoPath -ItemType 'Directory' -Force | Out-Null
   Register-PSRepository -Name 'local' -SourceLocation $RepoPath -PublishLocation $RepoPath -InstallationPolicy Trusted
   ```
2. Téléchargez le fichier `.nupkg` du module Devolutions.PowerShell à l'aide du bouton ***Download the raw nupkg file*** sous ***Manual Download*** dans la [PowerShell Gallery](https://www.powershellgallery.com/packages/Devolutions.PowerShell). Copiez le fichier `.nupkg` dans le répertoire du référentiel PowerShell local précédemment créé.
3. Désinstallez les versions précédentes du module Devolutions.PowerShell installées depuis d'autres sources.

   ```powershell
   Uninstall-Module Devolutions.PowerShell -AllVersions
   ```
4. Installez le module Devolutions.PowerShell explicitement depuis le référentiel `local`.

   ```powershell
   Install-Module Devolutions.PowerShell -Repository local
   ```
5. Confirmez que la source d'installation du module Devolutions.PowerShell est `local`.

   ```powershell
   Get-InstalledModule Devolutions.PowerShell | Select-Object -Property Name, Repository

   Name                   Repository
   ----                   ----------
   Devolutions.PowerShell local
   ```

{% hint style="info" %}
Un répertoire situé sur un partage réseau peut également être utilisé à la place d'un répertoire local, ce qui facilite la distribution du module PowerShell sur un réseau local.
{% endhint %}

### Exemples

Pour démarrer rapidement avec quelques exemples courants du module Devolutions.PowerShell, consultez la suite ci-dessous.

#### Remote Desktop Manager

```powershell
# [Import module]
Import-Module Devolutions.PowerShell

# [Load workspace] Example for a local workspace (SQLite) or SQL Server
$DatasourceLocal = Get-RDMDataSource -Name "Local workspace"; Set-RDMCurrentDataSource $DatasourceLocal

$DatasourceSQL = Get-RDMDataSource -Name "SQL Server"; Set-RDMCurrentDataSource $DatasourceSQL

# [Create vault] Only the SQL Server workspace supports vaults (as do Devolutions Server and Devolutions Cloud)
$Vault = New-RDMRepository -Name 'MyVault' -Description 'My vault description' -SetRepository | Set-RDMCurrentRepository | Update-RDMUI

# [Retrieve vault]
Get-RDMRepository -Name 'MyVault'

# [Create entry] Example to create an RDP and Credential entry
$Entry = New-RDMSession -Host 'MyHost' -Type RDPConfigured -Name 'MyHost'; Set-RDMSession -Session $Entry -Refresh; Update-RDMUI

$Entry = New-RDMSession -Name 'MyCredential' -Type Credential; $Entry.Credentials.Username = 'Administrator'; Set-RDMSession $Entry -Refresh; Set-RDMSessionPassword -ID $Entry.ID -Password (ConvertTo-SecureString 'Test123$' -AsPlainText -Force)

# [Retrieve entries]
Get-RDMSession -GroupName 'MyFolder' -Name 'MyHost'

# [Update entry]
$Entry = Get-RDMSession -Name 'MyHost'; $Entry.Name = 'MyUpdatedHost'; Set-RDMSEssion $Entry | Update-RDMUI

# [Export entries]
$Entries = Get-RDMSession; $Entries | Select-Object * | Export-CSV 'C:\Export\FileName.csv' -NoTypeInformation

# [Remove entry]
Get-RDMSession -Name 'MyUpdatedHost' | Remove-RDMSession; Update-RDMUI
```

#### Devolutions Server

```powershell
# [Import module]
Import-Module Devolutions.PowerShell

# [Load workspace]
New-DSSession -Credential (Get-Credential) -BaseURI 'https://MyServer/devolutions-server/'

# [Create vault]
$Vault = New-DSVault -Name 'MyVault' -Description 'My vault description'

# [Retrieve vault]
Get-DSVault -All | Where-Object DisplayName -EQ 'MyVault'

# [Create entry]
New-DSRDPEntry -Name 'MyHost' -HostName 'MyHost' -Username 'Administrator' -Password 'Test123$' -Domain 'MyDomain' -VaultID 'VaultGUID'

New-DSCredentialEntry -Name 'MyCredential' -Username 'Administrator' -Password 'Test123$' -Domain 'MyDomain' -VaultID 'VaultGUID'

# [Retrieve entries]
Get-DSEntry -FilterBy 'Name' -FilterMatch 'StartsWith' -FilterValue 'MyHost' -SearchAllVaults

# [Update entry]
$Entry = Get-DSEntry -EntryId 'EntryGUID'; $Entry.Name = 'MyUpdatedHost'; Update-DSEntryBase -JsonBody (ConvertTo-JSON -InputObject $Entry -Depth 10)

# [Export entries]
$Entries = Get-DSEntry -SearchAllVaults; $Entries | Select-Object * | Export-CSV 'C:\Export\FileName.csv' -NoTypeInformation

# [Remove entry]
Remove-DSEntry -EntryID 'EntryGUID'
```

#### Devolutions Cloud

```powershell
# [Import module]
Import-Module Devolutions.PowerShell

# [Load workspace]
Connect-HubAccount -Url 'https://mycloud.devolutions.app' -ApplicationKey 'ApplicationKey' -ApplicationSecret 'ApplicationSecret'

# [Create vault]
$Vault = New-HubVault -VaultName 'MyVault' -VaultDescription 'My vault description'

# [Retrieve vault]
Get-HubVault

# [Create entry]
$Entry = [Devolutions.Hub.PowerShell.Entities.Hub.PSDecryptedEntry]@{
    PsMetadata = [Devolutions.Hub.PowerShell.Entities.Hub.PSEntryMetadata]@{
        Name = 'MyHost'
        ConnectionType = [Devolutions.RemoteDesktopManager.ConnectionType]::Credential
    }
    Connection = [Devolutions.RemoteDesktopManager.Business.Connection]@{
        Credentials = [Devolutions.RemoteDesktopManager.Business.CredentialsConnection]@{
            CredentialType = [Devolutions.RemoteDesktopManager.CredentialResolverConnectionType]::Default
            UserName = 'Administrator'
            Password = 'Test123$'
        }
    }
}

New-HubEntry -VaultId 'VaultGUID' -PSDecryptedEntry $Entry

# [Retrieve entries]
Get-HubEntry -VaultId 'VaultGUID' | Where-Object { $PSItem.PSMetaData.Name -EQ 'MyHost' }

# [Update entry]
$Entry = Get-HubEntry -VaultId 'VaultGUID' -EntryId 'EntryGUID'; $Entry.PsMetadata.Name = 'MyUpdatedHost'; Set-HubEntry -VaultId 'VaultGUID' -EntryId $Entry.Entry.ID.Guid -PSDecryptedEntry $Entry

# [Export entries]
$Entries = Get-HubEntry -VaultId 'VaultGUID'; $Entries | Select-Object * | Export-CSV 'C:\Export\FileName.csv' -NoTypeInformation

# [Remove entry]
Remove-HubEntry -VaultId 'VaultGUID' -EntryId 'EntryGUID'
```

### Désinstallation du module Devolutions.PowerShell

Désinstallez toutes les versions du module Devolutions.PowerShell :

```powershell
Uninstall-Module Devolutions.PowerShell -AllVersions
```

Si le module est installé via Cloudsmith, vous pouvez annuler l'enregistrement du référentiel « Devolutions » de la façon suivante :

```powershell
Unregister-PSRepository Devolutions
```

Enfin, si vous avez installé le module hors ligne, vous pouvez annuler l'enregistrement du référentiel basé sur des fichiers « local » et supprimer le répertoire associé (votre nom de répertoire peut être différent) :

```powershell
Unregister-PSRepository local
Remove-Item "C:\PSRepo" -Recurse -ErrorAction SilentlyContinue
```


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.devolutions.net/powershell/fr/overview/devolutions-powershell.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
