# НАСТРОЙКИ
$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 "=== УСТАНОВКА ЗАВЕРШЕНА ==="