Ahh, some fun PowerShell stuff!
For the methods that require typed structures, you need to create them with the "New-Object" Cmdlet. Here's how you would make a call to create_user()
$ic = Get-F5.iControl
$userInfo = New-Object -TypeName iControl.ManagementUserManagementUserInfo
$userInfo.user = New-Object -TypeName iControl.ManagementUserManagementUserID
$userInfo.user.name = "testaccount"
$userInfo.user.full_name = "Joe User"
$userInfo.role = "USER_ROLE_ADMINISTRATOR"
$userInfo.password = "foobar"
$userInfo.home_directory = "/home/joeuser"
$userInfo.login_shell = "/bin/bash"
$userInfo.user_id = 0
$userInfo.group_id = 500
$ic.ManagementUserManagement.create_user( (,$userInfo) )
You'll notice that the method takes an array, so the paramter is surounded by parenthesis and prefixed with a comma to indicate the creation of an array.
Hope this helps...
-Joe