PowerShell modules allow scripts, cmdlets and other assets to be integrated into PowerShell in order to extend its functionality. This course starts with an overview of PowerShell module fundamentals, and then proceeds to explore and explain script modules, binary and manifest modules, as well as dynamic modules. The course concludes with a look at how integrated help documentation for PowerShell scripts and modules can be created, deployed and updated.
Thomas is a UK IT Pro, with over 40 year’s experience in the IT field. He’s presently doing writing, consulting and training around some of the key Microsoft technologies including PowerShell, Lync and Windows Server/client.
Dynamic Modules and Other Cool Stuff So welcome to Module 4 of the creating PowerShell Modules course, Dynamic Modules and Other Cool Stuff. In this module of the course we'll look first of all dynamic modules, and then we'll look at script blocks. For a review, the script blocks are the basis for dynamic modules and it's important that we understand them fully. We'll spend some time looking at the new-module cmdlet that you can use to create dynamic module and then look at another use of dynamic module, implicit remoting and Proxy Functions. I'll also look at modules as objects. And finally we'll close off with some best practice and module summary. So dynamic modules, what is a dynamic module? Great question. A dynamic module is a module that's created on the fly at run time and not persisted to disk. It's used primarily to import functionality into a PowerShell runspace. This enables you to add functionality dynamically, particularly useful in the cloud computing paradigm where you might want to shift functionality to tenths of thousands of machine in your public or product cloud. What can you use dynamic modules for? Well, first of all we could load cmdlets from our remote session. Secondly we can create proxy functions. So we can create a function but in effect we'll call it cmdlet and improve or in some cases to create that cmdlets and we'll see this later in this module. You can also use this to ship cmdlets to remote systems as source code as we saw in earlier module in this course. And finally, we can use it through implicit remoting.