How to configure system volume with PowerShell

Back in 2011 I wrote a blog post on how to mute Windows System Volume programmatically.  This week I found another approach on GitHub using PowerShell.

The PowerShell Module WindowsAudioDevice-Powershell-Cmdlet provides a number of cmdlets to control the Windows System volume.

  • Get-DefaultAudioDevice
  • Get-AudioDeviceList
  • Set-DefaultAudioDevice [-Index] <Int>
  • Set-DefaultAudioDevice [-Name] <String>
  • Set-DefaultAudioDevice [-InputObject] <AudioDevice>
  • Set-DefaultAudioDeviceVolume -Volume <float>
  • Get-DefaultAudioDeviceVolume
  • Set-DefaultAudioDeviceMute
  • Write-DefaultAudioDeviceValue [-StreamValue

I wrote the below PowerShell script to solve a request to set the system volume to mute.


        Sets the PC Volume to "MUTE"
        Sets the PC Volume to mute and volume to 0
        This script uses the AudioDevice Cmdlet from
    .PARAMETER (none)
        Author: Alex Verboon
        Version: 1.0       
            - initial version

# Get the current script Name
$ScriptName = $MyInvocation.MyCommand.Name

# Get Current Script Path
$scriptPath = split-path -parent $MyInvocation.MyCommand.Definition

# Import module (module DLL is stored in same path as the script)
$AudioModuleName = $scriptPath + "\AudioDeviceCmdlets.dll"
Import-Module -Name $AudioModuleName
# if the volume was already muted, the above command unmutes it, so we also 
# set the volume to 0
Set-DefaultAudioDeviceVolume 0

If you do not want to permanently install the module on the device, just place the following files into the same directory as the SetPCVolumeMute.ps1


I have tested the script on Windows 8 64 bit and Windows 7 64 Bit and on 3 different hardware models.

That’s it

Leave a Reply