Les professionnels des TI se prennent le bec sur bien des sujets. Toutefois, la majorité — si ce n’est la totalité — d’entre eux s’accordent sur l’utilité, voire l’excellence, de PowerShell lorsqu’il s’agit d’automatiser des tâches et des flux de travail. Et entre nous… le fait de passer pour des faiseurs de miracles aux yeux de nos collègues ne justifie-t-il pas à lui seul l’utilisation de cet outil?
Au terme de ce court article, vous saurez comment utiliser Remote Desktop Manager (RDM) pour interagir avec PowerShell. Vous y apprendrez une foule d’informations à propos des événements, du module PowerShell et de plusieurs types d’entrées.
Les types d’entrées PowerShell
RDM prend en charge les entrées PowerShell suivantes :
- Les entrées de type « Session » (PowerShell ou Console à distance PowerShell), qui servent à lancer des sessions indépendantes;
- Les entrées de type « Outil/Macro/Script » (Local ou Distant), qui s’exécutent sur des entrées existantes de RDM.
À noter que les variables de RDM peuvent être utilisées dans le script ou les paramètres pour injecter les différentes valeurs de ces entrées.
Les entrées « PowerShell »
Les entrées « PowerShell » permettent d’exécuter un script, une ligne de commande ou un fichier contenant un script PowerShell. Leur fonctionnement est simple : elles ouvrent une fenêtre PowerShell et s’intègrent à RDM comme toutes les autres entrées de type « session ». Il est également possible d’y intégrer un script ou d’appeler un script externe. Il s’agit de sessions locales, c.-à-d. qu’elles se lancent sur la machine où est installé RDM.
Les entrées « Console à distance PowerShell »
Les entrées « Console à distance PowerShell » permettent d’ouvrir une console PowerShell sur un appareil distant en PSRemoting et d’y exécuter des commandes. Important : Ce type d’entrée nécessite une configuration particulière de WinRM et la prise en charge de PSRemoting par l’appareil sur lequel RDM est installé et par l’hôte distant.
Les entrées « PowerShell (Local) (Outil/Macro/Script) »
Les entrées « PowerShell (Local) (Outil/Macro/Script) » permettent d’exécuter des commandes ou des scripts PowerShell sur l’appareil où RDM est installé. À noter que ces entrées héritent des paramètres d’entrées existantes (ex. : une entrée RDP).
PowerShell (Remote) Macro/Script/Tool
Les entrées « PowerShell (Distant) (Outil/Macro/Script) » permettent d’exécuter des commandes ou des scripts PowerShell sur un appareil distant. Tout comme leur homologue « (Local) » détaillé plus haut, elles héritent des paramètres d’entrées existantes. Important : Ce type d’entrée nécessite une configuration particulière de WinRM et la prise en charge de PSRemoting par l’appareil sur lequel RDM est installé et par l’hôte distant.
Les entrées « Personnalisé (Identifiants) » et « Rapport des champs personnalisés »>
Dans le cas des entrées de types « Personnalisé (Identifiants) » et « Rapport des champs personnalisés », PowerShell peut être utilisé pour obtenir l’identifiant d’un système externe (ex. : LAPS) ou pour générer des rapports de champs personnalisés. Les variables de RDM peuvent être utilisées afin de récupérer les différents paramètres de ces deux types d’entrées.
Entrée « Personnalisé (Identifiants) »
L’entrée de type « Personnalisé (Identifiants) » permet d’exécuter un script PowerShell enregistré dans l’entrée ou un script externe afin de récupérer un identifiant depuis un système externe ou un fichier.
Les entrées « Rapport des champs personnalisés »
Les entrées « [Rapport des champs personnalisés}(https://docs.devolutions.net/kb/devolutions-powershell/remote-desktop-manager/create-custom-field-report/) » permettent de générer de rapports personnalisés en utilisant PowerShell pour récupérer des données d’autres entrées contenues dans le même coffre.
Événements
Remote Desktop Manager permet d’exécuter automatiquement des opérations avant ou après l’établissement ou la fin d’une connexion (ex. : l’exécution d’autres opérations PowerShell). De plus, une entrée PowerShell (Outil/Macro/Script) (Local) ou (Distant) peut être appelée depuis un Événement. Aussi, les variables RDM peuvent être utilisées dans le script ou les entrées « Outil/Macro/Script » pour injecter toutes sortes de valeurs.
Les paramètres de l’entrée sont temporairement modifiables avant son ouverture dans l’onglet « Avant l’ouverture ». Il est même possible d’utiliser des fonctions externes de PowerShell à l’aide de la commande Import-Module (ex. : pour obtenir un numéro de billet d’un système externe).
L’option « Modifier (Actions spéciales) - Commande PowerShell personnalisée »
La fonctionnalité Modifier (Actions spéciales) - Commandes PowerShell personnalisée permet elle aussi d’utiliser PowerShell dans RDM. Pour des exemples concrets, consultez la page que voici : Exemples d’actions par lot.
Le module Devolutions.PowerShell
Les utilisateurs chevronnés de RDM peuvent se servir du module Devolutions.PowerShell pour interagir avec les objets RDM sans avoir à installer l’application. Ils ont aussi la possibilité d’interagir directement avec les sources de données DVLS ou Hub. Pour plus d’informations à ce sujet, consultez la page suivante : Mode de base Devolutions.PowerShell.
Il faut rendre à PowerShell ce qui appartient à PowerShell
PowerShell n’est certes pas la solution miracle que s’imaginent nos collègues (à quoi bon briser leurs illusions?). En revanche, la plupart chez Devolutions estiment que PowerShell représente aujourd’hui un incontournable pour les professionnels des TI. Panacée? Pas tout à fait. Outil précieux? Sans aucun doute.
Votre grain de sel
Vous servez-vous de PowerShell dans RDM pour automatiser votre flux de travail? Le cas échéant, veuillez nous faire part de vos commentaires : Devolutions prend ce sujet très au sérieux.
Nous vous invitons également à partager vos impressions ainsi que vos suggestions concernant l’intégration de RDM et de PowerShell (ou d’autres produits). Comme vous le savez, nous sommes toujours à votre écoute et attendons impatiemment vos retours pour améliorer nos solutions.