Ideen für eine etwas andere Software Deployment
Hallo zusammen,
ich brauche mal eure Hilfe, den ich bin mit meinem Latein erst einmal am Ende.
Ziel ist es das wir auf einem Netzlaufwerk Software zur Verfügung stellen und das mittels runas/cpau/... man diese aber auch nur diese Software selbstständig installieren kann. Im weiteren Verlauf wäre es natürlich schön wenn das ganze silent von statten geht also der User nur noch sagt will ich haben und das wars. Auch eine Deinstallationsroutine hätte Vorteile aber das alles ist noch Zukunftsmusik.
Mein bisheriger Ansatz:
- mittels cpau ein job File erstellen welches mit crc gekoppelt ist damit man nicht einfach was auch immer ausführen kann.
- dieses job File muss man aber jedesmal wenn man die Software erweitert wieder neu erstellen weil sonst ja der crc Check failed.
- weiters eine bat datei in der man auswählen kann welche Software man gerne hätte, diese aber in eine exe verwandeln da man die sonst einfach manipulieren kann
Ziemlich umständlich, ich weiß und das schlimme derzeit funktionierts noch nicht mal.
Das wichtige ist aber eben das es nicht so sein soll das installiert wird beim starten oder beenden sondern dann wenn der User die Anforderung stellt.
Hat wer Ideen? Denn im Moment wäre die Verwaltung sehr aufwendig, man davon abgesehen das ich derzeit noch Errors abgreife.
mc-doubleyou
ich brauche mal eure Hilfe, den ich bin mit meinem Latein erst einmal am Ende.
Ziel ist es das wir auf einem Netzlaufwerk Software zur Verfügung stellen und das mittels runas/cpau/... man diese aber auch nur diese Software selbstständig installieren kann. Im weiteren Verlauf wäre es natürlich schön wenn das ganze silent von statten geht also der User nur noch sagt will ich haben und das wars. Auch eine Deinstallationsroutine hätte Vorteile aber das alles ist noch Zukunftsmusik.
Mein bisheriger Ansatz:
- mittels cpau ein job File erstellen welches mit crc gekoppelt ist damit man nicht einfach was auch immer ausführen kann.
- dieses job File muss man aber jedesmal wenn man die Software erweitert wieder neu erstellen weil sonst ja der crc Check failed.
- weiters eine bat datei in der man auswählen kann welche Software man gerne hätte, diese aber in eine exe verwandeln da man die sonst einfach manipulieren kann
Ziemlich umständlich, ich weiß und das schlimme derzeit funktionierts noch nicht mal.
Das wichtige ist aber eben das es nicht so sein soll das installiert wird beim starten oder beenden sondern dann wenn der User die Anforderung stellt.
Hat wer Ideen? Denn im Moment wäre die Verwaltung sehr aufwendig, man davon abgesehen das ich derzeit noch Errors abgreife.
mc-doubleyou
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 150096
Url: https://administrator.de/forum/ideen-fuer-eine-etwas-andere-software-deployment-150096.html
Ausgedruckt am: 20.04.2025 um 18:04 Uhr
11 Kommentare
Neuester Kommentar
Moin.
Mit Verlaub: Ihr erfindet das Rad neu.
Was Du suchst, nennt sich Software publishing. Non-Admins können vom Admin authorisierte Software installieren. Dazu öffnen Sie appwiz.cpl und wählen "Programme vom Netzwerk installieren". Dort taucht eine Liste von Programmen auf, die der Admin per benutzerbezogener GPO veröffentlicht hat. Einziger Haken: es müssen MSI-Pakete sein. Da es aber MSI-Wrapper wie WIWW gibt, kannst Du mühelos jedes Setup, das über /silent-Parameter verfügt in ein MSI verwandeln.
Wir nutzen die das erfolgreich. Im Gegensatz zu CPAU und Konsorten ist es sogar sicher.
Mit Verlaub: Ihr erfindet das Rad neu.
Was Du suchst, nennt sich Software publishing. Non-Admins können vom Admin authorisierte Software installieren. Dazu öffnen Sie appwiz.cpl und wählen "Programme vom Netzwerk installieren". Dort taucht eine Liste von Programmen auf, die der Admin per benutzerbezogener GPO veröffentlicht hat. Einziger Haken: es müssen MSI-Pakete sein. Da es aber MSI-Wrapper wie WIWW gibt, kannst Du mühelos jedes Setup, das über /silent-Parameter verfügt in ein MSI verwandeln.
Wir nutzen die das erfolgreich. Im Gegensatz zu CPAU und Konsorten ist es sogar sicher.
OK, dann wollen wir zunächst mal abklopfen, ob die Sicherheit nicht zum Showstopper wird.
Du kannst bei interaktiven (=sichtbar ablaufenden) installationen nicht vermeiden, dass der Nutzer diesen Zugang zu einem Prozess mit hohen Rechten missbraucht und sich somit Adminrechte verschafft. Egal ob CPAU oder sonstwas benutzt wird, egal, ob Kennwort verschlüsselt übergeben oder nicht.
Nur bei unsichtbar ablaufenden Setups ist die Sicherheit gewährleistet. Somit bleibt aus meiner Sicht nur die Möglichkeit, dies über geplante Tasks zu lösen.
Ansatz:
Ihr konfiguriert ein Startskript, das auf eine Batch auf einem Server zeigt. In dieser Batch könnt Ihr bei Bedarf neue Tasks installieren lassen (über den Befehl schtasks.exe /create).
Die Tasks zeigen nun wiederum auf Batches, die Eure Setups silent starten. Die Tasks laufen mit lokalen Adminrechten.
Sollte klappen. Wegen Missbrauchsbedenken:
Die User bekommen nur Lese- und Ausführrechte auf die Tasks. Sollten Sie diese Tasks manipulieren können (was per se unmöglich ist), benötigen sie ein Adminkennwort zur Speicherung des Tasks.
Dies leistet genau das, was Du willst. Der Nutzer kann den Taskplaner aufschlagen, sieht einen Haufen Tasks (Beispielname "Install Irfanview") und kann diese bei Bedarf starten.
Du kannst bei interaktiven (=sichtbar ablaufenden) installationen nicht vermeiden, dass der Nutzer diesen Zugang zu einem Prozess mit hohen Rechten missbraucht und sich somit Adminrechte verschafft. Egal ob CPAU oder sonstwas benutzt wird, egal, ob Kennwort verschlüsselt übergeben oder nicht.
Nur bei unsichtbar ablaufenden Setups ist die Sicherheit gewährleistet. Somit bleibt aus meiner Sicht nur die Möglichkeit, dies über geplante Tasks zu lösen.
Ansatz:
Ihr konfiguriert ein Startskript, das auf eine Batch auf einem Server zeigt. In dieser Batch könnt Ihr bei Bedarf neue Tasks installieren lassen (über den Befehl schtasks.exe /create).
Die Tasks zeigen nun wiederum auf Batches, die Eure Setups silent starten. Die Tasks laufen mit lokalen Adminrechten.
Sollte klappen. Wegen Missbrauchsbedenken:
Die User bekommen nur Lese- und Ausführrechte auf die Tasks. Sollten Sie diese Tasks manipulieren können (was per se unmöglich ist), benötigen sie ein Adminkennwort zur Speicherung des Tasks.
Dies leistet genau das, was Du willst. Der Nutzer kann den Taskplaner aufschlagen, sieht einen Haufen Tasks (Beispielname "Install Irfanview") und kann diese bei Bedarf starten.
Nee, hast Du missverstanden - aber zu Deinem Glück muss auf dem Server/NAS nichts installiert werden.
Clients erhalten ein Startskript. Dies setzt Du, indem Du gpedit.msc auf den Clients aufrufst und es dort konfigurierst unter comp.konfig - windows einst. - Skripte - Startskript hinzufügen.
Nimm hier eine Batch, die auf dem NAS liegt und die lautet in etwa (bzw. enthält die Zeile):
schtasks /create /tn InstallProgrammxy /tr \\nas\freigabe\setupProgrammxy.bat /sc Zeitplan [/mo Parameter] [/d Tag] [/m Monat[,Monat...] [/i Leerlaufzeit] [/st Startzeit] [/sd Startdatum] [/ed Enddatum] [/s Computer [/u [Domäne\]Benutzer /p Kennwort]] [/ru {[localhost\]administrator} [/rp Adminkennwort]]
:rem Nun noch die ACL des Tasks anpassen, damit schwache Benutzer den auch sehen und ausführen können
icacls%windir%\System32\Tasks\InstallProgrammxy /grant everyone:rx
(Code passend für vista/win7, bei xp muss mit cacls gearbeitet werden und der Task wäre %windir%\tasks\InstallProgrammxy.job)
\\nas\freigabe\setupProgrammxy.bat wiederum besteht nur aus einer Zeile
\\nas\FreigabeMitSetups\Programmxy\setupvonxy.exe /silent
Clients erhalten ein Startskript. Dies setzt Du, indem Du gpedit.msc auf den Clients aufrufst und es dort konfigurierst unter comp.konfig - windows einst. - Skripte - Startskript hinzufügen.
Nimm hier eine Batch, die auf dem NAS liegt und die lautet in etwa (bzw. enthält die Zeile):
schtasks /create /tn InstallProgrammxy /tr \\nas\freigabe\setupProgrammxy.bat /sc Zeitplan [/mo Parameter] [/d Tag] [/m Monat[,Monat...] [/i Leerlaufzeit] [/st Startzeit] [/sd Startdatum] [/ed Enddatum] [/s Computer [/u [Domäne\]Benutzer /p Kennwort]] [/ru {[localhost\]administrator} [/rp Adminkennwort]]
:rem Nun noch die ACL des Tasks anpassen, damit schwache Benutzer den auch sehen und ausführen können
icacls%windir%\System32\Tasks\InstallProgrammxy /grant everyone:rx
(Code passend für vista/win7, bei xp muss mit cacls gearbeitet werden und der Task wäre %windir%\tasks\InstallProgrammxy.job)
\\nas\freigabe\setupProgrammxy.bat wiederum besteht nur aus einer Zeile
\\nas\FreigabeMitSetups\Programmxy\setupvonxy.exe /silent
verbannst mich jetzt nicht nach dau.de
kurz davor... ; )Das Startskript erstellt die Tasks. Auf den Clients ist doch nur das Startskript verlinkt, welches auf dem NAS liegt. Du hast also für neu zu installierende Software lediglich dieses eine Skript um weitere Zeilen
->schtasks /create... zu ergänzen.
Verstehste? Die Clients nehmen doch das Skript vom NAS.
1. Admin schreibt die Batch auf dem NAS
2. Client-PC startet sein Startskript und schreibt sich somit diese Tasks in den Taskplaner
3. SchwacherUser startet den Taskplaner und findet die Tasks vor, die er zur Installation nutzen kann.
...
kommt nun eine weitere Anwendung hinzu
4. nimmt Admin erneut die Batch vom NAS zur Hand und trägt dort eine neue Anwendung ein.
Nach dem nächsten Start des Clients hat er auch diesen Task zur Verfügung.
Urks. Das stimmt. Mir fällt auch spontan kein Weg ein, dies Kennwort zu verschleiern. Oder doch? Wie wäre es, die Rechte auf "ausführen" zu beschränken und Lesen wegzunehmen? Ich bin recht sicher, dass ich das mal irgendwo eingesetzt habe, bei der Umsetzung aber Probleme hatte. Versuchs mal mit einer Testbatch.
Vergiss das mit dem Ausführen aber nicht lesen mal ganz schnell wieder - diese Möglichkeit bestand vor x Patches und Servicepacks tatsächlich einmal früher, jetzt aber nicht mehr.
Was gehen wird: nutze zum Setzen der Tasks Deine ursprüngliche Idee mit der verschlüsselten Kennwortübergabe. Wenn die Kollegen nicht wirklich gerissen sind, werden Sie das nicht ausnutzen können.
Was gehen wird: nutze zum Setzen der Tasks Deine ursprüngliche Idee mit der verschlüsselten Kennwortübergabe. Wenn die Kollegen nicht wirklich gerissen sind, werden Sie das nicht ausnutzen können.