mc-doubleyou
Goto Top

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

Content-Key: 150096

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

Printed on: April 20, 2024 at 03:04 o'clock

Member: DerWoWusste
DerWoWusste Sep 01, 2010 at 08:42:50 (UTC)
Goto Top
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.
Member: mc-doubleyou
mc-doubleyou Sep 01, 2010 at 10:03:35 (UTC)
Goto Top
Erstmal herzlichen Dank für deinen tollen Einfall. Davon wusste ich nämlich zum Beispiel nichts.

Leider gibt es dabei aber ein Problem. Wir hängen zwar mittels VPN Tunnel alle im selben Netzwerkbereich, aber nicht in einer Domain.

Soll heißen auf unser NAS \\10.20.20.253\public kann man von außen ohne Probleme zugreifen aber GPOs kann ich nicht umsetzen.

Sonst noch Ideen?

mc-dy
Member: DerWoWusste
DerWoWusste Sep 01, 2010 at 10:19:42 (UTC)
Goto Top
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.
Member: mc-doubleyou
mc-doubleyou Sep 01, 2010 at 11:06:44 (UTC)
Goto Top
wow, geile Idee

Nur um mal sicher zu stellen das ich es auch verstanden habe:

Am Server erstellt man Tasks zum installieren von Programmen, diese werden mit lokalen Adminrechten gestartet.

mittels einem script das ich noch nicht ganz kapiert habe wie arbeitet, greifen die User dann auf die Tasks vom Server zu

Stimmt das soweit?

MIssbrauchs Ängste hab ich in diesem Fall gar nicht wirkt sehr sicher.

Der einzige Hacken ist das ich nur eine NAS oder meinen eigenen Rechner anbieten kann und keinen Server und auf einem NAS lassen sich denke ich keine Tasks erstellen.

*THX 2 DerWoWusste*

mc-dy
Member: DerWoWusste
DerWoWusste Sep 01, 2010 at 11:29:43 (UTC)
Goto Top
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
Member: mc-doubleyou
mc-doubleyou Sep 01, 2010 at 12:28:29 (UTC)
Goto Top
Ich hoffe du verbannst mich jetzt nicht nach dau.de oder so aber so ganz blick ich noch nicht durch.

Warum benötigt man ein Startscript? Wenn ich jedesmal wenn was neues raus kommt ein Startscript erstellen muss, muss ich mich ja genau so auf jeden PC verbinden um das erstellen zu können.

Das selbe bei der batch am NAS die muss doch dann auch laufend verändert werden und somit wieder neu angebunden werden oder startet diese bat dann wieder die Tasks "IrfanView Install" und so weiter?

Sry, es klingt super was du an Ideen hast aber ich steig noch nicht ganz durch wie das meine Arbeit erleichtern soll.

mc-dy
Member: DerWoWusste
DerWoWusste Sep 01, 2010 at 12:37:58 (UTC)
Goto Top
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.
Member: mc-doubleyou
mc-doubleyou Sep 01, 2010 at 13:25:06 (UTC)
Goto Top
Ich habs kapiert ;)

Nun aber die nächste Frage wenn ich die bat Datei so:

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]]

erstelle, gebe ich doch das Adminkennwort mit und das im Klartext oder? Klar sehen die die bat datei nicht auf ihrem Rechner aber am NAS liegt die doch offen, immerhin muss der Bereich zugänglich sein. Wird dann noch ein RunAs benötigt oder übernimmt das auch der Task?

1k thx mc-dy
Member: DerWoWusste
DerWoWusste Sep 01, 2010 at 14:00:46 (UTC)
Goto Top
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.
Member: DerWoWusste
DerWoWusste Sep 02, 2010 at 14:33:46 (UTC)
Goto Top
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.
Member: mc-doubleyou
mc-doubleyou Nov 12, 2010 at 10:17:38 (UTC)
Goto Top
wie ich eben sehe ist DerWoWusste weg *schade*

Ich hoffe mal das mir jemand anderes auch helfen kann.

Hab nämlich endlich Zeit gefunden daran zu arbeiten und stehe nun aber voll an.

mit dem parameter /sc kann man nicht wählen das der task startet wenn man ihn auswählt. und sowas wie ein doppelklick auf den task um das programm zu installieren funktioniert auch nicht.

was mach ich falsch?

Lg MC-D