371 lines
12 KiB
Batchfile
371 lines
12 KiB
Batchfile
@echo off
|
|
|
|
rem ===================
|
|
rem GLOBAL VARS
|
|
rem ===================
|
|
|
|
set TOOLS=c:\tools
|
|
set SCRIPT_SETTINGS=%TOOLS%\scripts\settings.cmd
|
|
set COMPANY_SETTINGS=%TOOLS%\company\settings.cmd
|
|
set USERCONFIG_DONE=%LOCALAPPDATA%\.userconfig_done
|
|
set EMLICENSE_DONE=%LOCALAPPDATA%\.emlicense_done
|
|
set STARTMENU=%APPDATA%\"Microsoft\Windows\Start Menu\Programs"
|
|
set STARTMENU_PUBLIC=%PROGRAMDATA%\"Microsoft\Windows\Start Menu\Programs"
|
|
|
|
|
|
rem ===================
|
|
rem DEFAULTS
|
|
rem ===================
|
|
|
|
set bgcol_R=0
|
|
set bgcol_G=0
|
|
set bgcol_B=0
|
|
set LANG=en-US
|
|
set support_user=
|
|
set support_password=
|
|
set emclient_license=0
|
|
set seafile_domain=0
|
|
|
|
echo ####### %0 #######
|
|
|
|
|
|
rem ===================
|
|
rem CONFIGFILE CHECKS
|
|
rem ===================
|
|
|
|
echo searching for SCRIPT settings ...
|
|
if NOT EXIST %SCRIPT_SETTINGS% (
|
|
echo INFO: config file %COMPANY_SETTINGS% NOT FOUND
|
|
) else (
|
|
echo OK. Loading SCRIPT settings ...
|
|
call %SCRIPT_SETTINGS%
|
|
echo LANG=%LANG%
|
|
)
|
|
|
|
echo searching for COMPANY settings ...
|
|
if NOT EXIST %COMPANY_SETTINGS% (
|
|
echo INFO: config file %COMPANY_SETTINGS% NOT FOUND
|
|
) else (
|
|
echo OK. Loading COMPANY settings ...
|
|
call %COMPANY_SETTINGS%
|
|
)
|
|
|
|
|
|
rem ===================
|
|
rem EMCLIENT LICENSING
|
|
rem ===================
|
|
|
|
rem licensing for emClient already done ?
|
|
if EXIST %EMLICENSE_DONE% GOTO EMCLIENT_END
|
|
|
|
if %emclient_license% == 0 (
|
|
echo no em Client license found!
|
|
) else (
|
|
echo.
|
|
if EXIST "%ProgramFiles(x86)%\eM Client\MailClient.exe" (
|
|
echo adding em Client license ...
|
|
"%ProgramFiles(x86)%\eM Client\MailClient.exe" /activate %emclient_license%
|
|
|
|
rem create a statusfile (this codeblock must be executed only once per use) ...
|
|
echo 1 >%EMLICENSE_DONE%
|
|
|
|
) else (
|
|
echo em Client is NOT installed!
|
|
)
|
|
echo.
|
|
)
|
|
|
|
:EMCLIENT_END
|
|
|
|
|
|
rem ================================================
|
|
rem GENERIC SETTINGS FOR THE USER (this runs always)
|
|
rem ================================================
|
|
|
|
echo removing wallpaper ...
|
|
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v WallPaper /t REG_SZ /d " " /f 1>nul
|
|
RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters
|
|
|
|
echo setting desktop colour (RGB) ...
|
|
%TOOLS%\setbgcol %bgcol_R% %bgcol_G% %bgcol_B%
|
|
|
|
echo starting BGInfo ...
|
|
%TOOLS%\bginfo\bginfo64.exe %TOOLS%\bginfo\config.bgi /NOLICPROMPT /silent /timer:0
|
|
|
|
echo setting RECYCLE BIN limits ...
|
|
powershell -command %TOOLS%\scripts\set-recyclebin.ps1
|
|
|
|
echo remapping Desktop folder to standard location ...
|
|
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" ^
|
|
/v Desktop /t REG_EXPAND_SZ /d "%%USERPROFILE%%\Desktop" /f 1>nul
|
|
|
|
rem =========
|
|
rem SEAFILE
|
|
rem =========
|
|
|
|
rem check for existence of client binary ...
|
|
if EXIST "%ProgramFiles%\Seafile\bin\seafile-applet.exe" (
|
|
echo setting autostart for SEAFILE ...
|
|
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" ^
|
|
/v Seafile /t REG_SZ /d "%ProgramFiles%\Seafile\bin\seafile-applet.exe" /f 1>nul
|
|
)
|
|
|
|
rem fix for broken SEAFILE folder access rights ...
|
|
if EXIST %USERPROFILE%\Seafile (
|
|
echo removing SEAFILE folder system attributes ...
|
|
attrib -S %USERPROFILE%\Seafile /S /D
|
|
)
|
|
|
|
rem ==================================================
|
|
rem USER TWEAKS AND CONFIG FILES (this runs only once)
|
|
rem ==================================================
|
|
|
|
rem User tweaks already done ?
|
|
if EXIST %USERCONFIG_DONE% GOTO USERTWEAKS_DONE
|
|
|
|
rem WORKSPACE folder
|
|
echo creating folder %USERPROFILE%\workspace ...
|
|
mkdir %USERPROFILE%\workspace 1>nul 2>nul
|
|
|
|
rem SSH
|
|
echo setting up ssh client ...
|
|
mkdir %USERPROFILE%\.ssh 1>nul 2>nul
|
|
copy /Y %TOOLS%\scripts\config\ssh-config.txt %USERPROFILE%\.ssh\config
|
|
|
|
rem VIM
|
|
echo copying vimrc ...
|
|
copy /Y %TOOLS%\scripts\config\vimrc.txt %USERPROFILE%\.vimrc
|
|
|
|
rem WINDOWS TERMINAL
|
|
echo seting up WINDOWS TERMINAL ...
|
|
set LOCALSTATE=%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState
|
|
mkdir %LOCALSTATE% 1>nul 2>nul
|
|
copy /Y %TOOLS%\scripts\config\wt-settings.json %LOCALSTATE%\settings.json
|
|
|
|
rem TOTALCOMMANDER
|
|
mkdir %APPDATA%\GHISLER 1>nul 2>nul
|
|
echo copying ini file for TOTALCOMMANDER ...
|
|
copy /Y %TOOLS%\optional\config\WINCMD.ini %APPDATA%\GHISLER
|
|
echo copying TOTALCOMMANDER ftp config file ...
|
|
copy /Y %TOOLS%\optional\config\wcx_ftp.ini %APPDATA%\GHISLER
|
|
|
|
rem THISPC
|
|
echo Adding "This PC" icon for current user on desktop Windows 10 ...
|
|
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel" ^
|
|
/v "{20D04FE0-3AEA-1069-A2D8-08002B30309D}" /t REG_DWORD /d 0 /f 1>nul
|
|
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu" ^
|
|
/v "{20D04FE0-3AEA-1069-A2D8-08002B30309D}" /t REG_DWORD /d 0 /f 1>nul
|
|
|
|
echo Refreshing desktop (W10 style)
|
|
ie4uinit.exe -show
|
|
|
|
echo Adding seconds to clock ...
|
|
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" ^
|
|
/v "ShowSecondsInSystemClock" /t REG_DWORD /d 1 /f 1>nul
|
|
|
|
echo setting GLOBAL view mode for windows EXPLORER ...
|
|
powershell -command %TOOLS%\scripts\set-explorer-viewmode.ps1
|
|
|
|
echo Enabling the show file extensions feature in explorer ...
|
|
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" ^
|
|
/v "HideFileExt" /t REG_DWORD /d 0 /f 1>nul
|
|
|
|
echo Do not add "-Shortcut" text to the name of newly created shortcuts ...
|
|
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer" ^
|
|
/v "link" /t REG_BINARY /d "00000000" /f 1>nul
|
|
|
|
echo Disabling search box on taskbar ...
|
|
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search" ^
|
|
/v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f 1>nul
|
|
|
|
echo Disabling multi tasking view button on the taskbar ...
|
|
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" ^
|
|
/v "ShowTaskViewButton" /t REG_DWORD /d 0 /f 1>nul
|
|
|
|
echo Disabling cortana button on the taskbar ...
|
|
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" ^
|
|
/v "ShowCortanaButton" /t REG_DWORD /d 0 /f 1>nul
|
|
|
|
echo Loading OpenShell config ...
|
|
rem config must be full qualified pathname (OpenShell BUG!)
|
|
set CONFIG=%TOOLS%\scripts\config\OpenshellSettings.xml
|
|
"%ProgramFiles%"\Open-Shell\StartMenu.exe -xml %CONFIG%
|
|
|
|
echo Removing user folders from explorer navigation pane ...
|
|
for %%K in (
|
|
{0DB7E03F-FC29-4DC6-9020-FF41B59E513A}
|
|
{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}
|
|
{D3162B92-9365-467A-956B-92703ACA08AF}
|
|
{088E3905-0323-4B02-9826-5D99428E115F}
|
|
{3DFDF296-DBEC-4FB4-81D1-6A3438BCF4DE}
|
|
{24AD3AD4-A569-4530-98E1-AB02F9417AA8}
|
|
{F86FA3AB-70D2-4FC7-9C99-FCBF05467F3A}
|
|
) do (
|
|
echo %%K
|
|
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideMyComputerIcons" ^
|
|
/v "%%K" /t REG_DWORD /d 1 /f 1>nul
|
|
)
|
|
|
|
echo Adding home folder to explorer navigation pane ...
|
|
reg add "HKEY_CURRENT_USER\Software\Classes\CLSID\{59031a47-3f72-44a7-89c5-5595fe6b30ee}" ^
|
|
/v "System.IsPinnedToNameSpaceTree" /t REG_DWORD /d 1 /f 1>nul
|
|
|
|
echo Make explorer show ThisPC on top ...
|
|
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" ^
|
|
/v "LaunchTo" /t REG_DWORD /d 1 /f 1>nul
|
|
|
|
echo Cleaning up recent files and libraries ...
|
|
del /F /Q %APPDATA%\Microsoft\Windows\Recent\AutomaticDestinations\* 2>nul
|
|
del /F /Q %APPDATA%\Microsoft\Windows\Recent\* 2>nul
|
|
del /F /Q %APPDATA%\Microsoft\Windows\Libraries\* 2>nul
|
|
|
|
echo Disabling frequent and recent files in explorer ...
|
|
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer" ^
|
|
/v "ShowRecent" /t REG_DWORD /d 0 /f 1>nul
|
|
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer" ^
|
|
/v "ShowFrequent" /t REG_DWORD /d 0 /f 1>nul
|
|
|
|
echo disabling unwanted NETWORK features ...
|
|
powershell -command %TOOLS%\scripts\disable-networkfeatures.ps1
|
|
|
|
rem try to cleanup the tiles in the start menu (only for admins)
|
|
call %TOOLS%\scripts\cleanup-tiles.cmd
|
|
|
|
rem =========
|
|
rem SEAFILE
|
|
rem =========
|
|
|
|
echo setting path for SEAFILE files ...
|
|
reg add "HKEY_CURRENT_USER\SOFTWARE\SeaFile" ^
|
|
/v "PreconfigureDirectory" /d "%USERPROFILE%" /t REG_SZ /f 1>nul
|
|
|
|
echo setting USERNAME for SEAFILE ...
|
|
if seafile_domain == 0 (
|
|
echo no SeaFile domain found - cannot guess username!
|
|
) else (
|
|
echo guessing SEAFILE username and setting token...
|
|
reg add "HKEY_CURRENT_USER\SOFTWARE\SeaFile" ^
|
|
/v "PreconfigureUsername" /d "%USERNAME%@%seafile_domain%" /t REG_SZ /f 1>nul
|
|
reg add "HKEY_CURRENT_USER\SOFTWARE\SeaFile" ^
|
|
/v "PreconfigureUserToken" /d "null" /t REG_SZ /f 1>nul
|
|
)
|
|
|
|
rem create a statusfile (this codeblock must be executed only once per user) ...
|
|
echo 1 >%USERCONFIG_DONE%
|
|
|
|
:USERTWEAKS_DONE
|
|
|
|
|
|
rem ========================================
|
|
rem ACCOUNT CLEANUP AND FIXES (runs always)
|
|
rem ========================================
|
|
|
|
echo.
|
|
echo #####
|
|
echo ##### CLEANING ...
|
|
echo #####
|
|
echo.
|
|
|
|
echo Reorganizing start menu and desktop ...
|
|
echo ########################################
|
|
echo.
|
|
|
|
rem ... stupid OS problem #4
|
|
rem why the heck are "System Tools" installed per user ? stupid Microsoft.
|
|
echo Moving system tools links ...
|
|
move /Y %STARTMENU%\"System Tools\*.*" ^
|
|
%STARTMENU_PUBLIC%\"System Tools" 2>nul
|
|
|
|
rem Removing and renaming some start menu stuff ...
|
|
move /Y %STARTMENU_PUBLIC%\"System Tools\computer.lnk" ^
|
|
%STARTMENU_PUBLIC%\"System Tools\This PC.lnk" 2>nul
|
|
del /F %STARTMENU_PUBLIC%\"System Tools\Command Prompt.lnk" 2>nul
|
|
|
|
rem ... stupid OS problem #5
|
|
rem same here for the accessibility tools. WHY ? stupid Microsoft.
|
|
echo Moving accessibility tools ...
|
|
move /Y %STARTMENU%\"Accessibility\*.*" ^
|
|
%STARTMENU_PUBLIC%\"Accessibility" 2>nul
|
|
|
|
rem ... stupid OS problem #6
|
|
rem Edge is such a zombie!
|
|
echo Removing microsoft edge links in start menu...
|
|
del /F %STARTMENU%\"Microsoft Edge.lnk" 2>nul
|
|
del /F %USERPROFILE%\"Desktop\Microsoft Edge.lnk" 2>nul
|
|
|
|
rem ... stupid OS problem #7
|
|
rem Rewards ? Really ? Seriously ?
|
|
echo Disabling nag screen in windows settings ...
|
|
%TOOLS%\vivetool delconfig 18299130 1
|
|
|
|
rem IE too!
|
|
echo Removing IE links in start menu, sigh ...
|
|
del /F %STARTMENU%\"Accessories\Internet Explorer.lnk" 2>nul
|
|
|
|
rem finally remove some useless directories in the users start menu ...
|
|
echo Removing more startmenu crap ...
|
|
rd /S /Q %STARTMENU%\"Accessories" 2>nul
|
|
rd /S /Q %STARTMENU%\"Accessibility" 2>nul
|
|
rd /S /Q %STARTMENU%\"Administrative Tools" 2>nul
|
|
rd /S /Q %STARTMENU%\"Maintenance" 2>nul
|
|
rd /S /Q %STARTMENU%\"System Tools" 2>nul
|
|
rd /S /Q %STARTMENU%\"Windows Powershell" 2>nul
|
|
echo.
|
|
|
|
rem WARNING!
|
|
rem DO NOT remove the "PICTURES" folder!
|
|
rem this is used and needed by the snipping tool!
|
|
|
|
echo Cleaning users home directory ...
|
|
echo ########################################
|
|
echo.
|
|
|
|
echo 3D Objects ...
|
|
rd /S /Q %USERPROFILE%\"3D Objects" 2>nul
|
|
|
|
echo Links ...
|
|
rd /S /Q %USERPROFILE%\"Links" 2>nul
|
|
|
|
echo Saved Games (folder used by Microsoft only) ...
|
|
rd /S /Q %USERPROFILE%\"Saved Games" 2>nul
|
|
|
|
echo Searches ...
|
|
rd /S /Q %USERPROFILE%\"Searches" 2>nul
|
|
|
|
for %%D in (
|
|
|
|
Contacts
|
|
Documents
|
|
Favorites
|
|
Music
|
|
Searches
|
|
Videos
|
|
|
|
) do (
|
|
|
|
echo %%D ...
|
|
attrib -R -S -H %USERPROFILE%\%%D 1>nul 2>nul
|
|
attrib -R -S -H %USERPROFILE%\%%D\desktop.ini 1>nul 2>nul
|
|
del /F /Q %USERPROFILE%\%%D\desktop.ini 2>nul
|
|
rmdir /Q %USERPROFILE%\%%D 2>nul
|
|
|
|
)
|
|
|
|
echo creating Pictures folder for Snipping Tool ...
|
|
mkdir %USERPROFILE%\Pictures 2>nul
|
|
|
|
echo.
|
|
echo Starting workstation service ...
|
|
net start workstation 1>nul 2>nul
|
|
net config workstation
|
|
|
|
echo ####### %0 #######
|
|
|
|
if %ERRORLEVEL% NEQ 0 (
|
|
echo # unknown ERROR! #
|
|
echo ####### %0 #######
|
|
echo.
|
|
pause
|
|
)
|
|
|