Загрузка данных
# ==========================================
# ВХОДНЫЕ ДАННЫЕ
# ==========================================
$GpoName = "BasicGPO1"
$DomainDN = "DC=baryshev,DC=local"
$TargetOU = "OU=STUDENTS,$DomainDN"
# ==========================================
# 0. ПРОВЕРКА ПРАВ И МОДУЛЕЙ
# ==========================================
if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {
Write-Error "Ошибка: Запустите PowerShell от имени Администратора!"
exit
}
Import-Module ActiveDirectory -ErrorAction Stop
Import-Module GroupPolicy -ErrorAction Stop
Write-Host " Начинаем настройку GPO '$GpoName'..." -ForegroundColor Cyan
# ==========================================
# 1. СОЗДАНИЕ И ПРИВЯЗКА GPO К OU
# ==========================================
$gpo = Get-GPO -Name $GpoName -ErrorAction SilentlyContinue
if (-not $gpo) {
Write-Host "[+] Создаем объект групповой политики: $GpoName" -ForegroundColor Green
$gpo = New-GPO -Name $GpoName -Comment "Автоматически созданная политика безопасности"
} else {
Write-Host "[!] GPO '$GpoName' уже существует. Использование имеющегося объекта." -ForegroundColor Yellow
}
$linkExists = Get-GPInheritance -Target $TargetOU | Select-Object -ExpandProperty GpoLinks | Where-Object { $_.DisplayName -eq $GpoName }
if (-not $linkExists) {
Write-Host "[+] Привязываем GPO '$GpoName' к подразделению: $TargetOU" -ForegroundColor Green
New-GPLink -Name $GpoName -Target $TargetOU -LinkEnabled Yes | Out-Null
} else {
Write-Host "[!] GPO '$GpoName' уже привязан к $TargetOU." -ForegroundColor Yellow
}
# ==========================================
# 2. НАСТРОЙКА ПАРАМЕТРОВ РЕЕСТРА В GPO
# ==========================================
# --- Пункт 3: Запретить смену заставки ---
Set-GPRegistryValue -Name $GpoName -Key "HKCU\Software\Policies\Microsoft\Windows\Control Panel\Desktop" -ValueName "NoDispScrSavPage" -Type DWord -Value 1
# --- Пункт 4: Установить единую заставку рабочего стола ---
Set-GPRegistryValue -Name $GpoName -Key "HKCU\Software\Policies\Microsoft\Windows\Control Panel\Desktop" -ValueName "ScreenSaveActive" -Type DWord -Value 1
Set-GPRegistryValue -Name $GpoName -Key "HKCU\Software\Policies\Microsoft\Windows\Control Panel\Desktop" -ValueName "SCRNSAVE.EXE" -Type String -Value "Mystify.scr"
# --- Пункт 5: Запретить смену аватара учетной записи ---
Set-GPRegistryValue -Name $GpoName -Key "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer" -ValueName "UseDefaultTile" -Type DWord -Value 1
# --- Пункт 7: Запретить использование камер ---
Set-GPRegistryValue -Name $GpoName -Key "HKLM\SOFTWARE\Policies\Microsoft\Windows\AppPrivacy" -ValueName "LetAppsAccessCamera" -Type DWord -Value 2
# --- Пункт 8: Запретить пользователям удалять обновления системы ---
Set-GPRegistryValue -Name $GpoName -Key "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\UI\Settings" -ValueName "HideMsoUControl" -Type DWord -Value 1
# --- Пункт 9: Отключить приложение MS Store ---
Set-GPRegistryValue -Name $GpoName -Key "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsStore" -ValueName "RemoveWindowsStore" -Type DWord -Value 1
# ==========================================
# 3. ДОПОЛНИТЕЛЬНЫЕ НАСТРОЙКИ СИСТЕМЫ
# ==========================================
# --- Пункт 1 и 2: Блокировка учеток и сложность паролей ---
Write-Host "[+] Настраиваем политику паролей и блокировки учеток на домене..." -ForegroundColor Green
net accounts /lockoutthreshold:5 /lockoutduration:30 /lockoutwindow:30 /minpwlen:8
# --- Пункт 6: Создание ярлыка Калькулятора на общем рабочем столе ---
Write-Host "[+] Создаем ярлык калькулятора для всех пользователей..." -ForegroundColor Green
$PublicDesktop = [Environment]::GetFolderPath('CommonDesktopDirectory')
$ShortcutPath = Join-Path $PublicDesktop "Калькулятор.lnk"
$WScriptShell = New-Object -ComObject WScript.Shell
$Shortcut = $WScriptShell.CreateShortcut($ShortcutPath)
$Shortcut.TargetPath = "$env:windir\System32\calc.exe"
$Shortcut.Save()
Write-Host "`n Все параметры успешно применены!" -ForegroundColor Green
Write-Host "Откройте 'gpmc.msc', найдите OU 'STUDENTS' -> 'BasicGPO1' и сделайте скриншоты для отчета." -ForegroundColor Cyan