Anmeldescript erstellen

  • #1
T

tarzansworld

Aktives Mitglied
Themenersteller
Dabei seit
28.10.2002
Beiträge
35
Reaktionspunkte
0
Ich möcht gerne die Anmeldung der user per Script erledigen, so das den User ber der Anmeldung div. Laufwerke gemappt werden.
Gibt es vieleicht ein Tool womit das einfacher geht? oder ein paar gute Seiten mit beispielen?
 
  • #2
Sicher geht das.....
Stellt sich die Frage, was für eine Umgebung du hast - im AD kannst du Login-Skripts via GPO verordnen, im User-Profil selbst eintragen oder oder oder....

Generell könnte ein Script z.B. diesen Code enthalten:
Code:
net use LW: \\<server>\<share> /persistent:no
net use lptX: \\<server>\<printer> /persistent:no

Abspeichern solltest du das z.B. als login.bat oder login.cmd.

.....und natürlich noch viel mehr....

Infos zu GPOs:


Cheers,
Joshua
 
  • #3
Danke für die Antwort. Ich habs mal probiert aber wenn ich im Userkonto den Pfad eintrage wird er nicht gelesen (Win2K und Win NT4 Clients). Wenn ich in den Gruppenrichtlienien der OE unter Script als Anmeldescript eintrage gehts.
Ich möcht aber für jeden User auch ein persönliches Laufwerk mappen. Hast du einen Tipp für mich?

Ach ja noch was.
Was bedeutet eigentlich in deinem beispiel ..../persistent:no ?
 
  • #4
Tarzensworld schrieb:
Ich möcht aber für jeden User auch ein persönliches Laufwerk mappen. Hast du einen Tipp für mich?

du hast die moglichkeit die Varibale %USERNAME% (z. B.: net use h: \\server\%USERNAME%) zu nutzen oder
du kannst die Ordnerumleitung nutzen und die Eigenen Dateien auf den Server verlagern.


mfg
morpheus
 
  • #5
Danke für die schnelle Info !

Kannst du mir nur noch sagen, wofür ..../persistent:no im script steht?
 
  • #6
einfach gesagt, permanent oder nicht.
bei ..../persistent:no wird die Verbindung zu Server nach ca. 15 Minuten ohne jede Aktivität auf dem Share getrennt. Nur die momentane Verbindung, das LW bleibt weiterhin gemappt, kannst dann am roten Kreuz auf dem Icon erkennen.

gruß
morpheus
 
  • #7
morpheus schrieb:
einfach gesagt, permanent oder nicht.
bei ..../persistent:no wird die Verbindung zu Server nach ca. 15 Minuten ohne jede Aktivität auf dem Share getrennt. Nur die momentane Verbindung, das LW bleibt weiterhin gemappt, kannst dann am roten Kreuz auf dem Icon erkennen.

gruß
morpheus
Das stimmt so nicht - /persistent:no sagt nur aus, ob die Verbindung automatisch bei der nächsten Anmeldung wiederhergestellt werden soll.

Beispiel:
Rufe ich ein Anmeldeskript nur ein einziges Mal auf und verbinde Netz-Laufwerke ohne /persistent:no, werden diese bei jedem Neustart/bei jeder Neu-Anmeldung automatisch wieder verbunden ohne das erneute Ausführen des Skripts.

Trage ich den Parameter /persistent:no jedoch ein, wird die Laufwerksverbindung nicht automatisch wiederhergestellt, d.h. nur bei erneutem Ausführen des Skripts tauchen die Netzlaufwerke wieder auf.

Sinn macht diese Einstellung z.B. auf Rechnern, an denen sich unterschiedlich Personen anmelden. Beispiel:
Person A hat Zugriffsrechte auf \\server\freigabe1, Person B nicht. Führe ich net use ohne /persistent:no im Kontext von Person A aus und meldet sich dann Person B an, führt dies zu einer Fehlermeldung, nämlich Zugriff verweigert.

Cheers,
Joshua
 
  • #8
Hallo,

vielleicht noch ein kleiner Tipp, wenn du viel lust hast, kannst du mal KIX32 ausprobieren, damit lassen sich ganz gute LogonScripts schreiben.
Und bietet noch viele weitere Möglichkeiten.

Gruß
KingOfMalle :D
 
  • #9
Juhu !!!
Weiss hier wer wo ich das anmeldescript unter win 2003 server ablegen muss ????
 
  • #10
zerocool21 schrieb:
Juhu !!!
Weiss hier wer wo ich das anmeldescript unter win 2003 server ablegen muss ????
Kommt darauf an - im kompatiblen Modus für alte BS musst du es in der NETLOGON-Freigabe auf dem Server ablegen, ansonsten unter Scripts\<ID>

Cheers,
Joshua
 
  • #11
die datei heisst bei mir user.bat !!! Sie beinhaltet :
@echo off

net use t: \\dc1\test\ die datei hab ich im ADS beim user hinzugefügt auch als user.bat nur wird das laufwerk einfach nicht gemappt wenn ich mich als diesen user anmelde wieso ????
 
  • #12
wenn ich lokal das netzlaufwerk verbinde dann funtzt das auch kann auf die user.bat drauf zu greifen sie ausführen alles !!! Nur wenn ich versuche übers netzwerk die datei aufzurufen beim start klappt das einfac nicht ??? kann mir wer weiter helfen ?
 
  • #13
Hi @ all,

ich hab' hier in meinem Betrieb einen Windows Server 2003 mit Windows 2000 Pro Clients laufen. Nun benötige ich ein Anmeldescript, welches mir verschiedene Ordner mappt (abhängig von den OUs) und darüber hinaus sollte es auch die Drucker freigeben.

Kann mir jemand ein solches Script schon fertig servieren, oder wie muss ich das erstellen? Bzw. wo muss ich es letztendlich abspeichern.

Danke schonmal im vorraus für eure Hilfe! ;D

Gruß,
phantomspawn 8-$
 
  • #14
Hallo,
fast servierfertige Produkte gibt es im Supermarkt. Bei Loginscriten muss für jeden Einsatzzweck das Anforderungsprofil festgelegt und dann daraus das Script selbst entwickelt werden.
Es ist in der Regel nicht zweckmäßig, für jeden User ein extra Sript zu schreiben. Das geht bei zwei bis fünf Usern, nicht bei 20-200. Das Sript musß also allgemeingülting, bedingte Abläufe möglich sein.
Unter Umständen ist es nötig, Plausibilitätsprüfungen vorzunehmen und Fehlschläge zu dokumentieren und dies dem User/Admin mitzuteilen.

Solch ein Script kann mit einer Farbänderung des Fensters beginnen, gefolgt von einer Änderung des Scripttitels.
Dann kann eine Begrüßung des Benutzers folgen.

Ich hänge hier mal ein Loginscript an.

@echo off
color 70
c:
cd\
rem start \\fs1\netlogon\autoit.exe \\fs1\netlogon\SilentLogin.aut
rem start \\fs1\netlogon\autoit.exe \\fs1\netlogon\RegistrationNotice.aut



rem del c:\mcafee.reg
cls
rem @echo on

set local=%computername:~1,3%
rem if %local%==100 \\fs1\netlogon\shutdown.exe -l
rem if not %username%==Haendler \\fs1\netlogon\shutdown.exe -l


title %username%

if %local%==100 (
if not %username%==Haendler (
\\fs1\netlogon\logoff.exe /n
))

if %local%==500 (
if not %username%==SPR (
\\fs1\netlogon\logoff.exe /n
))


echo.
echo Sehr geehrte Dame, sehr geehrter Herr,
echo.
echo Sie haben sich als %username% an der Domain %userdomain% angemeldet.
echo.
echo Der Name Ihrer Workstation ist: %computername% in Raum %local%
echo.
echo Ihr Logonserver ist: %logonserver%
echo.
echo Der Zeitserver der Domain ist FS1.
rem pause
echo.
echo Die Zeit von %computername% wird mit der des Zeitservers synchronisiert.
echo.
rem echo on
::time
rem net time \\fs1 /set /yes > %userprofil%\login.txt
for /f %%e in ('time /t') do set time=%%e
echo Die Zeit ist: %time%

::Members
rem \\fs1\netlogon\ifmember.exe /list
rem > %userprofil%\member.txt

rem pause
::Member & Division
rem echo on
::map Division
\\fs1\netlogon\ifmember.exe St-BAFS
if errorlevel 1 (
net use h: \\FS-BAFS\BA202$ /persistent:no
net use i: \\FS-BAFS\BA202R$ /persistent:no
net use j: \\FS-BAFS\BA203$ /persistent:no
net use k: \\FS-BAFS\BA203R$ /persistent:no
net use l: \\FS-BAFS\BA204$ /persistent:no
net use m: \\FS-BAFS\BA204R$ /persistent:no
net use n: \\FS-BAFS\FS203$ /persistent:no
net use o: \\FS-BAFS\FS204$ /persistent:no
net use s: \\FS-BAFS\BA201$ /persistent:no
net use t: \\FS-BAFS\BA201R$ /persistent:no
) > nul
rem pause
echo on
\\fs1\netlogon\ifmember.exe LT-NLL
if errorlevel 1 (
if exist \\FS1\%username%Home$ net use p: \\FS1\%username%Home$ /persistent:no >> login.txt
if exist \\FS1\%username%$ net use p: \\FS1\%username%$ /persistent:no >> login.txt
net use x: \\FS1\Office2000 /persistent:no >> login.txt
net use q: \\FS1\Download /persistent:no >> login.txt
net use r: \\FS1\Clipart /persistent:no >> login.txt
)
pause
::map user

if %username%==Scheel (
net use g: \\FS-BAFS\e$ /persistent:no
net use p: \\FS-BAFS\Scheel$ /persistent:no
net use h: \\FS-BAFS\BA202$ /persistent:no
net use i: \\FS-BAFS\BA202R$ /persistent:no
net use j: \\FS-BAFS\BA203$ /persistent:no
net use k: \\FS-BAFS\BA203R$ /persistent:no
net use l: \\FS-BAFS\BA204$ /persistent:no
net use m: \\FS-BAFS\BA204R$ /persistent:no
net use n: \\FS-BAFS\FS203$ /persistent:no
net use o: \\FS-BAFS\FS204$ /persistent:no
net use s: \\FS-BAFS\BA201$ /persistent:no
net use t: \\FS-BAFS\BA201R$ /persistent:no
) > nul

::delete printers

net use > netuse.txt

for /F tokens=2 %%e in ('find LPT1 netuse.txt') do set lpt=%%e
if %lpt%==LPT1 net use lpt1 /del

for /F tokens=2 %%e in ('find LPT2 netuse.txt') do set lpt=%%e
if %lpt%==LPT2 net use lpt2 /del

for /F tokens=2 %%e in ('find LPT3 netuse.txt') do set lpt=%%e
if %lpt%==LPT3 net use lpt3 /del

::map printers
rem @echo off
set local=%computername:~1,3%
set computer=%computername:~5,2%

if %local%==413 (
net use lpt1: \\PS413\HPLJ4050 /persistent:no >> login.txt
net use lpt2: \\PS413\HPDJ895 /persistent:no >> login.txt
)

if %local%==412 (
net use lpt1: \\PS412\HPLJ6 /persistent:no >> login.txt
net use lpt2: \\PS412\HPDJ895 /persistent:no >> login.txt
)

if %local%==411 (
net use lpt1: \\PS411\HPLJ4050 /persistent:no >> login.txt
net use lpt2: \\PS411\HPDJ895 /persistent:no >> login.txt
)
goto next1
if %local%==214 (
net use lpt1: \\ps214\HPLJ4050 /persistent:no >> login.txt
)
:next1
if %local%==203 (
net use lpt1: \\FS1\R203-HPLJ5SI /persistent:no >> login.txt
net use lpt2: \\FS1\R203-HPDJ895 /persistent:no >> login.txt
)

if %local%==201 (
net use lpt1: \\ps201\HPLJ4050 /persistent:no >> login.txt
net use lpt2: \\ps201\HPDJ870C /persistent:no >> login.txt
)


::view map
echo.
echo Sie haben folgende Netzwerkverbindungen:
echo.
net use
echo.

rem if not exist c:\programme\tippkönigin\tippkönigin.exe copy \\fs1\software\tippkönigin /e c:\programme\tippkönigin

for /f %%e in ('time /t') do set time=%%e
set separator=%time:~2,1%
if %separator%==: (
set hour=%time:~0,2%
set minute=%time:~3,2%
) else (
set hour=%time:~0,1%
set minute=%time:~2,2%)

set time=%hour%%minute%

for /f tokens=1,2 %%e in ('date /t') do set date=%%f
set day=%date:~0,2%
set month=%date:~3,2%
set year=%date:~6,4%
set date=%day%%month%%year%
rem pause
set connect=%date%%time%%username%%computername%.txt
rem echo %connect%
net use > %connect%
echo.
rem pause
copy c:\%connect% \\fs1\ConnectProtokolle\%connect% >> login.txt
if exist \\fs1\ConnectProtokolle\%connect% (
echo Das ConnectProtokoll
echo c:\%connect%
echo wurde nach \\FS1\ConnectProtokolle kopiert.
)
rem pause
rem del %connect%

echo.

if exist c:\Dokumente und Einstellungen\%username%\desktop\connect.bat del c:\Dokumente und Einstellungen\%username%\desktop\connect.bat
if exist c:\Dokumente und Einstellungen\%username%\desktop\ copy \\fs1\netlogon\meldung.doc c:\Dokumente und Einstellungen\%username%\desktop\Stoerungsmeldung.doc >> c:\login.txt
rem pause
rem copy \\fs1\netlogon\connect.bat %userprofile%\desktop >> c:\login.txt
rem pause
rem if not errorlevel 1 (
rem echo Das Programm Connect wurde auf Ihren Desktop kopiert.
rem echo Mit Connect k?nnen Sie Ihre Netzwerkverbindungen sehen und wiederherstellen.
rem )
echo.
rem echo %sdat%
rem pause

::Virenschutzkonfiguration auslesen
set SDATPACK.LST=c:\programme\McAfee\McAfee VirusScan\SDATPACK.LST
if exist %SDATPACK.LST% for /F tokens=2 %%e in ('findstr Engine %SDATPACK.LST%') do set engine=%%e
if exist %SDATPACK.LST% for /F tokens=4 %%e in ('findstr AVPARAM %SDATPACK.LST%') do set avparam=%%e
if exist %SDATPACK.LST% for /F tokens=4 %%e in ('findstr MCSCAN %SDATPACK.LST%') do set mcscan=%%e
if exist %SDATPACK.LST% for /F tokens=2 %%e in ('findstr DAT.Files %SDATPACK.LST%') do set dat=%%e
if exist %SDATPACK.LST% for /F tokens=4 %%e in ('findstr CLEAN %SDATPACK.LST%') do set clean=%%e
if not exist c:\programme\McAfee\McAfee VirusScan\SDATPACK.LST set dat=0000

set ActivityLogPath=c:\programme\McAfee\McAfee VirusScan\Activity Log\VScan.Log
if exist %ActivityLogPath% (
for /F skip=5 tokens=1,1 %%a in ('dir %ActivityLogPath%') do (set activity=%%a & goto out)
:eek:ut
set lastscan=%activity:~0,10%
)
::Virenschutzkonfiguration an Server senden
set NAIUpdate=%computername%.%dat%
echo %engine% %avparam% %dat% %clean% %lastscan% > \\fs1\AntiVirusUpdateProtokolle\%naiupdate%.txt

::Virenschutzkonfiguration anzeigen
echo.
echo Die Virenschutzkonfiguration ist:
echo Engine: %engine% vom %avparam%
echo Scanner and Shield: %mcscan%
echo Virusdefinition: %dat% vom %clean%
if exist %ActivityLogPath% echo Letzter Scan: %lastscan%
echo.
echo.
echo          Sehr geehrte Dame, sehr geehrter Herr,
echo          Bitte haben Sie etwas Geduld!
echo          Mit freundlichem Gruss
echo          Ihr EDV-Service
echo.
echo.

rem call c:\%sdat% /v
rem exit
rem @echo on
::AntiVirusUpdate erkunden
set Router=Router100

if exist \\%Router%\netlogon\sdat*.exe (
for /f %%e in ('dir/b \\%Router%\netlogon\sdat*.exe') do set sdat=%%e
)
rem if not defined %sdat% goto end


::AntiVirusUpdate auf den lokalen Rechner kopieren
if not %local%==214 (
if not exist c:\%sdat% (
del c:\sdat*.exe
echo.
echo Die Datei %sdat% wird kopiert.
copy \\%Router%\netlogon\%sdat% c:\
echo.
)
)
rem pause
if %local%==214 ( if not exist c:\Dokumente und Einstellungen\%username%\%sdat% (
if exist c:\Dokumente und Einstellungen\%username%\sdat*.exe del c:\sdat*.exe
echo.
echo Die Datei %sdat% wird kopiert.
copy \\%Router%\netlogon\%sdat% c:\Dokumente und Einstellungen\%username%\
echo.
)
)


rem pause
call :update

rem start \\fs1\netlogon\autoit.exe \\fs1\netlogon\Update.aut
rem if exist c:\programme\mcafee\mcafee virusscan\vsmain.exe c:\programme\mcafee\mcafee virusscan\vsmain.exe
rem if exist c:\programme\mcafee\mcafeevirusscan\vsmain.exe c:\programme\mcafee\mcafeevirusscan\vsmain.exe

echo.
echo          Sehr geehrte Dame, sehr geehrter Herr,
echo          der Virenschutz des Rechners wird nun aktualisiert.
echo          Bitte haben Sie etwas Geduld!
echo          Mit freundlichem Gruss
echo          Ihr EDV-Service
rem call c:\%sdat% /v
rem pause
:end
exit

:Update rem bedingt ausführen
if not sdat%dat%.exe==%sdat% (
start \\fs1\netlogon\autoit.exe \\fs1\netlogon\McUpdate.aut
start runas /user:lubeca\mcafee \\fs1\netlogon\McUpdate.bat
)
Goto :EOF


[blue]EDIT by Joshua:
Smilie-Darstellung ausgeschaltet wg. fehlerhafter Darstellung des Codes[/blue]
 
  • #15
Das Script ist speziell für den Einsatz in einer NT-Domäne mit W2k-Clients im Ausbildungsnetz eines Bildungsunternehmens entwickelt. Dieses Netz umfast eine Reihe von Unterrichtsräumen(%local%) verschiedener Art und Rechnermengen. Auch eine Differenzierung nach Klientel ist berücksichtigt. (Haendler, LT-NLL, St-BAFS, Scheel). Es werden Netzlaufwerke nach Klietel und Drucker in Abhängigkeit vom Raum(%local%) gemappt. Der Wert für die Variable %local% wird aus dem Rechnernamen gewonnen. Die Rechnernamen sind aus der Raumnummer und einer Folgenummer zusammengesetzt. Die Raum wurde aus Gebäudenummer, Stockwerknummer und einer Laufnummer gebildet (R214-PC01).
Weiter wird der Zustand des Virenscanners ausgelesen, bedingt ein Update auf den Rechner kopiert und ausgeführt.

Für weitere Fragen bin ich hier im Forum erreichbar per Mail erreichbar(*****@gmx.de).

Gruß
Edgar


[blue]EDIT by Joshua:
Mail-Adresse wg. Spamgefahr unkenntlich gemacht.[/blue]
 
  • #16
@Lefgrün:
Ich habe mir erlaubt, deine beiden Postings zu bearbeiten; im ersten Post habe ich die Smilie-Darstellung deaktiviert, sah etwas seltsam aus der Code mit Smilie drin ;-)
Im zweiten Post habe ich deine Mail-Adresse entfernt, da diese hier sonst im Klartext von jedem Spider gelesen werden kann und du mit Spam überschütten werden könntest.
Davon abgesehen sind Aufforderung zur weiteren Diskussion per Mail/Messenger generell nicht gern gesehen - ein Forum lebt von der Interaktion zwischen den Usern und nicht von privaten Mails/Diskussionen.

Cheers,
Joshua
 
  • #17
Hallo Joshua,

ich bitte um Entschuldigung.

Gruß
Edgar
 
Thema:

Anmeldescript erstellen

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben