2008-08-18 27 views

Répondre

24

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 ".

-1

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" 
+0

Peut-être tester.bat un autre script ps1 (c: \ chemin vers un script \ test.ps1)? un échantillon complet à ce sujet? – Kiquenet

4

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.