Démarrer-Les Variables Du Processus De -ArgumentList
Je me demandais si quelqu'un avec plus d'expertise pourrait m'aider avec un petit problème que j'ai avec l'aide de Variables dans -ArgumentList
lors de l'utilisation de Start-Process
.
Si je lance l'Exe sans l'aide de Start-Process
.\DeploymentServer.UI.CommandLine.exe register --estNumber $Number --postcode $PostCode --password $Password
tout fonctionne bien, l'exécution de la commande et le logiciel est enregistré.
Si j'essaie
Start-Process .\DeploymentServer.UI.CommandLine.exe -ArgumentList "register --estNumber $Number --postcode $PostCode --password $Password" -Wait -NoNewWindow
ou
$Arguments = "register --estNumber $Number --postcode $PostCode --password $Password"
Start-Process .\DeploymentServer.UI.CommandLine.exe -ArgumentList $Arguments -NoNewWindow -Wait
la commande fonctionne, mais est incapable de s'inscrire, en indiquant qu'il ne peut pas correspondre aux informations fournies. Donc je suis en supposant que le problème se situe soit dans le passage des arguments à Start-Process
, ou -ArgumentList
interpréter les variables dans la chaîne. Ai-je raté quelque chose de vraiment simple ici? Éventuellement de faire avec le $
dans le -ArgumentList
?
- Quels sont les "détails"? Il aide si vous fournissez la liste des arguments dans un tableau?
- les détails de la tenue dans les 3 variables "$nombre = 999999" "$code postal = a12 1ab" "$Password =mot de passe". Il n'y a rien de spectaculaire à propos de l'un d'eux. Qu'ils fonctionnent très bien lorsque vous n'utilisez pas Démarrer le Processus
Start-Process
ne jamais ajouter des guillemets pour vous, tout en PowerShell normalement essayer d'être intelligent, et ajouter des guillemets, lorsque les arguments contenant des espaces:$Text='With Space';start cmd "/c echo $Text" -NoNewWindow -Wait;cmd /c echo $Text
.
Vous devez vous connecter pour publier un commentaire.
Vous avez un espace dans votre
$postcode
, de sorte que vous besoin de mettre de l'argument dans les citations:Start-Process
où PowerShell ne se remplit dans les variables etStart-Process
prend la corde et exécute la commande.