Jump to content

Klag Rulez

  • entries
    39
  • comments
    80
  • views
    13611

Πως μπορώ να γράψω ένα User Login Script ?


klag

754 views

 Share

Ψάχνοντας να βρω τρόπο ώστε ένα User Login Script να μην παίζει όταν ο χρήστης κάνει Login σε ένα συγκεκριμένο PC (Συγεκγεκριμένα στον Terminal Server) αλλά να παίζει σε όλα τα άλλα Pcs που κάνει Login ο χρήστης, ομολογώ ότι τα βρήκα αρκετά σκούρα. Με τη βοήθεια του afotakel όμως ξεπεράστηκε το πρόβλημά μου.
Ψάχνοντας να βρω λύση, βρήκα διάφορα Scripts, αλλά ένα μου έκανε φοβερή εντύπωση, οπότε είπα να το βάλω στο Blog,
Βέβαια δεν κάνει αυτή τη δουλειά που ήθελα αλλά μου φάνηκε αρκετά αξιόλογο και το κράτησα.

rem @echo off<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

cls
Echo *************************
Echo ** System Login Script **
Echo *************************
ECho
Echo
Echo Please Wait . . .

set server=DOMAINSERVER

rem Synchronize the time on WS with the Server
net time
\\%server% /set /yes

net use f: /del
net use g: /del

rem  ********************************* Map the Drives
net use f:
\\%server%\netlogon
net use g:
\\%server%\docs

set path=f:\Folder\program
set p_station=%ComputerName%
set login_name=supervisor

MODE CON CODEPAGE PREPARE=((737) C:\WINDOWS\COMMAND\EGA2.CPI)
MODE CON CODEPAGE SELECT=737

rem *********************************** Delete Any Lpt
net use lpt1 /del
net use lpt2 /del

rem ************************************ Map the Printers.
IF "%COMPUTERNAME%"=="LAPTOP1" NET USE LPT2: \\LAPTOP\HPOFFICE

IF "%COMPUTERNAME%"=="LAPTOP2" NET USE LPT2: \\SERVER\HPJET

Rem ****************************  Prepare The DOS Environment For Program
if NOT "%OS%"=="Windows_NT" goto theend
if exist %SystemRoot%\System32\config.org goto theend
  
copy %SystemRoot%\System32\config.nt %SystemRoot%\System32\config.org
copy f:\config.fd %SystemRoot%\System32\config.nt
copy %SystemRoot%\System32\autoexec.nt %SystemRoot%\System32\autoexec.org
copy f:\autoexec.fd %SystemRoot%\System32\autoexec.nt

:theend
cls

 Share

9 Comments


Recommended Comments

Βασικά θα πρέπει να κάνεις αλχημείες για να παίξει αυτό που θέλεις, μια πολύ καλή λύση είναι να κάνεις vb script (μην τρομάζεις δεν είναι τόσο τραγικά τα πράγματα) και να το τοποθετήσεις στο OU με τους χρηστες που θέλεις με Group Policy (logon scripts περιοχή).

Μετά χρησιμοποιείς τις οδηγίες για το WMI Filtering στο blog μου εδώ: http://autoexec.gr/blogs/blackstar/archive/2008/12/10/wmi-filtering-group-policy-objects-aka.aspx

Για να φτιάξεις το vb script μπορείς να χρησιμοποιήσεις το Scriptomatic της Microsoft.

Link to comment

Α και μην ξεχάσω ότι το vb script να τοποθετηθεί στο \\to.domain.sou\netlogon και μόνο με δικαιώματα execute για τους Domain users

Link to comment

Παιδιά νομίζω ότι δεν υπάρχει καμία ανάγκη για πολυπλοκότητα (πέραν αυτής της συγγραφής του script) διότι όλα γίνονται μέσω του GPMC και εκτιμώ ότι για πολλά πράγματα δεν χρειάζεται καν script αφού υπάρχουν έτοιμα templates.

Επίσης αναφορικά με τους terminal servers, μπορούμε να ενεργοποιήσουμε το GP key που επιβάλλει η πολιτική της machine να είναι πιο ισχυρή εκείνης του user (loopback)

Επίσης gsimos δεν χρειάζεται να επεμβαίνουμε στα δικαιώματα του netlogon, αφού αυτό γίνεται με το GPMC.

 

Klag αυτό το script πες μας τι κάνει ακριβώς.

Link to comment

Μου άρεσε αυτό το Script που μοιράζει εκτυπωτές LPT ανάλογα με το PC διαφορετικό εκτυπωτή.

Μου άρεσε ο τρόπος που χρησιμοποιεί μέσα στο Script το όνομα του Server. Μία αλλαγή στην αρχή το όνομα του server και΄έχει αλλάξει παντού σε όλο το Script.

 

Η λογική του μου άρεσε δεν έκατσα να ψάξω τι ακριβώς κάνει

Link to comment

Ιδού οι οδηγίες για να βρείτε το εν λόγω group policy.

The first policy you may want to enforce in a TS environment is the Loopback Policy. To enable it, launch GPMC, create a Terminal Server Policy GPO, right-click on it and then select Edit. Go to Computer Configuration | Admin Templates | System | Group Policy and enable the User Group Policy loopback processing mode setting. After enabling this policy, you set its Mode value, which can be either Replace or Merge. For the best results in Terminal Services, select Replace.

 

Link to comment

Νάσο,

 

Ανέφερα vbscript γιατί όπως γνωρίζεις στα 2003 δεν υπάρχουν τα κολπάκια απο το 2008 -group policy preferences-, επίσης μέσω VBScript κάνεις κυριολεκτικά "ό,τι θέλεις".

Όσον αφορά το loopback processing, οι γνώμες διίστανται, σε Citrix εγκατάσταση δεν το προτείνουν πάντα -ανάλογα και ποια πολιτική ακολουθείς στο δίκτυο σου βέβαια-.

Το Loopback processing βοηθά στο να μην αλλάζουν οι πολιτικές του Terminal Server απο τις πολιτικές που εφαρμόζονται στους Users σωστά; Ουσιαστικά σταντάρεις το Server όπως θέλεις και δεν φοβάσαι μην αλλάξει συμπεριφορά απο το GP του χρήστη γιατί ο χρήστης θα πάρει τα GP του Server, αυτό όμως προϋποθέτει ότι ο Server απο άποψη ασφαλείας είναι κάπως "απομονωμένος".

Επίσης κάτι άλλο που προτείνει η Microsoft (εγώ το απέφυγα) είναι ότι αν δεν μπορεί να δουλέψει κάτι σε TS να εφαρμόσεις το Security Template για Workstation Client (έτσι χαλαρώνει κάποιες "σφιχτές" ρυθμίσεις για Servers).

(πάλι πτυχιακή κάναμε :P )

Link to comment
Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...