IT pros disagree on many (and I mean MANY) things. But many — if not all — of us agree that when it comes to automating various tasks and workflows, PowerShell is frequently useful and occasionally amazing. And hey, if it makes our non-IT colleagues think we are powerful wizards with secret powers, who are we to argue?
In this article, we dive into some of the different ways that you can use Remote Desktop Manager (RDM) to interact with PowerShell, such as different entry types, events, and the great PowerShell module!
Session and Macro/Script/Tool
RDM supports the following PowerShell entry types:
- PowerShell Session and PowerShell Remote Console Session, which open independent sessions.
- PowerShell (Local) Macro/Script/Tool and PowerShell (Remote) Macro/Script/Tool, which run on existing entries in RDM.
RDM’s variables can be used in the script or parameters to inject the entry’s values. Let us take a closer look at these entry type options.
PowerShell Session
The PowerShell entry type executes a script, command line, or file containing a PowerShell script. It opens a PowerShell window and integrates itself with RDM. You can call up an external script, or integrate a script into the session. This session type executes locally on the machine of the user who launches it.
PowerShell Remote Console Session
The PowerShell Remote Console entry type enables you to open the PowerShell console of a remote machine via PSRemoting. This allows you to run commands on the machine directly. Also, note that this entry type requires WinRM to be correctly configured.
PowerShell (Local) Macro/Script/Tool
The PowerShell (Local) Macro/Script/Tool entry type enables you to execute commands and PowerShell scripts on the machine where RDM is installed. This entry type inherits the parameters of an existing session, such as an RDP entry.
PowerShell (Remote) Macro/Script/Tool
The PowerShell (Remote) Macro/Script/Tool entry type allows you to execute commands or PowerShell scripts on a remote machine. Similar to the local configuration discussed a moment ago, this entry type inherits the parameters of an existing session. Note that WinRM must be configured appropriately, and PSRemoting must be possible between the machine where RDM is installed and the remote host.
Custom Credentials and Reports
For Custom Credential and Custom Field Report entries, you can use PowerShell to obtain a remote system’s identifier (such as LAPS), or create custom reports with the Custom Report entry. RDM’s variables can be used in these two entry types to retrieve the various parameters added to the entry.
Custom Credential
The Custom Credential entry type enables either a PowerShell script that is stored in the entry or an external script to be executed to retrieve a credential from an external system or file.
Custom Field Report
The Custom Field Report entry type enables the creation of custom reports by using PowerShell to retrieve entry data stored in the same vault.
Events
RDM gives you the option of automatically executing operations before or after a connection is established, or when a connection is terminated. For example, you can use PowerShell to execute other operations. You can also call up a Macro/Script/Tool (Local) or (Remote) PowerShell entry from an Event. Just as RDM variables can be used in a script or a Macro/Script/Tool entry to inject different input values.
You can use PowerShell to temporarily modify an entry’s parameters in the Before Open section. Plus, you can use PowerShell’s external functions by using the Import-Module command (for example, to retrieve a ticket number from an external system).
Edit (Special Actions) - Custom PowerShell Command
Another effective way to use PowerShell in RDM is through the Edit (Special Actions) - Customer PowerShell Command feature. We list some common use cases for this feature in our Batch Actions Samples page.
Devolutions.PowerShell Module
Finally, for more advanced RDM users, the Devolutions.PowerShell module enables interaction with RDM’s objects, but without having to install the application. It is even possible to interact directly with Devolutions Server or Devolutions Hub data sources. For more information, please visit our Devolutions.PowerShell core module page.
All Hail PowerShell!
PowerShell isn’t the magic wand that some non-IT pros think it is (but as I mentioned earlier, there is no need to shatter their awe and admiration, right?).
However, I think most — or maybe all — of us here can agree that PowerShell has made our job in the IT world much simpler and more efficient. No, it’s not a magic wand… but it’s pretty close!
Have Your Say
Are you using PowerShell in RDM to automate tasks and workflows? Please share your experiences by commenting below.
We also invite you to send us your feedback and suggestions on how you want us to integrate PowerShell into RDM (and our other products). We are always listening to you, and will use your input to make additions and improvements.