Logo Pastebin.fr
Pastebin

Retrouvez, créez et partagez vos snippets en temps réel.

Ppp

# crea_comptes_peda_v2.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"

$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."
    }
}

# Création des comptes eleve / prof
Ensure-LocalUser -UserName "eleve" -Password $elevePassword -FullName "Compte eleve"
Ensure-LocalUser -UserName "prof"  -Password $profPassword  -FullName "Compte prof"

Write-Host "`n=== Blocage des outils système pour eleve et prof ===`n"

function Deny-ToolsForUser {
    param(
        [string]$UserName
    )

    $targets = @(
        "$env:WINDIR\System32\cmd.exe",
        "$env:WINDIR\System32\WindowsPowerShell\v1.0\powershell.exe",
        "$env:WINDIR\System32\WindowsPowerShell\v1.0\powershell_ise.exe",
        "$env:WINDIR\System32\control.exe",
        "$env:WINDIR\regedit.exe",
        "$env:WINDIR\System32\mmc.exe",
        "$env:WINDIR\System32\taskmgr.exe",
        "$env:WINDIR\ImmersiveControlPanel\SystemSettings.exe"  # Paramètres Windows
    )

    foreach ($t in $targets) {
        if (Test-Path $t) {
            Write-Host "Blocage de $t pour l'utilisateur $UserName"
            icacls "$t" /deny "$UserName:(RX)" > $null 2>&1
        }
    }
}

Deny-ToolsForUser -UserName "eleve"
Deny-ToolsForUser -UserName "prof"

Write-Host "`nTerminé."
Write-Host "Les comptes 'eleve' et 'prof' ne peuvent plus lancer CMD, PowerShell, Panneau de config, Paramètres, Regedit, MMC, Gestionnaire des tâches, etc."
Write-Host "Ton compte admin / mini n'est pas touché."

Créé il y a 2 mois.

Rechercher un Pastebin

Aucun paste trouvé.