установить устройство связи по умолчанию windows 10 powershell

установить устройство связи по умолчанию windows 10 powershell

powershell устройство связи по умолчанию.\

можно ли установить вывод аудиоустройства в качестве устройства связи по умолчанию в PowerShell? Мне это нужно, потому что я переключаюсь между динамиками и наушниками. Я уже использую AudioDeviceCmdlets в PowerShell, чтобы установить аудиоустройство в качестве вывода по умолчанию.

Я уже пробовал сделать это в реестре, но PowerShell не может изменить значение в этой конкретной части (я запустил PowerShell в режиме администратора)

с помощью этого я хочу создать скрипт, который может видеть, какое устройство выключено или включено, а затем переключаться на динамики или наушники в качестве выходного сигнала.

У меня уже есть этот код:

если((Get-PnpDevice -InstanceId 'INSTANCEID' | Select-Object -Property status) -eq "OK"){ Disable-PnpDevice -InstanceId 'INSTANCEID' -confirm:$false Enable-PnpDevice -InstanceId 'INSTANCEID' -confirm:$false } Else { Enable-PnpDevice -InstanceId 'INSTANCEID' -confirm:$false }

аудиоустройство по умолчанию выход наушники GAME Set-AudioDevice -ID "deviceid"

выход аудиоустройства по умолчанию Динамики Set-AudioDevice -ID "deviceid"

танки.

решение1

Я никогда не пробовал это в PowerShell, но я использую это из PowerShell:

nircmd.exe setdefaultsounddevice FrontHeadphones

где FrontHeadphonesимя аудиоустройства, вам нужноNircmd от NirSoftдля этого.

решение2

Попробуйте сделать следующее, при необходимости внесите изменения.

Переключение аудиовхода и аудиовыхода с помощью PowerShell

Все, что делает диалог панели управления под капотом, это меняет несколько параметров реестра. Мне нужен был скрипт, который позволял бы мне переключаться с одного профиля на другой.

    $r = [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
    $regRoot = "HKCU:\Software\Microsoft\"
    
    
    $profiles = @{"Netbook" = @("Realtek HD Audio output",      
                                "Realtek HD Audio input");
                "Bluetooth" = @("Bluetooth Hands-free Audio", 
                                "Bluetooth Hands-free Audio") }
    
    function Write-Message ( [string]$message )
    {
        echo $message
        # Uncomment this line to show dialog outputs from -set 
        # $r = [System.Windows.Forms.MessageBox]::Show($message)
    }
    
    function Set-Mapping ( [string]$devOut, [string]$devIn )
    {
        echo "Profile audio:`n  in  = $devIn`n  out = $devOut"
    
        $regKey = $regRoot + "\Multimedia\Sound Mapper\"
        Set-ItemProperty $regKey -name Playback -value $devOut
        Set-ItemProperty $regKey -name Record -value $devIn
    }
    
    function List-Devices
    {
        $regKey = $regRoot + "\Windows\CurrentVersion\Applets\Volume Control\"
        echo "Sound devices:"
        ls $regKey | where { ! $_.Name.EndsWith("Options") } | 
            Foreach-Object { 
                echo ("  " + $_.Name.Substring($_.Name.LastIndexOf("\")+1)) 
            }
    }
    
    $cmd = $args[0]
    switch ($cmd)
    {
        "-profiles" 
        {
            echo "Sound profiles:"
            echo $profiles
        }
        "-devices"
        {
            List-Devices
        }
        "-set" 
        {
            $p = $args[1]
            if (!$profiles.ContainsKey($p)) {
                echo "No such profile: $p"
                echo $profiles
                exit
            }
            Set-Mapping $profiles.Get_Item($p)[0] $profiles.Get_Item($p)[1]
            Write-Message "Profile set to: $p"
        }
        default 
        { 
            Write-Message "No such option: $cmd" 
        }
    }

Как вы видите, есть три варианта:

-profiles – Список доступных звуковых профилей.
-devices – Список звуковых устройств.
-set [profile] – Установка звукового профиля.

Связанный контент