PowerShell Classes for Developers

1 minute read

Classes in PowerShell have been a feature since long and creating objects of these classes isn't new. From the classic way of creating objects of .NET classes (like the MailMessage in Example 1 below) or to defining a custom .NET class (in the Example 2 below), we have seen PowerShell extend .NET classes and types in numerous ways.

Example 1: Creating object of a .NET class

$message = New-Object System.Net.Mail.MailMessage

Example 2: Defining .NET class in PowerShell

$source= "
    public class BasicTest 
    { 
        public static int Add(int a, int b) 
        { 
            return (a + b); 
        }
        
        public int Multiply(int a, int b) 
        { 
            return (a * b); 
        }
}" 
Add-Type -TypeDefinition $source

The New PowerShell Classes

Now with new version PowerShell, you can create classes in PowerShell instead of just using .NET classes. Object Orientation is now available in your scripting language so that you can shorten your scripts and make them more maintainable.

Two of my short videos (published on Channel9) will help you quickly rampup your PowerShell skills to create PowerShell classes, objects, methods, overloads, scope and a lot more.

Video 1: Getting Started with PowerShell Classes

Direct Link: https://channel9.msdn.com/Events/APAC-Influencer-Hero-2015/Singapore-Influencer-Showcase/01-Puneet-Ghanshani-PowerShell-Classes-for-Developers-Part-1

 

Video 2: Constructor, Methods, Overloading and Scope

Direct Link: https://channel9.msdn.com/Events/APAC-Influencer-Hero-2015/Singapore-Influencer-Showcase/01-Puneet-Ghanshani-PowerShell-Classes-for-Developers-Part-2

Hope this helps you in understanding PowerShell classes!

Updated: