Without seeing the code that invokes the Create-User function it really isn't possible to say what the exact problem is, but I suspect it's that you're passing the parameters in a comma-separated list (as you would in C#, C++, C, and many other programming languages. In PowerShell that's a mistake (a common one, too). By doing so you create an array that's passed to the function. PowerShell separates positional parameters with spaces, not commas.
This demonstrates the problem:
function Create-User{
param(
[string]$name,
[int]$operator
)
Write-Host "`t`$name = '$name'"
Write-Host "`t`$operator = '$operator'"
if($operator -eq 1){
Write-Host "CORP - operator = $operator"
}
else{
Write-Host "not an CORP - operator = $operator"
}
}
Write-Host "Passing individual parameters"
Create-User nsalehem 0
Write-Host "---------------"
Write-Host "Passing parameters as an array"
Create-User ndalehem,0