+ Post New Thread
Page 1 of 2 12 LastLast
Results 1 to 15 of 18
Windows 7 Thread, Change Volume on Remote PC? in Technical; I have just imaged some machines (quite alot actually!!) and now realise that the volume on the machines is set ...
  1. #1

    fiza's Avatar
    Join Date
    Dec 2008
    Location
    London
    Posts
    2,121
    Thank Post
    413
    Thanked 313 Times in 264 Posts
    Rep Power
    152

    Change Volume on Remote PC?

    I have just imaged some machines (quite alot actually!!) and now realise that the volume on the machines is set to zero. We hide the system tray from students so they will have no way to adjust the volume.

    Is there a way to set volume on remote computers via script or Group Policy? I have looked at the methods described in this thread Control Sound Remotely but they are not suitable in my environment.

  2. #2
    Valyyn's Avatar
    Join Date
    Jun 2011
    Location
    Portsmouth
    Posts
    202
    Thank Post
    21
    Thanked 62 Times in 44 Posts
    Rep Power
    54
    I don't know of any way to control the volume remotely, but I might have an alternative for you!

    We're similar here in that students have the system tray hidden, however, we put a shortcut in the Student Start Menu for "C:\Windows\System32\SndVol.exe" so they can still get the volume dialog up and adjust it as they wish.

    Any help?

  3. Thanks to Valyyn from:

    fiza (20th August 2013)

  4. #3

    fiza's Avatar
    Join Date
    Dec 2008
    Location
    London
    Posts
    2,121
    Thank Post
    413
    Thanked 313 Times in 264 Posts
    Rep Power
    152
    Quote Originally Posted by Valyyn View Post
    I don't know of any way to control the volume remotely, but I might have an alternative for you!

    We're similar here in that students have the system tray hidden, however, we put a shortcut in the Student Start Menu for "C:\Windows\System32\SndVol.exe" so they can still get the volume dialog up and adjust it as they wish.

    Any help?
    Possibly. Thanks

  5. #4

    mac_shinobi's Avatar
    Join Date
    Aug 2005
    Posts
    9,756
    Thank Post
    3,265
    Thanked 1,052 Times in 973 Posts
    Rep Power
    365
    Asper this link

    http://www.slyware.com/doku.php?id=software:scripts

    Script to send the Virtual key codes

    Volume UP = &hAF
    Volume DOWN = &hAE
    Mute Volume = &hAD

    Code:
    adjust_windows_volume.vbs
    'S.Chudley (www.chudley.me) : Set Windows master volume (hAE = DOWN, hAF = UP)
    Set WshShell = CreateObject("WScript.Shell")
    For i=1 To 100
      WshShell.SendKeys(chr(&hAF))
    Next
    Just a case of adjusting the code that the sendkeys line sends

    Also if you only want it to increment the volume so far just adjust the value in the loop although the above may not be a viable solution because each time it runs it will increase the volume more

  6. Thanks to mac_shinobi from:

    fiza (20th August 2013)

  7. #5

    mac_shinobi's Avatar
    Join Date
    Aug 2005
    Posts
    9,756
    Thank Post
    3,265
    Thanked 1,052 Times in 973 Posts
    Rep Power
    365
    Another option may be to use dot net whether vb or c sharp using the relevant audio API's etc to set the volume mixer lines ( which ever ones ) to a certain volume level so you can use gpo or gpp to launch the exe you create on startup or logon ?

    Might have to do it with vbs / powershell or bat to execute the exe or failing that I did come across this

    http://gallery.technet.microsoft.com...olume-1737b160

  8. #6

    fiza's Avatar
    Join Date
    Dec 2008
    Location
    London
    Posts
    2,121
    Thank Post
    413
    Thanked 313 Times in 264 Posts
    Rep Power
    152
    Quote Originally Posted by mac_shinobi View Post
    Asper this link

    Useful Scripts [Simon Robert Chudley]

    Script to send the Virtual key codes

    Volume UP = &hAF
    Volume DOWN = &hAE
    Mute Volume = &hAD

    Code:
    adjust_windows_volume.vbs
    'S.Chudley (www.chudley.me) : Set Windows master volume (hAE = DOWN, hAF = UP)
    Set WshShell = CreateObject("WScript.Shell")
    For i=1 To 100
      WshShell.SendKeys(chr(&hAF))
    Next
    Just a case of adjusting the code that the sendkeys line sends

    Also if you only want it to increment the volume so far just adjust the value in the loop although the above may not be a viable solution because each time it runs it will increase the volume more
    Thanks. Works on my machine. will try a remote test tomorrow.

  9. Thanks to fiza from:

    mac_shinobi (20th August 2013)

  10. #7

    mac_shinobi's Avatar
    Join Date
    Aug 2005
    Posts
    9,756
    Thank Post
    3,265
    Thanked 1,052 Times in 973 Posts
    Rep Power
    365
    Found the actual key codes which Im sure the above ones must equate to or be the same for them to work :

    Virtual-Key Codes (Windows)

    VK_VOLUME_MUTE

    0xAD
    Volume Mute key
    VK_VOLUME_DOWN

    0xAE
    Volume Down key
    VK_VOLUME_UP

    0xAF
    Volume Up key
    I bet @localz_uk or maybe even @nephilim could knock up an exe that could set the volume to a set level so that it does not matter that it keeps increasing it each time the script runs.

    If not then I would be willing to have a go as am sure I had a vb 6 project that I could get converted to vb .net to set the volume to a specific level ??
    Last edited by mac_shinobi; 20th August 2013 at 04:56 PM.

  11. #8


    Join Date
    Feb 2007
    Location
    51.403651, -0.515458
    Posts
    8,868
    Thank Post
    226
    Thanked 2,666 Times in 1,965 Posts
    Rep Power
    785
    Quote Originally Posted by mac_shinobi View Post
    Another option may be to use dot net whether vb or c sharp using the relevant audio API's etc to set the volume mixer lines ( which ever ones ) to a certain volume level so you can use gpo or gpp to launch the exe you create on startup or logon ?
    If you were going to do that, why not simply use NirCmd instead of reinventing the wheel?

    Setting the volume is as simple as running one of the commands below via a logon script and would also be more reliable than sending keystrokes.

    Code:
    Volume Level    Command
    25%             nircmd.exe setsysvolume 16384
    50%             nircmd.exe setsysvolume 32768
    75%             nircmd.exe setsysvolume 49151
    100%            nircmd.exe setsysvolume 65535

  12. Thanks to Arthur from:

    mac_shinobi (20th August 2013)

  13. #9

    mac_shinobi's Avatar
    Join Date
    Aug 2005
    Posts
    9,756
    Thank Post
    3,265
    Thanked 1,052 Times in 973 Posts
    Rep Power
    365
    Quote Originally Posted by Arthur View Post
    If you were going to do that, why not simply use NirCmd instead of reinventing the wheel?

    Setting the volume is as simple as running one of the commands below via a logon script and would also be more reliable than sending keystrokes.

    Code:
    Volume Level    Command
    25%             nircmd.exe setsysvolume 16384
    50%             nircmd.exe setsysvolume 32768
    75%             nircmd.exe setsysvolume 49151
    100%            nircmd.exe setsysvolume 65535
    @Arthur

    The nircmd suggestion was on the original thread that @fiza linked to hence why I didn't re suggest that

    Although that is a cleaner solution
    Last edited by mac_shinobi; 20th August 2013 at 06:39 PM.

  14. #10


    Join Date
    Feb 2007
    Location
    51.403651, -0.515458
    Posts
    8,868
    Thank Post
    226
    Thanked 2,666 Times in 1,965 Posts
    Rep Power
    785
    Quote Originally Posted by mac_shinobi View Post
    The nircmd suggestion was on the original thread that fiza linked to hence why I didn't re suggest that
    That's my point.

    I don't quite understand why NirCmd wouldn't be suitable, yet an EXE created in VB or C# would be? They both do the same thing.

    Quote Originally Posted by mac_shinobi View Post
    Side note - which mixer lines does nircmd change ?
    This one...

    Last edited by Arthur; 20th August 2013 at 09:18 PM.

  15. Thanks to Arthur from:

    mac_shinobi (20th August 2013)

  16. #11

    mac_shinobi's Avatar
    Join Date
    Aug 2005
    Posts
    9,756
    Thank Post
    3,265
    Thanked 1,052 Times in 973 Posts
    Rep Power
    365
    Quote Originally Posted by Arthur View Post
    That's my point.

    I don't quite understand why NirCmd wouldn't be suitable, yet an EXE created in VB or C# would be? They both do the same thing.
    Ok fair play. Not arguing and that being the case nircmd looks like a better solution

    Side note - which mixer lines does nircmd change ?
    Last edited by mac_shinobi; 20th August 2013 at 08:56 PM.

  17. #12

    fiza's Avatar
    Join Date
    Dec 2008
    Location
    London
    Posts
    2,121
    Thank Post
    413
    Thanked 313 Times in 264 Posts
    Rep Power
    152
    I tried running nircmd in our environment. I need to run it on remote PCs. Problem was that on the remote PC a dialogue box would pop up asking if I wanted to save nircmd to the windows directory. This is no good. I want to run it silently. The VB script idea @mac_shinobi suggested seems ideal.

  18. Thanks to fiza from:

    mac_shinobi (21st August 2013)

  19. #13

    mac_shinobi's Avatar
    Join Date
    Aug 2005
    Posts
    9,756
    Thank Post
    3,265
    Thanked 1,052 Times in 973 Posts
    Rep Power
    365
    @Steve21 could probably knock up an exe to do this pretty quick in C Sharp
    @Arthur - what is Tony's correct edugeek handle ( Can you tag him in this post ) ?

    Thanks

  20. #14


    Join Date
    Feb 2007
    Location
    51.403651, -0.515458
    Posts
    8,868
    Thank Post
    226
    Thanked 2,666 Times in 1,965 Posts
    Rep Power
    785
    Quote Originally Posted by fiza View Post
    Problem was that on the remote PC a dialogue box would pop up asking if I wanted to save nircmd to the windows directory.
    I think NirCmd only requires itself to be copied to the Windows folder if you use its 'remote' or 'multiremote' commands. If it is run in a logon script, NirCmd will effectively be running locally on each PC.

    Alternatively, you could copy NirCmd to the Windows folder via Group Policy Preferences or PowerShell. e.g.

    Code:
    Get-Content X:\Computers.txt | ForEach { Copy-Item X:\NirCmd.exe -Destination \\$_\c$\Windows }
    Quote Originally Posted by mac_shinobi View Post
    what is Tony's correct edugeek handle
    @localzuk?
    Last edited by Arthur; 21st August 2013 at 09:44 AM.

  21. 2 Thanks to Arthur:

    fiza (21st August 2013), mac_shinobi (21st August 2013)

  22. #15

    fiza's Avatar
    Join Date
    Dec 2008
    Location
    London
    Posts
    2,121
    Thank Post
    413
    Thanked 313 Times in 264 Posts
    Rep Power
    152
    Quote Originally Posted by Arthur View Post
    I think NirCmd only requires itself to be copied to the Windows folder if you use its 'remote' or 'multiremote' commands. If it is run in a logon script, NirCmd will effectively be running locally on each PC.
    Did not know that! Thanks will give it a try.

  23. Thanks to fiza from:

    mac_shinobi (21st August 2013)

SHARE:
+ Post New Thread
Page 1 of 2 12 LastLast

Similar Threads

  1. Volume on PC- very quiet! Any ideas?
    By rocknrollstar in forum Windows
    Replies: 9
    Last Post: 30th June 2009, 06:17 PM
  2. Turn on a remote pc
    By rocknrollstar in forum Windows
    Replies: 3
    Last Post: 1st November 2008, 08:41 PM
  3. Installing WSS3 on Virtual PC
    By beeswax in forum Virtual Learning Platforms
    Replies: 3
    Last Post: 8th January 2007, 02:29 PM
  4. MAC OS X 10.4.8 runs on any PC
    By ITWombat in forum Mac
    Replies: 4
    Last Post: 26th October 2006, 11:48 AM
  5. Replies: 6
    Last Post: 20th October 2005, 06:48 PM

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •