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