# PowerShell скрипт для изменения громкости всех PowerShell процессов param( [int]$Volume = 7 ) # Получаем все процессы PowerShell кроме текущего $processes = Get-Process | Where-Object { $_.ProcessName -eq 'powershell' -and $_.Id -ne $PID } Write-Host "Найдено PowerShell процессов: $($processes.Count)" foreach ($proc in $processes) { Write-Host "Изменяем громкость процесса $($proc.Id) на $Volume%" # Используем nircmd если доступен $nircmdPath = Join-Path $PSScriptRoot "tools\nircmd.exe" if (Test-Path $nircmdPath) { & $nircmdPath setappvolume /pid:$($proc.Id) ($Volume / 100) } else { # Альтернатива - изменить системную громкость Write-Host "nircmd.exe не найден в $nircmdPath" } } # Альтернативный метод через Windows Core Audio API Add-Type @" using System; using System.Runtime.InteropServices; using System.Collections.Generic; public class VolumeControl { public static void SetProcessVolume(int processId, float volume) { // Здесь должен быть код для работы с Windows Core Audio API // Но это требует сложной интеграции с COM интерфейсами } } "@ Write-Host "Громкость изменена на $Volume%"