Загрузка данных


# Проверка прав администратора
if (-not ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {
    Write-Warning "КРИТИЧЕСКАЯ ОШИБКА: Запустите PowerShell ОТ ИМЕНИ АДМИНИСТРАТОРА!"
    Exit
}

Clear-Host
Write-Host "=== АВТОМАТИЗАЦИЯ НАСТРОЙКИ ВМ ДЛЯ ViPNet ===" -ForegroundColor Cyan

# 1. Сбор данных
$num = Read-Host "Введите ваш номер по журналу (две цифры, например: 05)"
$type = Read-Host "Какая это машина? (1 - Admin, 2 - Client)"

if ($type -eq "1") {
    $computerName = "Net1-Admin$num"
} else {
    $computerName = "Net2-Client$num"
}

# 2. Изменение даты
Write-Host "`n[1/4] Установка даты на 10.03.2026..." -ForegroundColor Yellow
Set-Date -Date "10.03.2026"
Write-Host "Дата успешно изменена!" -ForegroundColor Green
Write-Host " СДЕЛАЙ СКРИНШОТ часов в трее (нижний правый угол) для отчета!" -ForegroundColor Magenta
Read-Host "Нажмите Enter, чтобы продолжить..."

# 3. Изменение имени компьютера
Write-Host "`n[2/4] Изменение имени компьютера на $computerName..." -ForegroundColor Yellow
Rename-Computer -NewName $computerName -Force
Write-Host "Имя изменено на $computerName (вступит в силу после перезагрузки)." -ForegroundColor Green
Write-Host " СДЕЛАЙ СКРИНШОТ этого окна PowerShell, чтобы препод видел команду смены имени!" -ForegroundColor Magenta
Read-Host "Нажмите Enter, чтобы продолжить..."

# 4. Установка дополнений гостевой ОС VirtualBox
Write-Host "`n[3/4] Поиск диска Guest Additions..." -ForegroundColor Yellow
$vboxDrive = Get-WmiObject Win32_CDROMDrive | Where-Object { $_.VolumeName -match "VBox" } | Select-Object -ExpandProperty Drive

if ($vboxDrive) {
    Write-Host "Диск найден в приводе $vboxDrive. Запускаю тихую установку..." -ForegroundColor Green
    Write-Host "Сейчас начнется установка дополнений. Экран может моргнуть." -ForegroundColor Cyan
    Start-Process "$vboxDrive\VBoxWindowsAdditions.exe" -ArgumentList "/S" -Wait
    Write-Host "Установка дополнений Guest Additions завершена." -ForegroundColor Green
} else {
    Write-Warning "Привод VirtualBox Guest Additions не найден!"
    Write-Host "Пожалуйста, в меню VirtualBox нажмите: Устройства -> Подключить образ диска гостевой ОС." -ForegroundColor Cyan
    Read-Host "Как только подключите, нажмите Enter для повторной попытки..."
    $vboxDrive = Get-WmiObject Win32_CDROMDrive | Where-Object { $_.VolumeName -match "VBox" } | Select-Object -ExpandProperty Drive
    if ($vboxDrive) {
        Start-Process "$vboxDrive\VBoxWindowsAdditions.exe" -ArgumentList "/S" -Wait
    }
}

# 5. Инструкция по общей папке перед перезагрузкой
Write-Host "`n[4/4] Подготовка к работе с общей папкой..." -ForegroundColor Yellow
Write-Host "Для того чтобы общая папка заработала, её нужно СОЗДАТЬ В НАСТРОЙКАХ САМОЙ ВМ на хосте:" -ForegroundColor Cyan
Write-Host " Назовите её точно: общаяпапка$num" -ForegroundColor Windows
Write-Host " Поставьте галочку 'Авто-подключение'." -ForegroundColor Windows
Write-Host " Сделай скриншот настроек папки в самом VirtualBox!" -ForegroundColor Magenta

# 6. Финал и перезагрузка
Write-Host "`nНастройка завершена. Требуется перезагрузка для применения имени ПК и Guest Additions." -ForegroundColor Yellow
$reboot = Read-Host "Перезагрузить компьютер прямо сейчас? (Y/N)"
if ($reboot -eq "Y" -or $reboot -eq "y") {
    Restart-Computer -Force
}