Function New-xMailbox { [CmdletBinding()] param( [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [String] $Name, [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [String] $DisplayName, [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [String] $FirstName, [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [String] $LastName, [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [String] $Alias, [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [String] $Password, [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [String] $UserPrincipalName, [Parameter(Mandatory=$false, ValueFromPipelineByPropertyName=$true)] [String] $Database ) Process { foreach($p in $PSBoundParameters.GetEnumerator()) { if($p.key -eq "Password"){ $Password = ConvertTo-SecureString -AsPlainText $Password -Force } } [Void] $PSBoundParameters.Remove("Password") $PSBoundParameters.Add("Password",$Password) New-Mailbox @PSBoundParameters } }