Page 1 sur 1

[R] Problème de compréhension de codage: $Powershell

Posté : sam. 01 juin 2019 21:24
par Boulanza
Bonsoir, [*]
Votre aide svp.
Je vous prie de me dire où elle est l’erreur dans le code 2, le code 1 marche parfaitement.
Merci infiniment pour votre aide.
Cordialement.
code 1:
Local $Pass = "123"
Local $Powershell = @SystemDir&"\WindowsPowerShell\v1.0\powershell.exe"
Local $program = "Makecert -n 'CN=TEST' -ic 'keySHA1.cer' -iv 'KeySHA1.pvk' -a sha1 -len 2048 -sky exchange -pe -sv 'Information_CA_sha1.pvk' 'Information_CA_sha1.cer'"
MsgBox(0,"test1",$program)
ShellExecute($Powershell,$program, "", "", @SW_HIDE)
code 2:
Local $Pass = "123"
Local $Powershell = @SystemDir&"\WindowsPowerShell\v1.0\powershell.exe"
Local $Pram01 = '"Makecert'
Local $Options01 = "'CN=TEST'"
Local $Options02 = "'keySHA1.cer'"
Local $Options03 = "'KeySHA1.pvk'"
Local $Options04 = "-a sha1 -len 2048 -sky exchange -pe -sv"
Local $Options05 = "'Information_CA_sha1.pvk'"
Local $Options06 = "'Information_CA_sha1.cer'"
Local $program = $Pram01&" "&"-n"&" "&$Options01&" "&"ic"&" "&$Options02&" "&"iv"&" "&$Options03&" "&$Options04&" "&$Options05&" "&$Options06&'"'
 MsgBox(0,"test1",$program1)
ShellExecute($Powershell,$program, "", "", @SW_HIDE)

Re: [..] Problème de compréhension de codage: $Powershell

Posté : dim. 02 juin 2019 07:50
par jchd
Vous ne croyez pas que vous pourriez au moins faire l'effort de résoudre vous-mêmes ce jeu des 7 erreurs (que vous avez vous-mêmes confectionné) ?
Franchement, ça devient pénible.

1) Il y a un " de trop en tête de cette chaîne Local $Pram01 = '"Makecert'
2) Il serait plus simple et bien plus clair d'écrire $Pram01 & " -n " & $Options01 au lieu de $Pram01&" "&"-n"&" "&$Options01
3) Il serait plus simple et bien plus clair d'écrire & " -ic " & $Options02 au lieu de &" "&"ic"&" "&$Options02 et au passage on pourrait plus facilement voir qu'il manque un tiret avant l'option ic.
4) Il serait plus simple et bien plus clair d'écrire & " -iv " & $Options03 au lieu de &" "&"iv"&" "&$Options03 et au passage on pourrait plus facilement voir qu'il manque un tiret avant l'option iv.
5) Il y a un " de trop en queue de cette chaîne $Options06&'"'
6) La variable $program1 n'existe pas : MsgBox(0,"test1",$program1)
7) Au lieu de faire deux MsgBox (dont un invalide qui provoque une erreur explicite et bloquante) qui se suivent (sans pourvoir comparer leur contenu puisque le second efface le premier), vous auriez fait ce qui suit vous auriez immédiatement vu quelles étaient vos nombreuses erreurs :

Code : Tout sélectionner

Local $Pass = "123"
Local $Powershell = @SystemDir&"\WindowsPowerShell\v1.0\powershell.exe"

Local $program = "Makecert -n 'CN=TEST' -ic 'keySHA1.cer' -iv 'KeySHA1.pvk' -a sha1 -len 2048 -sky exchange -pe -sv 'Information_CA_sha1.pvk' 'Information_CA_sha1.cer'"
ConsoleWrite($program & @CRLF)

Local $Pram01 = '"Makecert'
Local $Options01 = "'CN=TEST'"
Local $Options02 = "'keySHA1.cer'"
Local $Options03 = "'KeySHA1.pvk'"
Local $Options04 = "-a sha1 -len 2048 -sky exchange -pe -sv"
Local $Options05 = "'Information_CA_sha1.pvk'"
Local $Options06 = "'Information_CA_sha1.cer'"
Local $program1 = $Pram01 & " -n " & $Options01 & " ic " & $Options02 & " iv " & $Options03 & " " & $Options04 & " " & $Options05 & " " & $Options06 & '"'
ConsoleWrite($program1 & @CRLF)
Ca va, j'ai passé le test ?

Hey Mercedes, corrige ce script pour moi !

Vous avez un lien de parenté avec zoel ???

Re: [..] Problème de compréhension de codage: $Powershell

Posté : dim. 02 juin 2019 16:31
par Boulanza
Bonjour jchd,
Merci infiniment pour vos remarques, effectivement vous avez raison, j'aurais dû trouver mes erreurs tout seul. Que dire après un jeune (ramadan) de 20 heures/30 jours) sous une température de 40°à l’ambre : vous ne voyez que les mirages...
Cordialement.