En passant Powershell variables dans un scriptblock

Je suis en train de prendre powershell variables et de les appliquer à un scriptblock.

param(
    [string]$username = $(throw "Blackberry Admin User Name is required"),
    [string]$password = $(throw "Blackberry Admin Password is required"),
    [string]$u = $(throw "Blackberry User Name is required")
    )

$s = New-PSSession -computerName bbbes01 
Invoke-Command -Session $s -Scriptblock {cd "C:\Program Files (x86)\Research In Motion\BlackBerry Enterprise Server Resource Kit\BlackBerry Enterprise Server User Administration Tool Client"
./BESUserAdminClient -username $username -password $password -ad_auth -domain staging -b bbbes -u $u -change -wrandom} -argumentlist $username $password $u

Je suis en cours d'exécution

.\RandomActivationEmail.ps1 -nom d'utilisateur besadmin -mot de passe Pa$$word -u bb.l'utilisateur

L'erreur que j'obtiens est:-

Invoke-Command : Un paramètre de position ne peut pas être trouvé qui accepte l'argument 'Pa$$mot".
Au C:\Scripts\bb\RandomActivationEmail.ps1:12 char:15
+ Invoke-Command <<<< -Session $s -Scriptblock {cd "C:\Program Files (x86)\Research In Motion\BlackBerry Enterprise Se
propriétaires de véhicules récréatifs du Kit de Ressources\BlackBerry Enterprise Server de l'Utilisateur de l'Outil d'Administration de Client"
+ CategoryInfo : InvalidArgument: (:) [Invoke-Command], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commandes.InvokeCommandCommand

Merci pour la lecture, les acclamations Colm.

OriginalL'auteur Colm Blake | 2011-08-11