$User = "Студент"
$SID = (Get-LocalUser -Name $User).SID.Value
$RegPath = "Registry::HKEY_USERS\$SID\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\RestrictRun"
# Запрашиваем у админа имя исполняемого файла
$NewApp = Read-Host "Введите имя файла для добавления в Белый список (например, calc.exe)"
if ($NewApp -notmatch '\.exe$') { $NewApp += ".exe" }
# Находим все существующие номера программ в списке и вычисляем следующий свободный номер
$CurrentApps = Get-ItemProperty -Path $RegPath -ErrorAction SilentlyContinue
$NextIndex = 1
if ($CurrentApps) {
$Indices = $CurrentApps.PSObject.Properties | Where-Object { $_.Name -match '^\d+$' } | ForEach-Object { [int]$_.Name }
if ($Indices) { $NextIndex = ($Indices | Measure-Object -Maximum).Maximum + 1 }
}
# Добавляем программу под новым порядковым номером
Set-ItemProperty -Path $RegPath -Name ([string]$NextIndex) -Value $NewApp -Type String -Force
Write-Host "Программа $NewApp успешно добавлена в Белый список Студента под номером $NextIndex!" -ForegroundColor Green
Start-Sleep -Seconds 3