Per Batch Programme Installieren + Logfile schreiben

bySwift

Ensign
Registriert
Jan. 2019
Beiträge
223
Hallo Zusammen,
Ich möchte eine Batch Datei schreiben die automatisiert Programme aus einem Laufwerk Installiert. Dazu soll die Batch Datei ein Logfile erstellen das ich weiß das alles funktioniert hat.

Kann mir da jemand ein paar Befehle mit Erläuterungen schreiben.

Dazu hatte ich mal eine Robokopy am laufen die mal Backups gemacht hat, wo auch ein Logfile erstellt wurde was aber schon ein wenig her ist...

Ich freue mich über jede Hilfe !
Mit freundlichen Grüßen
 
micha` schrieb:
Kennst du Chocolatey? Ist die einfachste / komfortabelste Lösung, die ich kenne.
https://chocolatey.org/

Ja das Tool kenne ich... Ich habe vergessen zu erwähnen das das ohne eine Software passieren soll. Sprich per Batch/Script.
 
Ich denke du brauchst dafür installer welche sich mit Parametern steuern lassen. Am besten werden sich dafür MSI Pakete eignen.

Über den Errorlevel kannst du dann abfragen ob es funktioniert hat.
 
TheGrizzlyGiant schrieb:
Ich denke du brauchst dafür installer welche sich mit Parametern steuern lassen. Am besten werden sich dafür MSI Pakete eignen.

Über den Errorlevel kannst du dann abfragen ob es funktioniert hat.

Aber ich Steuer ja immer noch auf die Variante das per Batch zu machen, da die MSI pack Systeme (Freeware) meistens nicht die besten sind.
 
Wenn Du es mit Batch-Dateien machen willst, brauchst Du trotzdem Installer, die silent-Parameter (unattended...) verwenden.

In dem Bereich gibt es einige große und bekannte Installer z.B. MSI, InstallShield, Wise, Nullsoft... aber auch oft eigene gestrickte Installer die nur klickbar sind...


btw: Wenn Du was neues machst, dann mach es bitte in der Powershell... nicht mit Batch.
 
Zuletzt bearbeitet:
So ganz banal mit Putty getestet. Man müsste halt noch Silent-Parameter setzen:
Code:
@echo off

putty-64bit-0.71-installer.msi

if %errorlevel%==0 (goto ENDE) else (goto ERROR)

:ENDE
echo "Alles Gut %errorlevel%" > C:\temp\result.txt
EXIT

:ERROR
echo "Nix Gut %errorlevel%" > C:\temp\fatalerror.txt
EXIT
 
  • Gefällt mir
Reaktionen: TheGrizzlyGiant
Och, .msi's sind jetzt nicht schlechter als .deb's, .rpm's oder andere Konstrukte.
Anders, aber nicht per se schlechter. Auch für Linux gibts furchtbare selbstgehackte Software, die sich über Shellskripte irgendwie nicht-trackbar installiert.
 
Vielleicht solltest du mal genauer definieren, was du vorhast.
  • Was sind die Installationssourcen? MSI, EXE, Ordner, Skripte, CMD, MSP, ...
  • Wie soll die Installation ablaufen?
    • Soll das Quellverzeichnis alle X Minuten geprüft werden und neue SW immer installiert werden?
    • Gibt es Anforderungen an Mitgegebene Installationsparameter?
    • Was genau soll das Logging beinhalten?
      • Nur "Start", "Ende - Erfolg", "Ende - Fehlerhaft", oder mehr?
      • Sollen auch die Installationslogs der Produkte enthalten sein?
    • Wieso willst du das ganze unbedingt per Batch/CMD machen?
  • Von welchem Umfang reden wir hier? Zwei Softwareprodukte? 200? 2000?
Mir würden gerade noch bestimmt 20 weitere Fragen einfallen, aber ich glaube, dass reicht erst mal.

Mfg Kae
 
  • Gefällt mir
Reaktionen: wirelessy
MSI Installer wirst du brauchen, siehe Beispiel oben. Viel mehr ist es nicht.

Es gibt fast jede bekannte Software als MSI. Wenn es was spezielles ist musst du dein MSI Paket selber bauen.
 
adxian18 schrieb:
Ja das Tool kenne ich... Ich habe vergessen zu erwähnen das das ohne eine Software passieren soll. Sprich per Batch/Script.
Dafür gibts dann die Cmdlet Sammlung "Package-Management", die das auch per Powershell Script ermöglicht.
 
areiland schrieb:
Dafür gibts dann die Cmdlet Sammlung "Package-Management", die das auch per Powershell Script ermöglicht.
Könntest du mir da mal irgendwas an Links schicken etc. Wäre sehr Lieb.
Ergänzung ()

KaeTuuN schrieb:
Vielleicht solltest du mal genauer definieren, was du vorhast.
  • Was sind die Installationssourcen? MSI, EXE, Ordner, Skripte, CMD, MSP, ...
  • Wie soll die Installation ablaufen?
    • Soll das Quellverzeichnis alle X Minuten geprüft werden und neue SW immer installiert werden?
    • Gibt es Anforderungen an Mitgegebene Installationsparameter?
    • Was genau soll das Logging beinhalten?
      • Nur "Start", "Ende - Erfolg", "Ende - Fehlerhaft", oder mehr?
      • Sollen auch die Installationslogs der Produkte enthalten sein?
    • Wieso willst du das ganze unbedingt per Batch/CMD machen?
  • Von welchem Umfang reden wir hier? Zwei Softwareprodukte? 200? 2000?
Mir würden gerade noch bestimmt 20 weitere Fragen einfallen, aber ich glaube, dass reicht erst mal.

Mfg Kae
Die Programme werden immer aus verschieden Pfaden Installiert (exe Datei)
Die Logdatei soll einfach mitschreiben was alles Installiert wurde / das alles Installiert wurde.
Es soll einfach ohne Programm gemacht werden da dies keine nichts kosten darf ( auch keine Free Versionen)
Es werden höchstens 10 Programme sein die Installiert werden müssen.
Die Log Datei soll einfach nur mitschrieben z.B.

Installation Program TeamViewer Version 13.exe
Installiert
next
Installation Programm Java Version 8.4
Installiert next

Soll auch in der Richtung Datum und Uhrzeit erfassen so das man das einfacher Differenzieren kann..

Wenn du mir dabei Hilfestellung geben kannst wäre ich sehr erleichtert...

Nebenbei : Die Installationen werden immer von einem Domain\Lokalem Admin ausgeführt.
Würde dann auch dazu einen Lokalen Administrator anlegen damit man im Notfall immer noch in den Rechner reinkommt... (von den Unterschieden zwischen Domain und Lokaler Admin weggesehen)

Mit freundlichen Grüßen,
Adrian
 
Zuletzt bearbeitet:
Wenn es dir primär um den Kostenfaktor geht, dann solltest du dir mal die Tools opsi oder ocs-inventory angucken. Beide sind, auch im kommerziellen Umfeld, kostenlos und FOSS. Mit ocs habe ich selbst schon über 3.000 Rechner verwaltet. Das ging aus meiner Sicht übersichtlicher und einfacher als mit SCCM.

Mfg Kae
 
Vielleicht hilft https://github.com/lukesampson/scoop (installiert Programme aber nur fuer den lokalen User, solange man nicht explizit --global angibt oder die Umgebungsvariable %SCOOP% setzt).

Oder https://ninite.com/ (aber das kostet dann wieder)

Ein Beispiel Script fuer Scoop:
PowerShell:
Invoke-Expression (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/lukesampson/scoop/master/bin/install.ps1')
scoop install git 7zip
scoop bucket add extras
scoop install teamviewer
scoop bucket add java
scoop install openjdk
Die Programme liegen dann in %USERPROFILE%\scoop\apps
 
micha` schrieb:
Kennst du Chocolatey? Ist die einfachste / komfortabelste Lösung, die ich kenne.
https://chocolatey.org/
->
adxian18 schrieb:
Ja das Tool kenne ich... Ich habe vergessen zu erwähnen das das ohne eine Software passieren soll. Sprich per Batch/Script.
und jetzt fragst du auf einmal doch was das ist
adxian18 schrieb:
Okay, ist chocolatey ein Installations Tool oder so ? Hatte das mal flüchtig Gelsen
Willst du dir nicht einfach dann endlich doch mal die Seite ansehen: https://chocolatey.org/
Wirst du wohl verstehen was ein Paket-Manager ist, oder nicht? Und was ein Paket-Repository ist.
 
  • Gefällt mir
Reaktionen: micha`
Zurück
Oben