Concept

The PowerShell Extensions for Ivanti DSM are implemented as a so called "Windows PowerShell Snap-In" or a "Windows PowerShell Module" respectively. A PowerShell Snap-In or Module extends the functionality of the Windows PowerShell with new commands (called "cmdlets" in the PowerShell world),  new functions, new properties, new ways to access data sources, etc. With the PowerShell Extensions for Ivanti DSM we provide you a facility to access and to manipulate existing data  and to create new data in your DSM 2019.1 environment using the PowerShell console or a PowerShell script.


The whole purpose of the PowerShell Extensions is to release you - the DSM administrator - from routine workloads and enable you to automate and streamline administrative tasks.


Now you might argue that one can reach such objectives by exploiting the build-in SOAP interface, too. That is correct and indeed the PowerShell Extensions are only an abstraction of the so called "Administration Webservice" of the DSM 2019.1 SOAP interface. This opens all functionality of the Administration Webservice for usage within PowerShell.


The next logical question is why to use the PowerShell Extensions if they provide the same functionality as the built-in webservice?


Well, the answer is easy: if you want to use the functionality of the Administration Webservice via the SOAP interface, you have to develop your own applications. Usually this requires the knowledge of programming languages like ASP.NET or C#,  which hardly an administrator or system engineer is proficient with. Using the PowerShell Extensions it is not necessary to use a 'real' programming language. The very same functionality is accessible in an interactive console or within a scripting language, as available with PowerShell scripts. You do not need knowledge about "Sockets", "SOAP functions", the "HTTP protocol" etc., just use the scripting technologies you are comfortable with, to access and manipulate your DSM 2019.1 data.


Another question is about which functionality is provided by the PowerShell Extensions for Ivanti DSM (or the Administration Webservice). For the sake of simplicity there is an easy, but not 100% correct answer: every task that can be carried out from the DSM Management Console (DSMC) in the views "Manage Computers & Users" and "Manage Software" can be performed via the Administration Webservice and therefore is supported by the PowerShell Extensions.


This answer lacks some precision, because even in the named views the DSMC performs some tasks directly, that is without using the Administration Webservice. For instance the package directory of a created software package is created directly in the filesystem on the depot server. For this reason the creation of software packages is not fully supported by the PowerShell Extensions. This topic is discussed further in section Restrictions.


Before you start the installation process of the PowerShell Extensions for Ivanti DSM, please ensure that the Prerequisites for installing are fulfilled in your environment.