New-Object: Impossible de trouver une surcharge pour "PSCredential" et le nombre d'arguments: "2"

Je suis en train d'écrire un script PowerShell sur un Windows 8.1 machine. Lorsque vous essayez de créer un PSCredential objet en utilisant la cmdlet New-Objet, j'ai été présenté avec cette erreur:

Nouvelle-Objet : Impossible de trouver une surcharge pour "PSCredential" et l'argument nombre: "2".

De l'exécution de l'exacte même script sur un autre Windows 8.1 machine fonctionne très bien pour moi. J'ai également vérifié que les deux machines exécutent la même version de PowerShell 4.0

Les deux machines ont la même .NET Framework 4.0.

Une idée de pourquoi cela se passe et comment je pourrais résoudre ce problème?

$userPassword = ConvertTo-SecureString -String "MyPassword" -AsPlainText -Force
$userCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList "myUserName", $userPassword

Après quelques essais, j'ai trouvé le problème. Pour ma fonction, j'ai l'intention de prendre le nom d'utilisateur et le mot de passe de l'utilisateur, mais aussi de fournir des valeurs par défaut si l'utilisateur décide d'ignorer ces paramètres d'entrée.

Pour que je l'ai réalisé en ajoutant la ligne suivante dans la section paramètres de

[string][ValidateNotNullOrEmpty()] $userPassword = "myPassword",

Il semble que le problème est que j'ai défini pour être un [String] dans le paramètre, mais plus tard, en essayant d'être un SecureString, ce qui a entraîné le problème.

Retrait de la [Chaîne] attribut dans mes paramètre résolu le problème.

source d'informationauteur xenoverse