{{tag> windows scripte}}
====== Struktur der Loginscripte für Windows Clients ======
Diese Scripte liegen am linuxmuster.net-Server unter **''/home/samba/netlogon''**. Sie lassen sich am Windows-Client ansprechen unter der Freigabe:
//server/netlogon/
und bestehen standardmäßig aus folgenden Dateien. Diese Scripte sind für den pgmadmin schreibbar.
login.bat
logon.bat
common.bat
teachers.bat
Diese Sripte werden der Reihe nach durch einen "call-Befehl" aufgerufen:
login.bat -> logon.bat -> common.bat
login.bat -> teachers.bat
===== Standard: Inhalt der Scripte (Stand Feb. 2015)=====
REM ****************************
REM * tschmitt@linuxmuster.net *
REM * 18.12.2014 *
REM ****************************
@echo off
if NOT "%OS%"=="Windows_NT" goto win9x
:winnt
call \\server\netlogon\logon.bat H: %USERNAME% K: pgm R: cdrom T: shares V: tasks
goto ende
:win9x
call \\server\netlogon\logon.bat H: homes K: pgm R: cdrom T: shares V: tasks
:ende
REM *******************************************************
REM * Schülerhomes für Lehrkräfte *
REM *******************************************************
if exist \\server\students call \\server\netlogon\teachers.bat
rem pause
@echo off
set SERVER=server
C:
if "%OS%"=="Windows_NT" goto winnt
REM *******************************************************
REM * Windows 9x/ME-spezifische Anweisungen *
REM *******************************************************
goto mapping
:winnt
REM *******************************************************
REM * Windows NT/2K/XP-spezifische Anweisungen *
REM *******************************************************
set NUOPT=/PERSISTENT:NO
echo Trenne alle Netzwerkfreigaben
net use * /DELETE /YES
\\%SERVER%\netlogon\sleep 1000
:mapping
REM *******************************************************
REM * Verbinde Netzwerkfreigaben *
REM *******************************************************
if "%1"=="" goto time
for %%i in (%1) do set DRIVE=%%i
shift
for %%i in (%1) do set SHARE=%%i
if not exist %DRIVE% goto connect
echo Trenne Laufwerk %DRIVE%
net use %DRIVE% /DELETE /YES > NUL
:connect
echo Verbinde %DRIVE% mit \\%SERVER%\%SHARE%
net use %DRIVE% \\%SERVER%\%SHARE% /YES %NUOPT% > NUL
shift
goto mapping
:time
REM *******************************************************
REM * Uhrzeit mit Server synchronisieren *
REM *******************************************************
echo Synchronisiere Uhrzeit mit Server
net time \\%SERVER% /SET /YES > NUL
REM *******************************************************
REM * Sonstige Anpassungen *
REM *******************************************************
if exist \\%SERVER%\netlogon\common.bat call \\%SERVER%\netlogon\common.bat
rem pause
REM Windows logon script common stuff, called by logon.bat
REM thomas@linuxmuster.net
REM 30.10.2014
@echo off
REM Do not for Windows version prior to Win2K.
if NOT "%OS%"=="Windows_NT" goto common_end
REM Extract servername from unc path.
set UNC=%0%
for /f "tokens=1 delims=\" %%i in ("%UNC%") do set SERVER=%%i
if "%SERVER%"=="" goto common_end
REM Create personal folders in homedir. Comment it out if you don't want.
for %%i in (Bilder Einstellungen Dokumente Downloads Musik Videos) do if not exist "H:\%%i" md "H:\%%i"
REM ### Add your custom stuff here - begin ###
REM ### Custom stuff - end ###
REM ### Default user profile stuff - begin ###
REM Set name for template user.
set TEMPLATE=pgmadmin
REM Do not for template user.
if "%USERNAME%"=="%TEMPLATE%" goto profile_end
REM Do not if user profile does not exist.
if NOT exist "%USERPROFILE%" goto profile_end
REM Replace template user paths in registry.
cd "%USERPROFILE%"
reg export "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" %USERNAME%.reg /y
cscript \\%SERVER%\netlogon\replace.vbs \\"%TEMPLATE%"\\ \\"%USERNAME%"\\ %USERNAME%.reg
reg import %USERNAME%.reg
reg export "HKCU\Control Panel\Desktop" %USERNAME%.reg /y
cscript \\%SERVER%\netlogon\replace.vbs \\"%TEMPLATE%"\\ \\"%USERNAME%"\\ %USERNAME%.reg
reg import %USERNAME%.reg
reg export "HKCU\Software\Microsoft\GDIPlus" %USERNAME%.reg /y
cscript \\%SERVER%\netlogon\replace.vbs \\"%TEMPLATE%"\\ \\"%USERNAME%"\\ %USERNAME%.reg
reg import %USERNAME%.reg
reg export "HKCU\Software\Microsoft\MediaPlayer\Preferences" %USERNAME%.reg /y
cscript \\%SERVER%\netlogon\replace.vbs \\"%TEMPLATE%"\\ \\"%USERNAME%"\\ %USERNAME%.reg
reg import %USERNAME%.reg
reg export "HKCU\Software\Microsoft\Windows\CurrentVersion\Themes" %USERNAME%.reg /y
cscript \\%SERVER%\netlogon\replace.vbs \\"%TEMPLATE%"\\ \\"%USERNAME%"\\ %USERNAME%.reg
reg import %USERNAME%.reg
reg export "HKCU\Software\Microsoft\Windows Media\WMSDK\Namespace" %USERNAME%.reg /y
cscript \\%SERVER%\netlogon\replace.vbs \\"%TEMPLATE%"\\ \\"%USERNAME%"\\ %USERNAME%.reg
reg import %USERNAME%.reg
del %USERNAME%.reg
REM Patch drive names
REM pgm
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##%SERVER%#pgm /v _LabelFromReg /t REG_SZ /f /d "Programme"
REM cdrom
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##%SERVER%#cdrom /v _LabelFromReg /t REG_SZ /f /d "CDs"
REM share
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##%SERVER%#shares /v _LabelFromReg /t REG_SZ /f /d "Tauschen"
REM tasks
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##%SERVER%#tasks /v _LabelFromReg /t REG_SZ /f /d "Vorlagen"
REM students
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##%SERVER%#students /v _LabelFromReg /t REG_SZ /f /d "Schuelerhomes"
REM home
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##%SERVER%#%USERNAME% /v _LabelFromReg /t REG_SZ /f /d "Home von %USERNAME%"
:profile_end
REM ### Default user profile stuff - end ###
REM End of script
:common_end
REM ****************************
REM * tschmitt@linuxmuster.net *
REM * 18.12.2014 *
REM ****************************
@echo off
if not exist S: goto connect
echo Trenne Laufwerk S:
net use S: /DELETE /YES > NUL
:connect
echo Verbinde S: mit \\server\students
net use S: \\server\students /YES /PERSISTENT:NO > NUL