title: Powershell not recognizing boolean argument
body: <p>I have the following PS script</p>
  
  <pre><code>param (
      # FQDN or IP address of the Domain Controller
      [Parameter(Mandatory=$True)]
      [string]$ADaddress,
  
      # Active directory domain name
      # example: directory.local
      [Parameter(Mandatory=$True)]
      [string]$ADDomainName,
  
      # Domain admin
      # example: administrator@directory.local
      [Parameter(Mandatory=$True)]
      [string]$domainAdmin,
  
      # Domain admin password
      [Parameter(Mandatory=$True)]
      [string]$domainAdminPassword,
  
      # User to be added
      # example: testUser
      [Parameter (Mandatory=$True)]
      [string]$newUsername,
  
      # Password of th user to be added
      # example: 1!2#4%6
      [Parameter (Mandatory=$True)]
      [string]$newPassword,
  
      # SAM account name of the user to added
      # example: testuser
      [Parameter (Mandatory=$True)]
      [string]$newSamAccountName,
  
      # Display name of the user to added
      # example: "Test user for test purposes"
      [Parameter (Mandatory=$True)]
      [string]$newUserDisplayName
  )
  
  $domainAdminSecurePassword = $domainAdminPassword | ConvertTo-SecureString -asPlainText -Force
  $domainAdminCredential = New-Object System.Management.Automation.PSCredential($domainAdmin, $domainAdminSecurePassword)
  $newUserSecurePassword = $newPassword | ConvertTo-SecureString -asPlainText -Force
  $UPN= $newUsername+"@"+$ADDomainName
  
  
  Invoke-Command -ComputerName $ADaddress -Credential $domainAdminCredential `
      -ScriptBlock {`
          param($newUsername, $newUserSecurePassword, $newSamAccountName, $newUserDisplayName, $UPN) `
          new-aduser -name $newUsername -AccountPassword $newUserSecurePassword -Enabled $true -SamAccountName $newSamAccountName -DisplayName $newUserDisplayName -UserPrincipalName $UPN -PasswordNeverExpires $true`
      } `
      -ArgumentList $newUsername, $newUserSecurePassword, $newSamAccountName, $newUserDisplayName, $UPN
  </code></pre>
  
  <p>Tho problem I get when invoking this script is:</p>
  
  <pre><code>Cannot convert 'System.String' to the type 'System.Nullable`1[System.Boolean]' required by parameter 'PasswordNeverExpires'.
  </code></pre>
  
  <p>I tried passing 1 instead, passing [bool]$true but the result remains the same. I am new to PS and I'm lost here. Can anyone shine some light on what the problem may be?</p>