Par exemple; avec l'ancienne invite de commande serait:Comment faire pour que Powershell exécute un fichier batch et reste ouvert?
cmd.exe /k mybatchfile.bat
Par exemple; avec l'ancienne invite de commande serait:Comment faire pour que Powershell exécute un fichier batch et reste ouvert?
cmd.exe /k mybatchfile.bat
tomber dans une instance cmd (ou bien PowerShell lui-même) et tapez ceci:
powershell -?
Vous verrez que powershell.exe a un « - noexit "qui lui indique de ne pas quitter après l'exécution d'une" commande de démarrage ".
Je suis sûr que vous figurez déjà ceci mais je posterai juste
$CreateDate = (Get-Date -format 'yyyy-MM-dd hh-mm-ss')
$RemoteServerName ="server name"
$process = [WMICLASS]"\\$RemoteServerName\ROOT\CIMV2:win32_process"
$result = $process.Create("C:\path to a script\test.bat")
$result | out-file -file "C:\some path \Log-$CreatedDate.txt"
Lors de l'exécution PowerShell.exe juste fournir le -NoExit commutateur comme ceci:
PowerShell -NoExit -File "C:\SomeFolder\SomePowerShellScript.ps1"
PowerShell -NoExit -Command "Write-Host 'This window will stay open.'"
Ou si vous voulez exécuter un fichier et ensuite exécuter une commande et avoir la fenêtre reste ouverte, vous pouvez faire quelque chose comme ceci:
PowerShell -NoExit "& 'C:\SomeFolder\SomePowerShellScript.ps1'; Write-Host 'This window will stay open.'"
Le paramètre -Command est implicite si non prévu, et ici nous utilisons le & pour appeler le script PowerShell et le ; sépare les commandes PowerShell. Je montre également une modification rapide du registre que vous pouvez effectuer afin que PowerShell reste toujours ouvert après l'exécution d'un script/commande, de sorte que vous n'avez pas besoin de toujours fournir explicitement le commutateur -NoExit tout le temps.
Peut-être tester.bat un autre script ps1 (c: \ chemin vers un script \ test.ps1)? un échantillon complet à ce sujet? – Kiquenet