In diesem Skript
@echo off
echo copie du script PowerShell vers le dossier temporaire de Windows
copy "\\ftp-stg1\FTP Root\Programs\script\vmprog.ps1" C:\Windows\Temp
echo copie du script CMD vers le dossier temporaire de Windows
copy "\\ftp-stg1\FTP Root\Programs\script\package_install.cmd" C:\Windows\Temp
echo ouverture du RDP
powershell -command "Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -name "fDenyTSConnections" -value 0"
echo installation de boxstarter
powershell -command "Set-ExecutionPolicy Unrestricted -Force"
powershell -command ". { iwr -useb https://boxstarter.org/bootstrapper.ps1 } | iex; get-boxstarter -Force"
C:\Windows\Temp\package_install.cmd
exit
Nach dem Befehl . { iwr -useb https://boxstarter.org/bootstrapper.ps1 }
wird das Befehlsfenster geschlossen, aber ich habe einen anderen Befehl, der auf die Ausführung wartet.
Was schlagen Sie vor?
Antwort1
es sollte funktionieren, wenn Sie diese Zeile ändern:
powershell -command ". { iwr -useb https://boxstarter.org/bootstrapper.ps1 } | iex; get-boxstarter -Force"
dazu:
Start-Process PowerShell -Argumentlist "iwr -useb https://boxstarter.org/bootstrapper.ps1 | iex; get-boxstarter -Force" -Wait
Mit dem -Wait
Parameter von Start-Process
weisen Sie PowerShell an, die Ausführung des Skripts anzuhalten, bis der Prozess beendet ist.