Это простой и удобный способ для вызова простых WinAPI функций. Для определения функций есть портал -
http://www.pinvoke.net/ . Но сама тема довольно сложная и есть куча неясных моментов.
Единственный моудль, который я знаю - PSReflect.
Пример использования модуля -
http://www.powershellmagazine.com/2014/09/25/easily-defining-enums-structs-and-win32-functions-in-memory/
Import-Module PsReflect
$Mod = New-InMemoryModule
$FunctionDefinitions = @(
(func user32 MoveWindow ([Bool]) @([IntPtr], [Int], [Int], [Int], [Int], [Bool]))
)
$Types = $FunctionDefinitions | Add-Win32Type -Module $Mod -Namespace 'Win32'
$User32 = $Types['user32']
И как пример вызова:
PS > calc
PS > gps calc | ft MainWindowHandle -a
MainWindowHandle
----------------
4067684
PS > $User32::MoveWindow(4067684,200,500,100,100,$true)
True