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


# 1. Укажите путь к папке, куда сохранить результат (например, C:\IPv6_Report)
$TargetFolder = "C:\IPv6_Report"
$FileName = "IPv6_Status_Report.csv"
$FullLogPath = Join-Path $TargetFolder $FileName

# Создаем папку, если она еще не существует
if (!(Test-Path $TargetFolder)) {
    New-Item -ItemType Directory -Path $TargetFolder -Force | Out-Null
}

# 2. Получаем имя текущего компьютера и статус IPv6 для всех его адаптеров
$ComputerName = $env:COMPUTERNAME
$IPv6Status = Get-NetAdapterBinding -ComponentID ms_tcpip6 -ErrorAction SilentlyContinue

# 3. Формируем отчет
$Report = foreach ($Adapter in $IPv6Status) {
    [PSCustomObject]@{
        ComputerName   = $ComputerName
        AdapterName    = $Adapter.Name
        InterfaceAlias = $Adapter.InterfaceAlias
        IPv6Enabled    = $Adapter.Enabled
        CheckDate      = (Get-Date -Format "yyyy-MM-dd HH:mm:ss")
    }
}

# 4. Записываем результат в файл (с кодировкой UTF8 для корректного отображения кириллицы)
if ($Report) {
    $Report | Export-Csv -Path $FullLogPath -NoTypeInformation -Delimiter ";" -Encoding UTF8
    Write-Host "Проверка завершена. Отчет сохранен в: $FullLogPath" -ForegroundColor Green
} else {
    Write-Warning "Не удалось получить данные о сетевых адаптерах."
}