dirk0389
Goto Top

Batch für mehrere Installationen mit Kontrollstart

Hallo Administratorengemeinde,

da ich demnächst auf mehreren Rechnen (24x) diverse branchenspezifische Software von einem USB-Stick installieren muss, würde ich mir gerne mit einem Batchskript helfen.
Leider bin ich was das angeht nur mit Grundlagen gesegnet.
Das Skript um alle exe nacheinander auszuführen stellt nicht das Problem dar, sondern vielmehr der Umstand, dass ich alle Programme nach jeder Installation einmal gestartet haben möchte und darin arbeiten möchte (Einstellung von Benutzereinstellungen, Einbinden von Datenbanken etc) und diese dann manuell wieder schließe um dann die nächste exe mit einem Tastendruck zu starten. Während der einzelnen Installationen müsste ich ebenfalls Pfade usw. anpassen. Das ganze im Hintergrund zu installieren fällt also aus.

Natürlich müsste ich dann die Pfade der zuvor installierten Programme im Skript vor Ort dann noch schreiben aber das sollte machbar sein.

Ich würde mich riesig freuen, wenn mir jemand mit den Befehlszeilen für die erste Installation (gerne auch mit Errorlevelabfrage) und anschließendem Programmstart sowie Befehl zum Fortsetzen der weiteren Installationen aushelfen könnte.

Ich freue mich auch eure Hilfe!

Gruß Dirk

Content-Key: 598892

Url: https://administrator.de/contentid/598892

Printed on: April 25, 2024 at 14:04 o'clock

Member: erikro
erikro Aug 24, 2020 at 18:27:16 (UTC)
Goto Top
Moin,

Zitat von @Dirk0389:

Hallo Administratorengemeinde,

da ich demnächst auf mehreren Rechnen (24x) diverse branchenspezifische Software von einem USB-Stick installieren muss, würde ich mir gerne mit einem Batchskript helfen.

Nein, Du willst ein Powershell-Skript. face-wink

Leider bin ich was das angeht nur mit Grundlagen gesegnet.

Ein Grund mehr, gleich die PS zu lernen.

Das Skript um alle exe nacheinander auszuführen stellt nicht das Problem dar, sondern vielmehr der Umstand, dass ich alle Programme nach jeder Installation einmal gestartet haben möchte und darin arbeiten möchte (Einstellung von Benutzereinstellungen, Einbinden von Datenbanken etc) und diese dann manuell wieder schließe um dann die nächste exe mit einem Tastendruck zu starten. Während der einzelnen Installationen müsste ich ebenfalls Pfade usw. anpassen. Das ganze im Hintergrund zu installieren fällt also aus.

Was für Pfade musst Du anpassen? Stehen die vorher nicht fest?

Natürlich müsste ich dann die Pfade der zuvor installierten Programme im Skript vor Ort dann noch schreiben aber das sollte machbar sein.

Warum? Stehen die vorher nicht fest? Das würde mich echt wundern. Deshalb frage ich auch zweimal. face-wink

Ich würde mich riesig freuen, wenn mir jemand mit den Befehlszeilen für die erste Installation (gerne auch mit Errorlevelabfrage) und anschließendem Programmstart sowie Befehl zum Fortsetzen der weiteren Installationen aushelfen könnte.

Als Ansatz:

#Requires -runasadministrator

PARAM (

    $usb_stick="X:"  
    # Beim Aufruf mit -usb_stick den LW-Buchstaben des Sticks angeben
    # So können auch andere Dinge wie z. B. Zielverzeichnis oder andere Argumente
    # parameterisiert werden.

)

start-process -FilePath "$usb_stick\Pfad_zur_Installation" -wait -ArgumentList "Arg1","Arg2"  
# Mit -ArgumentList können dem zu startenden Programm Argumente wie z.B. Pfadangaben übergeben werden.
# -wait sorgt dafür, dass auf die Beendigung des Prozesses gewartet wird.

Start-Process -FilePath "C:\Program Files\woauchimmer\programm.exe" -wait -confirm  
# -confirm sorgt dafür, dass Du gefragt wirst, ob das wirklich passieren soll.
# Falls was schief läuft beim Installieren.

Viel Spaß beim Ausarbeiten. face-wink Aber wahrscheinlich kommt @colinardo gleich mit einem genialen Skript rüber. face-wink

Liebe Grüße

Erik
Member: Dirk0389
Dirk0389 Aug 24, 2020 at 20:15:05 (UTC)
Goto Top
Vielen Dank für die Antwort!

Die Pfade muss ich anpassen, weil ich von hier aus nicht auf die Ordnerstruktur zugreifen kann und die jeweiligen Programme aufeinander Aufbauen. Dementsprechend muss die Installation auch an einen bestimmten Ort auf C:

Das Skript funktioniert soweit erstmal.

Allerdings kann ich das PowerShell Skript nicht starten. Es öffnet sich kurz das Fenster mit roter Schrift aber was drin steht kann ich nicht erkennen. (Nur über den PS Editor ausführen funktioniert)

Dann scheint auch irgendwas mit dem -confirm nicht zu passen. (NameParameterNotFound)

Und die Installationsdatei verschwindet vom USB-Stick. Das sollte ja bestenfalls nicht passieren wenn ich noch 23 Rechner zu bearbeiten habe :D

Gruß Dirk
Member: erikro
erikro Aug 25, 2020 at 17:29:55 (UTC)
Goto Top
Moin,

Zitat von @Dirk0389:

Vielen Dank für die Antwort!

Gerne.

Die Pfade muss ich anpassen, weil ich von hier aus nicht auf die Ordnerstruktur zugreifen kann und die jeweiligen Programme aufeinander Aufbauen. Dementsprechend muss die Installation auch an einen bestimmten Ort auf C:

Aber dann ist doch der Pfad bekannt. face-wink

Das Skript funktioniert soweit erstmal.

Schön. Zeig mal, was Du hast.

Allerdings kann ich das PowerShell Skript nicht starten. Es öffnet sich kurz das Fenster mit roter Schrift aber was drin steht kann ich nicht erkennen. (Nur über den PS Editor ausführen funktioniert)

Da steht, dass die Execution Policy nicht zulässt, dass Du Skripte startest oder dass Du Adminrechte brauchst (#Requires -runasadmin). Das erste Problem kann man mit

set-executionpolicy

ändern. Nicht vergessen, das hinterher wieder zurückzunehmen.

Dann scheint auch irgendwas mit dem -confirm nicht zu passen. (NameParameterNotFound)

Echt? Kann das start-process nicht. Ich dachte. face-wink Dann machen wir halt ein if-statement drumherum:

$confirm = read-host "Weitermachen J/N/Exit?"  
if ($confirm -eq "J") {  

    start-process ...

}

elseif ($confirm -eq "Exit") {  

    exit 1

} 
 ...

Und die Installationsdatei verschwindet vom USB-Stick. Das sollte ja bestenfalls nicht passieren wenn ich noch 23 Rechner zu bearbeiten habe :D

Das war ich nicht. face-wink

Liebe Grüße

Erik