# ===================================================================== # Ztrass.com - CorelDRAW Makro & Eklenti Profesyonel Kurulumu # Kullanim: irm it.ztrass.com/cdr | iex # ===================================================================== $ErrorActionPreference = "Continue" $Host.UI.RawUI.WindowTitle = "Ztrass CorelDRAW Kurulum" try { [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 } catch {} # --- Hata Kodu Toplama --- $script:Errors = @() $script:ErrorCodes = @() function Add-ZtrassError { param([string]$Code, [string]$Detail) $script:ErrorCodes += $Code $script:Errors += "$Code : $Detail" } # --- Global Hata Yakalayici (Kritik Hatalari it.ztrass.com Sunucusuna Raporlar) --- trap { $crashMsg = $_.Exception.Message $crashLine = $_.InvocationInfo.ScriptLineNumber $crashStack = $_.ScriptStackTrace Write-Host "`n[ZTRASS KURULUM HATASI] $crashMsg" -ForegroundColor Red if ($crashLine) { Write-Host "Satir: $crashLine" -ForegroundColor DarkRed } try { $mGuid = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Cryptography' -Name MachineGuid -ErrorAction SilentlyContinue).MachineGuid if (-not $mGuid) { $mGuid = $env:COMPUTERNAME } $crashPayload = @{ action = "event" system = "macro" category = "macro" event_type = "cdr_crash_error" log_type = "error" issue_type = "error" issue_title = "PowerShell Kritik Hata: $crashMsg" issue_details = "Kritik PowerShell Hatasi:`nMesaj: $crashMsg`nSatir: $crashLine`nStack: $crashStack" title = "PowerShell Kritik Hata: $crashMsg" details = "Kritik PowerShell Hatasi:`nMesaj: $crashMsg`nSatir: $crashLine`nStack: $crashStack" pc_name = $env:COMPUTERNAME username = $env:USERNAME machine_guid = $mGuid error_count = 1 errors_json = (@($crashMsg) | ConvertTo-Json -Compress) is_event = $true } | ConvertTo-Json -Depth 3 Invoke-RestMethod -Uri "https://it.ztrass.com/api/it-log" -Method Post -Body $crashPayload -ContentType "application/json; charset=utf-8" -TimeoutSec 10 -ErrorAction SilentlyContinue | Out-Null Write-Host "Hata bilgisi otomatik olarak https://it.ztrass.com paneline iletildi." -ForegroundColor Yellow } catch {} Write-Host "`nPencere 10 saniye sonra kapanacak..." -ForegroundColor Gray Start-Sleep -Seconds 10 exit 1 } # --- 1. Yonetici Yetkisi Kontrolu (Self-Elevate) --- $isAdmin = ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) if (-not $isAdmin) { Write-Host "[BILGI] Yonetici izinleri aliniyor..." -ForegroundColor Cyan try { Start-Process powershell.exe -Verb RunAs -ArgumentList "-ExecutionPolicy Bypass -NoProfile -Command `"irm it.ztrass.com/cdr | iex`"" exit } catch { Write-Host "[UYARI] Yonetici izni verilmedi: $($_.Exception.Message)" -ForegroundColor Yellow Start-Sleep -Seconds 3 exit } } # --- 2. Modern Grafik Arayuz (WPF Splash Screen) Baslatma --- $script:hasGui = $false $script:window = $null $script:sliderTimer = $null try { Add-Type -AssemblyName PresentationFramework, PresentationCore, WindowsBase -ErrorAction Stop $xaml = @"