Nous avons ici besoin d'un script rapide pour transmettre un nom de variable à une ligne de commande. Facile mais je suis perplexe quand même. J'ai besoin d'utiliser msiexec/f pour réparer un msi dans le répertoire C: \ windows \ installer. Le MSI, cependant, a un nom de variable. J'ai besoin d'obtenir le nom local et ensuite mettre ce nom et le chemin dans le script. Il devrait alors exécuter msiexec/f avec le chemin et le nom corrects au MSI local. Cela pourrait être une chose simple de citation/format ou peut-être que j'aboie à la mauvaise porte entièrement. Je suis relativement nouveau à ce sujet. Des idées?insertion d'une variable powershell dans la commande msiexec
$localpackageName = 'localPackageName'
get-wmiobject -class win32_product -filter "name = 'smart ink'" | select-object localpackage -outvariable localPackageName
Invoke-Expression -command C:\windows\system32\MSIExec.exe /f $localPackageName
Vous devriez éviter win32_product, voir mon commentaire ci-dessous pour la raison. – bluuf