This is my first post !
In the line [System.Windows.Forms.MessageBox]::Show("Hello World!") what does the :: mean/do ?
Also, why is there the need to use "System.Windows.Forms.MessageBox" and not a verb-noun syntax ? What is the difference ?
You are referring to a .NET class, which will often require you to specify it's entire name space as well. The '::' tells PowerShell that what follows is one of the attributes of the class, which typically can consists of one or more constructors, enumerations, methods, or properties.