This commit is contained in:
T0MuX 2021-11-26 22:01:09 +01:00
parent cdc18eb337
commit 546eb90f2f
13 changed files with 483 additions and 0 deletions

BIN
NoSleep/AutoHotkeyU64.exe Normal file

Binary file not shown.

39
NoSleep/NoSleep.SED Normal file
View file

@ -0,0 +1,39 @@
[Version]
Class=IEXPRESS
SEDVersion=3
[Options]
PackagePurpose=InstallApp
ShowInstallProgramWindow=1
HideExtractAnimation=1
UseLongFileName=1
InsideCompressed=0
CAB_FixedSize=0
CAB_ResvCodeSigning=0
RebootMode=N
InstallPrompt=%InstallPrompt%
DisplayLicense=%DisplayLicense%
FinishMessage=%FinishMessage%
TargetName=%TargetName%
FriendlyName=%FriendlyName%
AppLaunched=%AppLaunched%
PostInstallCmd=%PostInstallCmd%
AdminQuietInstCmd=%AdminQuietInstCmd%
UserQuietInstCmd=%UserQuietInstCmd%
SourceFiles=SourceFiles
[Strings]
InstallPrompt=L'ordinateur va rester actif (pas d'écran noir, ni de vérouillage de session, ni de veille) après avoir cliqué sur OUI, jusqu'à que vous fermiez le programme "nosleep.ahk" dans la barre des tâches. Son icone est un carré vert avec un H blanc.
DisplayLicense=
FinishMessage=
TargetName=C:\Users\thomas.hernandez\Desktop\NoSleep\NoSleep.exe
FriendlyName=NoSleep
AppLaunched=AutoHotkeyU64.exe nosleep.ahk
PostInstallCmd=<None>
AdminQuietInstCmd=
UserQuietInstCmd=
FILE0="AutoHotkeyU64.exe"
FILE1="nosleep.ahk"
[SourceFiles]
SourceFiles0=C:\Users\thomas.hernandez\Desktop\NoSleep\
[SourceFiles0]
%FILE0%=
%FILE1%=

BIN
NoSleep/NoSleep.exe Normal file

Binary file not shown.

7
NoSleep/README.md Normal file
View file

@ -0,0 +1,7 @@
NoSleep.exe est en fait une archive auto-extractible créée avec iexpress (outil intégré à Windows).
Elle contient un scrit .ahk, et le binaire AutoHotKeys.exe capable de l'ouvrir (disponibles dans ce dépôt, avec le fichier .SED qui permet la modification avec iexpress).
Cette appli permet d'empecher le système d'entrer dans le mode inactif (idle), en provoquant régulièrement (tous les 60 sec) un mouvement de souris (X+1, X-1). Cela ne perturbe absolument pas l'utilisation du système.
### Cas particulier
Le programme est extrait dans les temporaires windows à son lancement. Si il est en cours d'exécution et qu'un outil de nettoyage des temporaires est lancé, il cessera immédiatement de fonctionner.

15
NoSleep/nosleep.ahk Normal file
View file

@ -0,0 +1,15 @@
CoordMode, Mouse, Screen
MouseGetPos, CurrentX, CurrentY
Loop {
Sleep, 60000
LastX := CurrentX
LastY := CurrentY
MouseGetPos, CurrentX, CurrentY
If (CurrentX = LastX and CurrentY = LastY) {
MouseMove, 1, 1, , R
Sleep, 100
MouseMove, -1, -1, , R
}
}

17
new_user/README.md Normal file
View file

@ -0,0 +1,17 @@
# new_user
Ce script permet la création d'un dossier, du même nom que le username saisi, avec les droits suivants :
-> Désactive l'héritage des droits du dossier parent
-> Défini l'user en tant que propriétaire
- Supprime l'accès à "Tout le monde"
- Supprime l'accès à "Utilisateurs authentifiés"
# create_users
Ce script permet la création des utilisateurs en fonction d'une liste (users_to_create.txt) avec, à chaque utilisateur, l'application de toutes ces étapes :
- création du dossier personnel correspondant ([emplacement script]\Perso\username)
- appliquer les droits (identiques au script new_user)
- définir un quota de 10Go (!! attention le template doit déjà exister !!)
- génération d'un mot de passe aléatoire alphanumérique de 8 caractères
- incrémentation du fichier users_created.txt (contenant users passwords)
- incrémentation d'un log (create_users.log)
ATTENTION : la liste d'utilisateur (users_to_create.txt) doit impérativement être codé en OEM-850 si elle contient des caractères spéciaux... je conseille l'utilisation de Notepad++ pour ça. Si elle ne contient pas de caractères spéciaux, le notepad classique fera l'affaire.

111
new_user/create_users.cmd Normal file
View file

@ -0,0 +1,111 @@
@echo off
REM Attention encodage OEM-850
setlocal enableextensions enabledelayedexpansion
:checkadmin
REM Check excution du script en tant qu'admin
net session > NUL 2>&1
if %errorlevel% EQU 0 goto start
echo LE SCRIPT N'EST PAS LANC<4E> EN TANT QU'ADMINISTRATEUR !
pause > nul
exit
:start
REM Check si la liste d'users existe
cls
if not exist %~dp0\users_to_create.txt (
echo Le fichier users_to_create.txt n'existe pas.
echo Veuillez le crer, avec un utilisateur par ligne sous cette forme :
echo prenom.nom;Prnom NOM
echo.
echo ATTENTION le fichier doit ˆtre encod en OEM-850
pause > nul
exit
)
rem Comptage du nombre de lignes, et donc d'users
set /a lines=0
for /f "delims=;" %%L in ('type %~dp0\users_to_create.txt') do (set /a lines+=1)
REM Pour chaque ligne, crer un user avec son username, et son fullname
REM incrmentation du compteur pour donner une progression
REM dfinition des quotas
REM /!\ Le modŠle demand par la commande doit exister au pralable /!\
set /a count=0
for /F "delims=; tokens=1,2" %%A in ('type %~dp0\users_to_create.txt') do (
set user=%%A
set fname=%%B
set user=!user:~0,20!
call :create >> %~dp0\new_users.log
set /a count+=1
cls
if !count! EQU 1 echo !count!/%lines% utilisateur cr.
if !count! GTR 1 echo !count!/%lines% utilisateurs crs.
)
REM Fin du script
title Cration des utilisateurs termine.
pause > nul
exit
:create
title Cration de l'utilisateur %user% - %fname%
REM check existence user, si oui, vrifier existence dossier perso
set exists=0
net user !user! > NUL 2>&1
if %errorlevel% EQU 0 (
set exists=1
goto perso
)
call :pass
net user !user! !password! /add /DOMAIN /FULLNAME:"!fname!"
:perso
REM check si dossier perso existe, si oui dfinir quota
if exist %~dp0\Perso\!user! goto quota
echo Cration du dossier ...
mkdir %~dp0\Perso\!user!
echo.
echo Dfinition du propritaire ...
icacls %~dp0\Perso\!user! /setowner !user! /T
echo.
echo Dsactivation de l'hritage ...
icacls %~dp0\Perso\!user! /inheritance:d
echo.
echo Modification des droits ...
icacls %~dp0\Perso\!user! /grant !user!:(OI)(CI)(NP)(F)
icacls %~dp0\Perso\!user! /grant "Administrateurs":(OI)(CI)(F)
icacls %~dp0\Perso\!user! /remove "Tout le monde"
icacls %~dp0\Perso\!user! /remove "Utilisateurs authentifis"
echo.
:quota
echo Dfinition du quota...
dirquota quota add /Path:E:\Perso\!user! /SourceTemplate:"Perso 10 Go"
if %exists% EQU 1 goto :EOF
echo !user! !password!>>%~dp0\users_created.txt
goto :EOF
:pass
REM set /P _length=Password Length: %==%
set _length=8
set /a z = %_length%
set "string=ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz123456789"
set "password="
for /L %%i in (1,1,!z!) do call :_genRand
REM echo Password is: %password%
goto :EOF
:_genRand
set /a x=%random% %% 62
set password=%password%!string:~%x%,1!
goto :eof

46
new_user/new_user.cmd Normal file
View file

@ -0,0 +1,46 @@
@echo off
REM Attention encodage OEM-850
:checkadmin
net session > NUL 2>&1
if %errorlevel% EQU 0 goto start
echo LE SCRIPT N'EST PAS LANC<4E> EN TANT QU'ADMINISTRATEUR !
pause > nul
exit
:start
cls
echo Saisir le nom d'utilisateur
set /p user="> "
echo.
rem Controle de l'existence de l'user
net user %user% > NUL 2>&1
if %errorlevel% EQU 0 goto next
echo L'utilisateur %user% n'existe pas.
pause > nul
goto start
:next
echo Creation du dossier ...
mkdir %~dp0\%user%
echo.
echo Dfinition du propritaire ...
icacls %~dp0\%user% /setowner %user% /T
echo.
echo Dsactivation de l'hritage ...
icacls %~dp0\%user% /inheritance:d
echo.
echo Modification des droits ...
icacls %~dp0\%user% /grant %user%:(OI)(CI)(NP)(F)
icacls %~dp0\%user% /grant "Administrateurs":(OI)(CI)(F)
icacls %~dp0\%user% /remove "Tout le monde"
icacls %~dp0\%user% /remove "Utilisateurs authentifis"
echo.
echo Les droits ont bien t appliqu pour l'utilisateur %user%
echo.
pause
exit

View file

@ -0,0 +1,9 @@
user.test;Utilisateur de test
fanta.stick;Fanta Stick
jay.rhum;Jay Rhum
tah.mair;Tah Mair
alice.usse;Alice Usse
anne.halle;Anne Halle
maque.ronpeidet;Maque Ronpeidet
viv.linnuqs;Viv Linnuqs
anne.ulingus;Anne Ulingus

9
passgen/README.md Normal file
View file

@ -0,0 +1,9 @@
PassGen est un script permettant de générer un mot de passe aléatoire alphanumérique en fonction du nombre de caractère donné.
Pour des raisons de lisibilité les caractères suivants ont été retirés :
"O" lettre O majuscule
"0" chiffre zéro
"l" lettre L minuscule
"1" chiffre un
Cependant, vous pouvez les réactiver en les rajoutant dans le script (ligne 23 à ce jour).

33
passgen/passgen.cmd Normal file
View file

@ -0,0 +1,33 @@
@echo off
REM - Attention encodage OEM-850
REM - Options
ver=1.0
setlocal enableextensions enabledelayedexpansion
title PassGen %ver%
:menu
cls
echo Pour des raisons de lisibilit, les caractŠres suivants ne seront pas utiliss :
echo "O" lettre O majuscule
echo "0" chiffre zro
echo "l" lettre L minuscule
echo "1" chiffre un
echo.
:pass
set /P _length=Password Length: %==%
REM set _length=8
set /a z = %_length%
set "string=ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz123456789"
set "password="
for /L %%i in (1,1,!z!) do call :_genRand
echo Password is: %password%
pause > NUL
goto :menu
:_genRand
set /a x=%random% %% 62
set password=%password%!string:~%x%,1!
goto :eof

107
synczilla/synczilla.cmd Normal file
View file

@ -0,0 +1,107 @@
@echo off
title Synczilla
REM ATTENTION, encodage OEM 850
SETLOCAL EnableDelayedExpansion
REM Check argument
if "%1" NEQ "login" if "%1" NEQ "logout" (
echo Aucun ou mauvais argument. Veuillez prciser login ou logout.
pause > nul
exit
)
REM CHECK APPS OUVERTES
:ffloop
timeout 1 >NUL
tasklist | findstr firefox.exe 1>NUL
if %errorlevel% EQU 0 (cls && echo Veuillez fermer Firefox et appuyer sur Entre... && timeout 1>NUL && goto ffloop)
:thloop
timeout 1 >NUL
tasklist | findstr thunderbird.exe 1>NUL
if %errorlevel% EQU 0 (cls && echo Veuillez fermer Thunderbird et appuyer sur Entre... && timeout 1>NUL && goto thloop)
:chloop
timeout 1 >NUL
tasklist | findstr chrome.exe 1>NUL
if %errorlevel% EQU 0 (cls && echo Veuillez fermer Chrome et appuyer sur Entre... && timeout 1>NUL && goto chloop)
REM PARTIE RESTAURATION
if "%1" == "login" (
cls&&echo RESTAURATION......
if exist P: (
REM Check existance profil FF
if not exist %appdata%\Mozilla\Firefox (color 4f&&cls&&echo Aucun profil firefox trouv.&&echo Firefox n'est pas install, ou n'a jamais t lanc dans cette session sur cet ordinateur.&&pause>nul&&exit)
REM Rcup du nom du profil de destination
for /f "delims=/ tokens=2" %%a in ('type %appdata%\mozilla\firefox\profiles.ini ^| findstr Default^=Profiles') do set ffprofile=%%a
REM Restauration FF
copy /y P:\sync\ff-roaming\cert9.db %appdata%\Mozilla\Firefox\Profiles\!ffprofile!\
copy /y P:\sync\ff-roaming\cookies.sqlite %appdata%\Mozilla\Firefox\Profiles\!ffprofile!\
copy /y P:\sync\ff-roaming\key4.db %appdata%\Mozilla\Firefox\Profiles\!ffprofile!\
copy /y P:\sync\ff-roaming\permissions.sqlite %appdata%\Mozilla\Firefox\Profiles\!ffprofile!\
copy /y P:\sync\ff-roaming\places.sqlite %appdata%\Mozilla\Firefox\Profiles\!ffprofile!\
copy /y P:\sync\ff-roaming\favicons.sqlite %appdata%\Mozilla\Firefox\Profiles\!ffprofile!\
copy /y P:\sync\ff-roaming\webappsstore.sqlite %appdata%\Mozilla\Firefox\Profiles\!ffprofile!\
REM recup hostname dans variable pour le mettre dans le prefs.js
for /f %%a in ('hostname') do set hostname=%%a
type P:\sync\ff-roaming\prefs.js | findstr /v services.sync.client.name > %appdata%\Mozilla\Firefox\Profiles\!ffprofile!\prefs.js
echo user_pref^("services.sync.client.name", "!hostname!"^); >> %appdata%\Mozilla\Firefox\Profiles\!ffprofile!\prefs.js
if exist P:\sync\ff-roaming\extension-preferences.json copy /y P:\sync\ff-roaming\extension-preferences.json %appdata%\Mozilla\Firefox\Profiles\!ffprofile!\
if exist P:\sync\ff-roaming\extensions.json copy /y P:\sync\ff-roaming\extensions.json %appdata%\Mozilla\Firefox\Profiles\!ffprofile!\
if exist P:\sync\ff-roaming\extensions robocopy P:\sync\ff-roaming\extensions %appdata%\Mozilla\Firefox\Profiles\!ffprofile!\extensions /mir
REM Restauration TH
REM Rcup nom profil en cours
if exist P:\sync\th-roaming (robocopy /np /mir /xo P:\sync\th-roaming %appdata%\Thunderbird && copy /y P:\sync\th-roaming\profiles.ini %appdata%\Mozilla\Thunderbird)
REM Restauration Chrome
if exist P:\sync\chrome (robocopy /np /mir /xo P:\sync\chrome %localappdata%\Google\Chrome)
)
)
REM PARTIE SAUVEGARDE
if "%1" == "logout" (
cls&&echo SAUVEGARDE.....
if exist P: (
REM Check existance profil FF
if not exist %appdata%\Mozilla\Firefox (color 4f&&cls&&echo Aucun profil firefox trouv.&&echo Firefox n'est pas install, ou n'a jamais t lanc dans cette session sur cet ordinateur.&&pause>nul&&exit)
REM Rcup du nom du profil en cours … sauvegarder
for /f "delims=/ tokens=2" %%b in ('type %appdata%\mozilla\firefox\profiles.ini ^| findstr Default^=Profiles') do set ffprofile=%%b
REM Sauvegarde FF
set /a sync=0
type %appdata%\Mozilla\Firefox\Profiles\!ffprofile!\prefs.js | findstr services.sync > NUL
if !errorlevel!==0 set /a sync=1 else set /a sync=0
copy /y %appdata%\Mozilla\Firefox\Profiles\!ffprofile!\cert9.db P:\sync\ff-roaming\
copy /y %appdata%\Mozilla\Firefox\Profiles\!ffprofile!\cookies.sqlite P:\sync\ff-roaming\
copy /y %appdata%\Mozilla\Firefox\Profiles\!ffprofile!\key4.db P:\sync\ff-roaming\
copy /y %appdata%\Mozilla\Firefox\Profiles\!ffprofile!\permissions.sqlite P:\sync\ff-roaming\
copy /y %appdata%\Mozilla\Firefox\Profiles\!ffprofile!\places.sqlite P:\sync\ff-roaming\
copy /y %appdata%\Mozilla\Firefox\Profiles\!ffprofile!\favicons.sqlite P:\sync\ff-roaming\
copy /y %appdata%\Mozilla\Firefox\Profiles\!ffprofile!\webappsstore.sqlite P:\sync\ff-roaming\
copy /y %appdata%\Mozilla\Firefox\Profiles\!ffprofile!\prefs.js P:\sync\ff-roaming\
if !sync!==0 (
copy /y %appdata%\Mozilla\Firefox\Profiles\!ffprofile!\extension-preferences.json P:\sync\ff-roaming\
copy /y %appdata%\Mozilla\Firefox\Profiles\!ffprofile!\extensions.json P:\sync\ff-roaming\
robocopy %appdata%\Mozilla\Firefox\Profiles\!ffprofile!\extensions P:\sync\ff-roaming\extensions /mir
)
if !sync!==1 (
if exist P:\sync\ff-roaming\extension-preferences.json del /q P:\sync\ff-roaming\extension-preferences.json
if exist P:\sync\ff-roaming\extensions.json del /q P:\sync\ff-roaming\extensions.json
if exist P:\sync\ff-roaming\extensions rmdir /q /s P:\sync\ff-roaming\extensions
)
REM Sauvegarde TH
for /f "delims=/ tokens=2" %%a in ('type %appdata%\Thunderbird\profiles.ini ^| findstr "Path"') do set thprofile=%%a
if exist %appdata%\Thunderbird robocopy /np /mir /xo %appdata%\Thunderbird P:\sync\th-roaming /xd %appdata%\Thunderbird\Profiles\!thprofile!\Mail /xd %appdata%\Thunderbird\Profiles\!thprofile!\ImapMail
REM Sauvegarde Chrome
if exist %localappdata%\Google\Chrome robocopy /np /mir /xo %localappdata%\Google\Chrome P:\sync\chrome /xd "%localappdata%\Google\Chrome\User Data\Default\Cache" /xd "%localappdata%\Google\Chrome\User Data\Default\Code Cache"
)
)

90
wmicsum/wmicsum.cmd Normal file
View file

@ -0,0 +1,90 @@
@echo off
SETLOCAL EnableDelayedExpansion
set ver=0.1beta
title WMIC Summary v%ver%
set cols=80
mode con cols=%cols% lines=40
color 0a
cls
echo Rcupration des informations matrielles...
REM skip saute 1 ligne, tokens=* rcupŠre toute la ligne, /v "^$" supprime les lignes vide
for /f "skip=1 tokens=*" %%A in ('%WINDIR%\System32\wbem\wmic.exe bios get serialnumber^| findstr /v "^$"') do set hard_sn1=%%A
for /f "skip=1 tokens=*" %%A in ('%WINDIR%\System32\wbem\wmic.exe baseboard get serialnumber^| findstr /v "^$"') do set hard_sn2=%%A
set hard_sn_both=0
if "%hard_sn1%" neq "" if "%hard_sn2%" neq "" set hard_sn_both=1
for /f "skip=1 tokens=*" %%A in ('%WINDIR%\System32\wbem\wmic.exe computersystem get model^| findstr /v "^$"') do set hard_model=%%A
for /f "skip=1 tokens=*" %%A in ('%WINDIR%\System32\wbem\wmic.exe computersystem get systemfamily^| findstr /v "^$"') do set hard_family=%%A
for /f "skip=1 tokens=*" %%A in ('%WINDIR%\System32\wbem\wmic.exe cpu get name ^| findstr /v "^$"') do set hard_cpu=%%A
for /f "skip=1 tokens=*" %%A in ('%WINDIR%\System32\wbem\wmic.exe computersystem get numberoflogicalprocessors ^| findstr /v "^$"') do set hard_cpunum=%%A
set hard_cpunum=%hard_cpunum: =%
for /f "skip=1 tokens=*" %%A in ('%WINDIR%\System32\wbem\wmic.exe os get totalvisiblememorysize ^| findstr /v "^$"') do set ram_total=%%A
set /a ram_total=%ram_total% / 1024
REM DISKDRIVE
set /a "hddnum=1"
for /f "skip=1 tokens=*" %%A in ('%WINDIR%\System32\wbem\wmic.exe diskdrive get caption ^| findstr /v "^$"') do (
set hdd!hddnum!name=%%A
set /a "hddnum+=1"
)
set /a "hddnum=1"
for /f "skip=1 tokens=*" %%A in ('%WINDIR%\System32\wbem\wmic.exe diskdrive get size ^| findstr /v "^$"') do (
set hdd!hddnum!size=%%A
set /a "hddnum+=1"
)
REM PRINTERS
for /f "skip=1 tokens=*" %%A in ('%WINDIR%\System32\wbem\wmic.exe printer where "default=True" get name^,portname ^| findstr /v "^$"') do set hard_print=%%A
echo %hard_print% (Par dfaut)> %temp%\wmicsum_printers.txt
for /f "skip=1 tokens=*" %%A in ('%WINDIR%\System32\wbem\wmic.exe printer where "default=False" get name^,portname ^| findstr /v "^$"') do (
set hard_print=%%A
echo !hard_print:~0,%cols%!>> %temp%\wmicsum_printers.txt
)
echo Rcupration des informations systŠme...
for /f "tokens=1 delims=|" %%A in ('%WINDIR%\System32\wbem\wmic.exe os get name ^| findstr Windows') do set os_name=%%A
for /f "skip=1 tokens=1 delims=|" %%A in ('%WINDIR%\System32\wbem\wmic.exe os get Version ^| findstr .') do set os_version=%%A
if "%CommonProgramW6432%"=="" (set os_arch=32 bits) else (set os_arch=64 bits)
for /f "skip=1 tokens=*" %%A in ('%WINDIR%\System32\wbem\wmic.exe computersystem get name ^| findstr /v "^$"') do set hostname=%%A
for /f "skip=1 tokens=*" %%A in ('%WINDIR%\System32\wbem\wmic.exe computersystem get domain ^| findstr /v "^$"') do set domain=%%A
cls
echo Matriel
echo îîîîîîîî
if %hard_sn_both%==1 echo Numro de srie (Bios) : %hard_sn1% && echo Numro de srie (Carte mŠre) : %hard_sn2%
if %hard_sn_both%==0 if "%hard_sn1%" neq "" echo Numro de srie : %hard_sn1%
if %hard_sn_both%==0 if "%hard_sn2%" neq "" echo Numro de srie : %hard_sn2%
echo ModŠle : %hard_model%
if "%hard_family%" neq "" echo Famille : %hard_family%
echo Processeur : %hard_cpu% (x%hard_cpunum%)
echo Mmoire vive totale : %ram_total% Mo
REM … l'tape d'avant une ligne fantome est gnre... je compense en diminuant de 1 la valeur de %hddnum%
set /a "hddnummax=hddnum-1"
set /a "hddnum=1"
:hddoutput
set name=!hdd%hddnum%name!
set size=!hdd%hddnum%size: =!
REM set /a size=%size% / ?1024
REM je ne peux pas utiliser set /a car le nombre que je divise est trop grand pour set ...
echo Disque %hddnum% : %name% %size:~0,-10% Go
if %hddnum% EQU %hddnummax% goto hddend
set /a "hddnum+=1"
goto hddoutput
:hddend
echo.
echo SystŠme
echo îîîîîîî
echo Version : %os_name% %os_version%%os_arch%
echo Hostname : %hostname%
echo Domaine : %domain%
echo.
echo # Disques logiques locaux
for /f "skip=1 tokens=*" %%A in ('wmic logicaldisk get VolumeName^,Name^,Description^ ^| findstr /v "^$" ^| findstr /v "rseau"') do echo %%A
echo.
echo # Disques rseaux
for /f "skip=1 tokens=*" %%A in ('wmic logicaldisk get ProviderName^,Name^,Description^ ^| findstr /v "^$" ^| findstr /v "Disque"') do echo %%A
echo.
echo # Imprimantes
type %temp%\wmicsum_printers.txt
pause > nul
REM suppression des fichiers temporaires avant fermeture
del /q %temp%\wmicsum_printers.txt