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


$report = @()
$report += "=== ДИАГНОСТИКА ПЕЧАТИ ==="
$report += "Время: $(Get-Date)"
$report += "Пользователь: $env:USERNAME ($env:USERDNSDOMAIN)"
$report += "---"
$report += "Служба спулера: $(Get-Service Spooler | Select-Object Status, StartType)"
$report += "---"
$report += "Принтеры:"
Get-Printer | Where-Object DriverName -like "*Kyocera*" | ForEach-Object {
    $jobs = (Get-PrintJob -PrinterName $_.Name -ErrorAction SilentlyContinue | Measure-Object).Count
    $report += "$($_.Name): $jobs заданий в очереди, статус $($_.PrinterStatus)"
}
$report += "---"
$report += "Права на папку C:\Windows\System32\spool\PRINTERS:"
$acl = Get-Acl "C:\Windows\System32\spool\PRINTERS" -ErrorAction SilentlyContinue
$acl.Access | Where-Object { $_.IdentityReference -like "*$env:USERNAME*" -or $_.IdentityReference -like "*Users*" } | ForEach-Object {
    $report += "  $($_.IdentityReference) : $($_.FileSystemRights)"
}
$report | Out-File "$env:USERPROFILE\Desktop\print_diagnostic.txt"
Write-Host "Отчёт сохранён на рабочий стол: print_diagnostic.txt" -ForegroundColor Green