Je fais un script comme sudo, l'idée est que la fonction sudo va exécuter un scriptblock en élévation. J'ai des problèmes avec les variables strings, que je passe dans ce scriptblock. C'est comme si les doubles guillemets disparaissaient. Quel est le problème avec mon approche ? Voici le code.
function sud([ScriptBlock]$SomeCode){
$here = Get-Location;
Start-Process Powershell -Verb Runas -ArgumentList "-command &{cd $here; $SomeCode}"
}
et je veux exécuter des commandes comme celle-ci :
$var ="Path"
$newpath = $env:path + ";c:\somedir"
$target = "Machine"
sud -somecode { [Environment]::SetEnvironmentVariable($var, $newpath, $target)}
à des fins de test, on peut ajouter le paramètre -noexit à la liste d'arguments
Start-Process Powershell -Verb Runas -ArgumentList "-noexit","-command &{cd $here; $SomeCode}"