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


# НАСТРОЙКИ
$NetContainerPath = "\\server\crypto\zam_container"
$NetCertPath = "\\server\crypto\zam_cert.cer"
$ContainerName = "zam_container"

# ЛОКАЛЬНЫЕ ПУТИ
$LocalAppData = [Environment]::GetFolderPath("LocalApplicationData")
$LocalContainerPath = Join-Path $LocalAppData "CryptoPro\$ContainerName"
$MarkerFile = Join-Path $LocalAppData "Clinic_Chairman_Deployed_v1.txt"
$LogFile = Join-Path $LocalAppData "Clinic_Chairman_Deploy.log"

# ФУНКЦИЯ ЛОГИРОВАНИЯ
function Write-Log {
    param([string]$Message)
    $timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
    Add-Content -Path $LogFile -Value "$timestamp | $env:COMPUTERNAME | $env:USERNAME | $Message" -ErrorAction SilentlyContinue
}

# ПРОВЕРКА: УЖЕ УСТАНОВЛЕНО?
if (Test-Path $MarkerFile) { Exit }

Write-Log "=== НАЧАЛО УСТАНОВКИ ==="

# ШАГ 1: КОПИРУЕМ КОНТЕЙНЕР
try {
    if (-not (Test-Path $LocalContainerPath)) {
        New-Item -Path $LocalContainerPath -ItemType Directory -Force | Out-Null
    }
    Copy-Item -Path "$NetContainerPath\*" -Destination $LocalContainerPath -Force -Recurse
    Write-Log "Контейнер скопирован"
} catch {
    Write-Log "ОШИБКА: $_"
    Exit
}

# ШАГ 2: ИМПОРТИРУЕМ СЕРТИФИКАТ
try {
    certutil.exe -user -addstore "My" $NetCertPath | Out-Null
    Write-Log "Сертификат импортирован"
} catch {
    Write-Log "ОШИБКА: $_"
    Exit
}

# ШАГ 3: СТАВИМ МАРКЕР
New-Item -Path $MarkerFile -ItemType File -Force | Out-Null
Write-Log "=== УСТАНОВКА ЗАВЕРШЕНА ==="