Jump to content













Photo
- - - - -

Εγκατάσταση Εφαρμογής σε όλα τα PCs του Domain (Deploy Application)

Posted by klag , 04 March 2009 · 638 views

Θέλω λοιπόν να εγκαταστήσω μία εφαρμογή η οποία ας πούμε ότι είναι exe σε όλα τα PCs του domain μου. Μετά από μία ερώτηση στις συζητήσεις του autoexec και από μία απάντηση του Afotakel και από ένα post δικό μου κατέληξα τελικά να το ψάξω λίγο πιο ολοκληρωμένα και είπα να το γράψω καλά εδώ.
Ας πούμε ότι το domain μου ονομάζετε company.local


1. Δημιουργώ ένα Group στο Active Directory πχ localadmins
2. Προσθέτω όλους του χρήστες μου μέσα σε αυτό το Group έναν έναν
3. Δημιουργώ μία πολιτική πχ LocalAdminsOnPcs  Computer Configuration > Winodws Settings > Security Settings > Restricted Groups
Δεξί κλικ Add Group Προσθέτω το Group localadmins που δημιούργησα στο Active Directory και πατώ ΟΚ.
Στο παράθυρο που ανοίγει  πατώ add στο this group is a member off (το κάτω μέρος) και γράφω με το χέρι Administrators και πατώ ΟΚ και ξανά ΟΚ.
4. Κάνω Link την πολιτική στο κατάλληλο OU σε επίπεδο COMPUTER.


Μέχρι εδώ λοιπόν έχω πετύχει να έχω όλους τους χρήστες που ανοίκουν στο Group localadmins, τοπικούς Administrators στα pc τους. Αυτό θα ισχύσει βέβαια την πρώτη φορά που θα κάνουν επανεκίνηση το PC τους.


Στη συνέχεια ας πούμε ότι έχω τον server μου filesrv στον οποίο έχω το αρχείο \\filesrv\clientapps\acrobat.exe το οποίο θέλω να κάνω εγκατάσταση.
Δημιουργώ ένα αρχείο dontdeleteme1.txt και ένα αρχείο dontdeleteme2.txt μέσα στο \\filesrv\clientapps 


Δημιουργώ ένα Login Script σε επίπεδο χρήστη με Group Policy ή Login Script στο Active Directory για τους χρήστες μου.


deployacrobat.bat





@echo off
IF EXIST "C:\dontdeleteme2.txt" GOTO telos
IF NOT EXIST "C:\dontdeleteme.txt" GOTO Deploy
IF NOT EXIST "C:\dontdeleteme2.txt" GOTO RemoveUser

:Deploy
net use z: /del
net use z: \\filesrv\clientapps
copy z:\dontdeleteme.txt c:\
\\filesrv\clientapps\acrobat.exe
shutdown /l


:RemoveUser
net use z: /del
net use z: \\filesrv\clientapps
copy z:\dontdeleteme2.txt c:\
net group "Localadmins" . Domain %username% /delete
shutdown /r


:telos

ΠΡΟΣΟΧΗ στην εντολή net group "Localadmins" . Domain %username% / delete το Domain το αφήνουμε domain και δεν το κάνουμε company (Ax ρε Afotakel!!!)


Με όλα τα παραπάνω κατάφερα να εγκαταστήσω το Acrobat.exe στα pcs μου.
Τέλος το Group localadmins παραμένει μέσα στους local administrators των Pc μου για μελλοντική χρήση.
Ενοείτε πως αν θέλω τα αρχεία dontdeleteme.txt μπορώ να τα κάνω copy σε οποιοδήποτε φάκελο πχ μέσα στον %program files% έτσι ώστε να μην τα βλέπει ο χρήστης.
επίσης το Shutdown /l στο συγκεκριμένο σημείο δεν έχει κανένα νόημα, αλλά το έκανα σαν ένα μηχανισμό τεστ ότι μπήκε η εφαρμογή μου.
Νομίζω ότι είναι μία αρκετά κομψή λύση σε περιπτώσεις που δεν έχω MSI ή δεν μπορώ για κάποιο λόγο να στείλω κάποιο πρόγραμμα με group Policy.

Σήμερα το δοκίμασα και είδα ότι δούλευε το παραπάνω αλλά στο τέλος δεν έβγαζε το χρήστη από το Group. Στο προη΄γούμενο το είχα δοκιμάσει πάνω στο Domain Controller.
οπότε πρέπει με το χέρι να τον βγάλουμε από το Group
Ποιούς όμως? Ποιοι εγκατέστησαν την εφαρμογή και ποιοι όχι?


deployacrobat2.bat





@echo off
IF EXIST "C:\dontdeleteme2.txt" GOTO telos
IF NOT EXIST "C:\dontdeleteme.txt" GOTO Deploy
IF NOT EXIST "C:\dontdeleteme2.txt" GOTO RemoveUser

:Deploy
net use z: /del
net use z: \\filesrv\clientapps
copy z:\dontdeleteme.txt c:\
\\filesrv\clientapps\acrobat.exe
shutdown /l


:RemoveUser
net use z: /del
net use z: \\filesrv\clientapps
copy z:\dontdeleteme2.txt c:\
md z: %Username%
shutdown /r


:telos

Οπότε με μία εντολή πχ md %username% θα δημιουργηθούν φάκελοι από τους χρηστες που εγκατέστησαν την εφαρμογή. Άρα με το χέρι μπορώ να δω ποιοι εγκατέστησαν την εφαρμογή και να τους βγάλω από το group






Μια σημείωση για το βήμα 3: Δεν προσθέτεις απλά το γκρουπ αλλά και όσους θέλεις να είναι τοπικοί αδμιν. Εξ'ορισμού θέλεις να είναι ο τοπικός administrator ΚΑΙ οι domain admins. Οπότε ουσιαστικά πρέπει να κάνεις τουλάχιστον 3 καταχωρήσεις (τοπικό αδμιν, δομαιν αδμινς, "localadmins").
Προσοχή γιατί διαφορετικά κινδυνεύω να μείνουν οι δομαιν αδμινς έξω από το γκρουπ των τοπικών αδμινς!

Επίσης αφού τελειώσει η διαδικασία και έχει πλέον εγκατασταθεί το πρόγραμμα θα πρέπει οπσωδήποτε να αναιρέσω τα παραπάνω και να τα επαναφάρω.

Τρίτο σχόλιο (Κώστα μη βαράς, τώρα ήρθε η έμπνευση): Μπορώ να κάνω deploy μέσω AD και αρκετές εφαρμογές που δεν το υποστηρίζουν και έχουν απλά ένα setup.exe.
Η διαδικασία δεν είναι ιδιαίτερα γνωστή αλλά είναι αρκετά απλή (την έχω κάνει με επιτυχία) και έχει να κάνει με τη δημιουργία .zap αρχείων. Στην περίπτωση αυτή βέβαια δεν μπορώ να κάνω αυτόματη εγκατάσταση αλλά μπορεί ο χρήστης να εκκινήσει την εγκατάσταση ακόμα και χωρίς δικαιώματα αδμιν.
  • Report
Στο τρίτο βήμα απλά προσθέτει το group localadmins δεν αφερεί τα υπάρχοντα. Οπότε οι Domain Admins Ανοίκουν στους Local Administrators. την πάτησες φιλαράκι χαχα.
Τώρα όσο για τα ΖΑΠ μάλλον θα σου ρίξω κεζάπ!!!
  • Report
μάλλον δεν το έγραψα καλά: Όταν φτιάχνεις restricted group ορίζεις ποιοί θα ανήκουν.
Εξ'ορισμού τοπικοί αδμινς είναι
1. ο τοπικός αδμιν
2. οι δομαιν αδμινς

Οπότε αν στο restricted group απλά ορίσεις μόνο το γκρουπ localadmins (και κανένα άλλο) να είναι μέλος των αδμινιστρατορς, ουσιαστικά πετάς έξω τα (1) & (2). Και επειδή ο τοπικός αδμιν δεν μπορεί να μην είναι αδμιν, απλά πετάς έξω τους δομαιν αδμινς.

Καταλαβού;
  • Report
Η έλλειψη του 2273 είναι ολοφάνερη ! ZAP :)
  • Report
Einai poly endiaferon to arthro, tha (ksana)dokimaso ef' olis tis ulis kai tha sas metafero erotiseis kai (anagkaies) apories :)
Tedd
  • Report
τελικά το έχουμε ανεβάσει πολύ το επίπεδο...γουσταρώωωωωωωω
  • Report
Κώστα η προσέγγιση αυτή είναι χωρίς παρεξήγηση "μέσω αλάσκας" εν έτι 2009, εδώ και χρόνια μπορούμε να κάνουμε deploy μέσω Active Directory όπως ανέφερε ο Άκης, βέβαια δε συμφωνώ με την προσέγγιση των ZAP αρχείων μιας που μπορείς να κάνεις re-package σε msi την εφαρμογή σου.
Ο παράδεισος των πληροφοριών για application deployment/packaging/re-packaging είναι το site http://www.appdeploy.com, εκεί θα βρείτε σχεδόν τα πάντα.
Μια καλή λύση για packaging είναι ο advanced installer http://www.advancedinstaller.com/ που υπάρχει και σε freeware έκδοση.
  • Report
Και για τους "αρχάριους" υπάρχει και το AppDeploy Repackager στο appdeploy.com που ανέφερα στο προηγούμενο σχόλιο.
  • Report
Kαλημέρα σε όλους.
Θα σταθώ στη φράση του Κώστα:
"Σήμερα το δοκίμασα και είδα ότι δούλευε το παραπάνω αλλά στο τέλος δεν έβγαζε το χρήστη από το Group. Στο προη΄γούμενο το είχα δοκιμάσει πάνω στο Domain Controller.":
για να πω με τη σειρά μου, ότι αφού πήρα το (στραβό;-) δρόμο του Logon script, το δοκίμασα και γω και είναι πέρα για πέρα αληθινό.
Άρα το πρόβλημα παραμένει :(
Κάθε υπόδειξη είναι εκτιμιτέα.
Tedd
  • Report