元記事はhttp://winscript.s41.xrea.com/mt/archives/2005/08/messagebox.htmlです。
# show_messagebox.ps1
[void] [Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[System.Windows.Forms.MessageBox]::Show("こんにちは")
1行目でMessageBoxクラスのあるSystem.Windows.Forms.dllを明示的にロードしてます。 2行目でMessageBoxクラスのShowメソッドを呼んでいます。(.NETのクラスのstaticなメソッドを呼ぶときは[名前空間.クラス名]::メソッド名()のように呼ぶ)
このスクリプトはUTF-8で保存してください。日本語が化けるのを防ぐためです。と書きましたがRC1になってShift-JISでも文字化けしなくなった模様です。
LoadWithPartialNameメソッドを使って.NETアセンブリをロードする方法については Precision Computing - A Download Manager in MSH http://www.leeholmes.com/blog/ADownloadManagerInMSH.aspxを参照しました。