Pastebin
Retrouvez, créez et partagez vos snippets en temps réel.
Rechercher un Pastebin
Aucun paste trouvé.
Créer un paste
Pastebin
Blog
Kezkzkeke
# crea_comptes_peda.ps1 # A lancer en tant qu'administrateur sur chaque PC # Vérifie qu'on est bien en admin $principal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent()) if (-not $principal.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)) { Write-Error "Merci de lancer ce script en tant qu'administrateur." exit 1 } Write-Host "=== Création / vérification des comptes eleve et prof ===`n" # Mots de passe $elevePassword = "eleve" $profPassword = "prof" function Ensure-LocalUser { param( [string]$UserName, [string]$Password, [string]$FullName ) if (-not (Get-LocalUser -Name $UserName -ErrorAction SilentlyContinue)) { Write-Host "Création du compte $UserName ..." net user $UserName $Password /add /y /fullname:"$FullName" /passwordchg:no /passwordreq:yes | Out-Null net localgroup "Users" $UserName /add | Out-Null } else { Write-Host "Le compte $UserName existe déjà, je ne le recrée pas." } } # 1) Création des comptes Ensure-LocalUser -UserName "eleve" -Password $elevePassword -FullName "Compte eleve" Ensure-LocalUser -UserName "prof" -Password $profPassword -FullName "Compte prof" Write-Host "`n=== Application des restrictions (si profils déjà créés) ===`n" function Lockdown-UserProfile { param( [string]$ProfilePath, [string]$HiveName ) $ntuserPath = Join-Path $ProfilePath "NTUSER.DAT" if (-not (Test-Path $ntuserPath)) { Write-Host "Profil $ProfilePath non prêt (pas encore de NTUSER.DAT). Connecte-toi une fois avec ce compte puis relance le script." return } Write-Host "Chargement de la ruche du profil: $ProfilePath" reg load "HKU\$HiveName" "$ntuserPath" > $null 2>&1 try { # Bases de registres $explorerBase = "HKU\$HiveName\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" $systemBase = "HKU\$HiveName\Software\Microsoft\Windows\CurrentVersion\Policies\System" $cmdBase = "HKU\$HiveName\Software\Policies\Microsoft\Windows\System" # Création des clés (reg add sans valeur, juste pour s'assurer que la clé existe) reg add "$explorerBase" /f > $null 2>&1 reg add "$systemBase" /f > $null 2>&1 reg add "$cmdBase" /f > $null 2>&1 # Interdit Panneau de configuration reg add "$explorerBase" /v NoControlPanel /t REG_DWORD /d 1 /f > $null 2>&1 # Interdit Exécuter, menus contextuels, etc. reg add "$explorerBase" /v NoRun /t REG_DWORD /d 1 /f > $null 2>&1 reg add "$explorerBase" /v NoViewContextMenu /t REG_DWORD /d 1 /f > $null 2>&1 reg add "$explorerBase" /v NoFileMenu /t REG_DWORD /d 1 /f > $null 2>&1 reg add "$explorerBase" /v NoChangeStartMenu /t REG_DWORD /d 1 /f > $null 2>&1 # Interdit le gestionnaire des tâches reg add "$systemBase" /v DisableTaskMgr /t REG_DWORD /d 1 /f > $null 2>&1 # Interdit totalement CMD pour ce profil (2 = tout bloqué) reg add "$cmdBase" /v DisableCMD /t REG_DWORD /d 2 /f > $null 2>&1 Write-Host "Restrictions appliquées sur le profil: $ProfilePath" } finally { reg unload "HKU\$HiveName" > $null 2>&1 } } $eleveProfile = "C:\Users\eleve" $profProfile = "C:\Users\prof" if (Test-Path $eleveProfile) { Lockdown-UserProfile -ProfilePath $eleveProfile -HiveName "EleveHive" } else { Write-Host "Le dossier $eleveProfile n'existe pas encore. Connecte-toi une fois avec le compte 'eleve', puis relance le script." } if (Test-Path $profProfile) { Lockdown-UserProfile -ProfilePath $profProfile -HiveName "ProfHive" } else { Write-Host "Le dossier $profProfile n'existe pas encore. Connecte-toi une fois avec le compte 'prof', puis relance le script." } Write-Host "`nTerminé." Write-Host "Rappel :" Write-Host "1) Lancer ce script en admin -> crée les comptes." Write-Host "2) Se connecter une fois avec 'eleve' et 'prof' (pour créer leurs profils)." Write-Host "3) Relancer ce script en admin -> applique les blocages (CMD, Panneau de config, etc.)."
Créé il y a 2 mois.