Powershell Script, Control Remote Computer's Speaker Volume

how are you getting the function to the remote session?

I'd like to be able to control the volume of a remote computer's speakers and I'm having some trouble. I found a function that works perfectly, but it doesn't work remotely. This may just be a limitation of sendkeys.http://stackoverflow.com/questions/22083674/calling-a-function-within-a-function-with-invoke-command...So I've tried to use this in a couple ways. I've been able to send functions through before as a whole script block, but I'm having no success with this.This is the format that normally works for me
Invoke-Command -ScriptBlock ${Function:Set-Speaker} -Argumentlist $intVolume -ComputerName $strComputerI've also tried to do this through Enter-PSSession and dump the whole function in and run it, it doesn't work. I'm not getting any errors.When I run the same thing on a local session on that pc, it has no problems. Let me know...
This topic first appeared in the Spiceworks Community

Similar Messages

  • Executing powershell script from remote computer using RSAT

    Hi.
    I want to execute powershell script on AD server from remote computer (in the same domain). I installed and tested RSAT - it is working fine. But i cant execute PS from c# code.
    ps.Commands.AddCommand("Import-Module").AddArgument("ActiveDirectory");
    ps.Invoke();
    ps.Commands.AddCommand("Get-ADOrganizationalUnit -Filter 'Name -like \"*\"'");
    var res = ps.Invoke();
     And i get exception:
    An unhandled exception of type 'System.Management.Automation.CommandNotFoundException' occurred in System.Management.Automation.dll
    Additional information: The term 'Get-SBNamespace' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

    Hi
    CapitanPlanet
    For the
    CommandNotFoundException, it means the command cannot be found.
    On the other hand, your issue is about the PowerShell, if you still have the issue, I suggest that you should post it in the
    PowerShell forum for efficient response.
    Here are some useful information, please check
      Powershell
    commands from C# not working (System.Management.Automation.CommandNotFoundException)
    Powershell, Service Bus For Windows Server Programmatically: Command found, module could not be loaded
    https://msdn.microsoft.com/en-us/library/dn282152.aspx
    Best regards,
    Kristin
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Optimize Powershell script (reboot remote Server and Check Services)

    Hi there,
    For my next maintenance Weekend i try to write a script to reboot all Servers and check after the reboot all automatic Service if there are running or not.
    Now the Script works fine for me so far, but it is not perfect. I would like to ask if anybody could help me to optimize it.
    # First Part: Reboot Servers
    $date = Get-Date -Format dd-MM-yyyy
    # Get list of Servers
    $Servers = Get-Content "D:\Scripts\Reboot\servers.txt"
    # Reboot each server
    ForEach ($Server in $Servers)
    "Computer $Server initiated reboot at $(Get-Date)" | Add-Content -Path D:\Logs\Reboot\Rebootlogs_$date.txt
    Restart-Computer $Server -Force -Wait
    # Check each Server
    forEach ($Server in $Servers)
    if (Test-Connection $Server -quiet) { "Computer $Server verified to be responding to ping at $(Get-Date)" | Add-Content -Path D:\Logs\Reboot\Rebootlogs_$date.txt }
    else { "Computer $Server unresponsive to ping at $(Get-Date)" | Add-Content -Path D:\Logs\Reboot\Rebootlogs_$date.txt }
    # Seconde Part: Check Services
    # Get list of Servers
    $Servers = Get-Content "D:\Scripts\Reboot\servers.txt"
    # Check Auto Services on each Server
    ForEach ($Server in $Servers)
    ForEach-Object {
    Write-Output $Server | Out-File -FilePath "D:\Logs\Reboot\services_$date.txt" -Append
    # get Auto that not Running:
    Get-WmiObject Win32_Service |
    Where-Object { $_.StartMode -eq 'Auto' -and $_.State -ne 'Running' } |
    # process them; in this example we just show them:
    Format-Table -AutoSize @(
    'Name'
    'DisplayName'
    @{ Expression = 'State'; Width = 9 }
    @{ Expression = 'StartMode'; Width = 9 }
    'StartName'
    ) | Out-File -FilePath "D:\Logs\Reboot\services_$date.txt" -Append
    As you can see i do it in two parts, the perfect way might be in one, where i check one server and write also just one log with all information.
    At the Moment the log files Looks like that:
    Reboot:
    Computer server1 initiated reboot at 04/28/2015 15:14:51
    Computer server2 initiated reboot at 04/28/2015 15:16:40
    Computer server1 verified to be responding to ping at 04/28/2015 15:17:41
    Computer server2 verified to be responding to ping at 04/28/2015 15:17:44
    Service:
    Server1
    Name           DisplayName         State   StartMode StartName                
    RemoteRegistry Remote Registry     Stopped Auto      NT AUTHORITY\LocalService
    sppsvc         Software Protection Stopped Auto      NT AUTHORITY\NetworkSer...
    Server2
    Name           DisplayName         State   StartMode StartName                
    RemoteRegistry Remote Registry     Stopped Auto      NT AUTHORITY\LocalService
    sppsvc         Software Protection Stopped Auto      NT AUTHORITY\NetworkSer...
    Now my Question is how to Change maybe my Loop or code to get one Log like that:
    Computer server1 initiated reboot at 04/28/2015 15:14:51
    Computer server1 verified to be responding to ping at 04/28/2015 15:17:41
    Name           DisplayName         State   StartMode StartName                
    RemoteRegistry Remote Registry     Stopped Auto      NT AUTHORITY\LocalService
    sppsvc         Software Protection Stopped Auto      NT AUTHORITY\NetworkSer...
    Computer server2 initiated reboot at 04/28/2015 15:16:40
    Computer server2 verified to be responding to ping at 04/28/2015 15:17:44
    Name           DisplayName         State   StartMode StartName                
    RemoteRegistry Remote Registry     Stopped Auto      NT AUTHORITY\LocalService
    sppsvc         Software Protection Stopped Auto      NT AUTHORITY\NetworkSer...
    Thanks for helping.

    You could probably have something nice using Function and CmdletBinding so you can get something like:
    function reboot-myservers { blablabla }function check-myservices { blablabla }$Servers = Get-Content "D:\Scripts\Reboot\servers.txt" $servers | reboot-myservers | check-myservices
    Bruce Jourdain de Coutance - Consultant MVP Exchange http://blog.brucejdc.fr

  • Cant control remote computer, but can control others with same machine

    I have an old G4 that I recently upgraded processors on, as such upgraded hard drives, and OS to Tiger. I can control my other 2 macs on my network fine, but they cannot control the G4. I have the same settings as the other macs for sharing and port forwarding on my routers. But still no luck, another quirk, I can wake the G4 with the other Macs, but still unable to control. Anything I am overlooking?

    which version of Apple Remote Desktop are you using, and do you have licenses for all the machines from which you try to control others?

  • Running MySQL script on remote computer.

    Is there any way to run a MySQL script located on a local machine on another computer located on the same network given that you already know the ip address, port number, MySQL username and password, and the database name. I am investigating trying to send the file across the network, but have not found a solution that works.

    Sure, provided you have set up a server to accept those scripts and run them. In general you can't just run executable code on somebody else's computer without having a server and permissions set up in advance; I'm sure you can see why if you think of the word "security".

  • Controlling Remote Computer without "asking" and "receiving" permission?

    I have RD 3.3 installed on both my mac at work and at home. I'd like to connect to
    my mac at work from home, but always get the message: "Do you want to ask permission
    to control the remote machine"...and I'm not on the other end (i.e. at work) to respond and give the permission.
    Can this feature be disabled so you can just take control (assuming of course you have the
    username and password)? If so, where do you disable it and on which machine(s)?
    Thanks for any assistance.

    Thanks for reply.
    I posted this here, because I am the opinion that the symptoms seemed very similar. Also problems with name resolution between Apple clients (whole network not only this LAN segment). Also this strange NIC addresses on any of the Apples where I installed ARD Admin.
    To the point - many using ARD:
    You are right - ARD seems to be a very reliable solution. It was for us, too. Until 26th of November it worked very reasonable and flawless.
    After installation of that weird update however things went nasty. First we had trouble with IPP - workaround was to use native HP drivers instead of LPD.
    Next we discovered that ARD does not function beyond networking segments at all. Neither ScreenSharing nor management functions through ARD Admin. I finally did a radical step on several boxes and reinstalled ARD following this kb article here: http://support.apple.com/kb/HT2577
    As previously mentioned having no mDNS on Apple machines anymore. One of the consequences Bonjour is not working as it should. No network printer detection and things like that.But: mDNS service is running, ARDagent on any of the machines.
    Only machines noted in local /etc/hosts are known. ARD admin does not detect remote clients running ARDagent anymore (one effect: It does not show what client version is running).
    After new installation of Admin: First login to a remote machine to get control over, the login dialog appears to ask for user name and password for target machine (of course user/pswd and rights are set on host to get control). But if at a later time you are using info dialog for that remotely controlled Apple in ARDadmin the edit button to edit username password entries is missing.
    Strangely one customer using an older machine with 10.4.x this one can! be controled at least via screensharing (from ARD admin). Management functions to this machine are not possible, too.
    When setting VNC params then remote login using VNC (f.i. ChickenOf...) things working immediately.
    To clearify it:
    We having NOT a homogene Apple but a mixed environment using Linux boxes as PDCs (Primary Domain Controllers) also Windows clients are running there. Therefore no central user db with central sign in server is available. There is NO! OSX server. Additionally the network spreads over several VPN tunneled connections.
    So - if anyone having an idea what is wrong/broken/damaged whatever, please let me know.
    Thanks in advance.
    rob

  • Need some help in building a PowerShell Script

    I am in the process of setting up continuous self-auditing on a set of computers that are on a Domain. My company has a restriction on use of USB devices as well as CDs/DVDs. The domain pushes patches but we have been seeing some users that are using (or
    trying to) the network without becoming a part of the domain. My aim is to run a PowerShell script periodically (say, hourly) on each computer on the domain and dump certain parameters to XML / XHTML and then load these onto a web-server that can display the
    results in a (sort of) dashboard to flag anomalies like unauthorised USB use etc.
    I know there must be some commercial products for this but the boss says "No" to a purchase. 
    Am I on the right track or do I need to change my approach? Also, is there a starting scirpt available somewhere so that I can study it for techniques? My major problem is the display part. I am able to dump it into XML and (sort of ) format it but how do
    I collate the data and display it as a web-page is what is bothering me. Help would be deeply appreciated.

    @JRV:
    Users don't have to be domain administrators
    to be able to install software. Local admin is more than enough. ie: I am no admin in the domain of my customer but am allowed to install software
    Although I agree with you, in the sense it would be easier to restrict the users, it doesn't mean that a company has to do it that way; and it certainly doesn't represent the intelligence of an individual. 
    @SarabRSingh:
    What you are asking for is a lot of work, to get the script right (considering the special demands, ie. AV update checking is different depending on the SW) and it might require a lot of resources on the client.
    From what you describe, you want to prevent any USB/Optical Media use. You should consider Group Policies to manage that. http://technet.microsoft.com/en-us/library/bb742376.aspx
    The only part I would script (based on my work environment) is the checking of AV updates (gets tricky because our SW has a hard time forcing the user to update when connected by VPN).
    user log in / out --> group policy: logon/off script writing appending timestamp to a file
    has he/she used any USB device --> if you want to block it: GPO, if you only want to track it: powershell
    Get-WmiObject Win32_USBControllerDevice
    has any new application / software been installed: restrict installation completely with user permissions or: http://social.technet.microsoft.com/Forums/en-US/f4dc8ab9-370b-423e-b65d-1fa46fa9bcc4/powershell-script-to-remotely-audit-computers-on-lan?forum=ITCG
    was the AV: no idea on what you are using (maybe: http://serverfault.com/questions/129611/how-to-detect-when-antivirus-is-out-of-date-with-powershell
    OS updated: WSUS http://technet.microsoft.com/en-us/library/cc708519(v=ws.10).aspx
    If you found this post helpful, please "Vote as Helpful". If it answered your question, remember to "Mark as Answer"
    MCC & PowerShell enthusiast
    http://oliver.lipkau.net/blog

  • Issue with running powershell script in pssessions

    Hi Everyone,
    I am trying to run powershell script from remote machine using below commands
    C:\Users\user>"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"
    -command "$s= New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri
    http://Exchservername/PowerShell/ -Authentication Kerberos ; Import-PSsession $s; "C:\Failback.ps1"
    and Below is the failback.ps1.
    $mbxs = Get-MailboxDatabase | Sort Name
    ForEach($mbx in $mbxs)
    $MBdb=$mbx.Name $ServerHosting=$mbx.Server.Name
    if($mbx.activationPreference.value -eq 1)
    If ($ServerHosting -ne $ActivationPreference.Key.Name) 
    Move-ActiveMailboxDatabase $MBdb -ActivateOnServer $ActivationPreference.Key.Name -confirm:$False 
    Below is what i am getting.

    What is your question?  Are you pointing out the yellow text?  This is normal, and appears every time EMS is opened.
    I should also point out that Microsoft provides a script to re-balance databases, if that's what you're trying to accomplish:
    You can use the RedistributeActiveDatabases.ps1 script to balance the active mailbox databases copies across a DAG. This script moves databases between their copies in an attempt to have an equal number of mounted databases on each server in DAG. If required,
    the script also attempts to balance active databases across sites.
    https://technet.microsoft.com/en-us/library/dd335158(v=exchg.141).aspx
    Mike Crowley | MVP
    My Blog --
    Baseline Technologies

  • Powershell script to help fix broken WMI on remote servers/computer.

    I have a number of servers/computers that I am not able to update due to broken WMI. Does anyone out there have a Powershell script that will stop the WMI service, rename the repository and logs folders, then restart the WMI service again?
    I created a script to stop the service, but it will not allow me to rename the folders (tells me access denied). If I dameware into the pc and log in with my admin credentials I have no issues manually doing the above steps, but there has to be an easier
    way!
    Any help would be greatly appreciated.

    To remotely rename folders you must use an admin account on the remote system. The folder must not be protected the system and you cannot us WMI to rename the folder.
    You may have to restart the system after setting WMI to manual start as it can have locks and it may not shutdown cleanly.
    ¯\_(ツ)_/¯

  • How to force group policy update remotely in a bunch of desktops(computers name in a textfile) by using powershell script?

    Hi,
    I want to force group policy on a collection of computers remotely.The name of computers can be stored in a text file.
    By using this info. (about computer names) , Could you please guide me writing a Powershell script for this.
    Thanks in advance.
    Daya

    This requires that PSRemoting is enabled in your environment.
    $Computers = Get-Content -Path 'C:\computers.txt'
    Invoke-Command -ComputerName $Computers -ScriptBlock {
    GPUpdate /Force

  • How to set volume using Powershell script?

    I would like to know on how to set volume under Window 7 Home 64 bits system using Powershell script.
    Such as 8000 levels as default
    Does anyone have any suggestions?
    Thanks in advance for any suggestions
    Thanks in advance for any suggestions

    Try this.
    Function Set-SpeakerVolume{
    Param (
    [switch]$min,
    [switch]$max,
    [int]$Percent
    $wshShell = new-object -com wscript.shell
    If ($min){
    1..50 | % {$wshShell.SendKeys([char]174)}
    ElseIf ($max){
    1..50 | % {$wshShell.SendKeys([char]175)}
    elseif($Percent){
    1..50 | % {$wshShell.SendKeys([char]174)}
    1..($Percent/2) |% {$wshShell.SendKeys([char]175)}
    Else{
    $wshShell.SendKeys([char]173)
    This works in Windows 8.1.
    Stolen / Modified from
    http://blogs.technet.com/b/heyscriptingguy/archive/2013/07/28/weekend-scripter-cheesy-script-to-set-speaker-volume.aspx, which took me 20 seconds of (apparently) lucky searching.
    Karl
    When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer.
    My Blog: Unlock PowerShell
    My Book:
    Windows PowerShell 2.0 Bible
    My E-mail: -join ('6F6C646B61726C406F75746C6F6F6B2E636F6D'-split'(?<=\G.{2})'|%{if($_){[char][int]"0x$_"}})

  • Assistance with my script to find all opened windows (applications running) on remote computer

    Hello,
    I have the following script whereby I want to list all the running (opened) applications on a remote computer.  It's a shared computer between two people who use the same generic ID.  Before one RDP's into it, I thought it would be interesting
    to see if any apps are opened before logging in. 
    Here is the code:
    $cred = Get-Credential
    Invoke-Command -ComputerName server123 {Get-Process *mail* | Where {$_.MainWindowHandle} | Select Name,MainWindowTitle} -Cred $cred
    It works in that it asks for my credentials and runs without any error...but this script also does not display any running applications. I'm not sure what it should show. Perhaps I need to add a line of code to display what it found?
    Another bit of info I would like to use in this script is to also confirm that the generic ID is logged in at the time I run this script.  I could use the following bit of code:
    get-wmiobject Win32_ComputerSystem -computername server123 | format-table -property username
    But when I run this code I get an access denied message. I'm assuming I need to use the Get-Credential again from my first script, but I'm unsure how to use it in the get-wmiobject?
    Any help you can provide would be greatly appreciated.
    Thank you.

    Ok...shifting gears again.  Instead of running this remotely I'm thinking of running a scheduled task on the server and creating this .htm file.  That way no one has to run and enter in credentials (and if entered wrong cause issues with locking
    out the account).  So, I've modified my script and confirmed that when I run it from Powershell when logged into the server, the results file correctly shows the logged in userid and the running applications (windows) I have opened. 
    But, when I run this same exact script from my task scheduler, the running applications piece is blank?  The server I'm running this on is Windows Server 2008.  I've tried running it from Task Scheduler using Powershell and from a .bat file that
    calls my Powershell script.  Both ways results in my .htm file not showing any applications running.  Yet when I run the same script (either from Powershell or the .bat file) the .htm file correctly shows the running applications.  My Task Scheduler
    Job is using the same user id that I'm logged in with so there shouldn't be any permission issues with running from the task scheduler.
    Here is my code:
    $a = "<style>"
    $a = $a + "BODY{background-color:peachpuff;}"
    $a = $a + "TABLE{border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;}"
    $a = $a + "TH{border-width: 1px;padding: 0px;border-style: solid;border-color: black;background-color:thistle}"
    $a = $a + "TD{border-width: 1px;padding: 0px;border-style: solid;border-color: black;background-color:PaleGoldenrod}"
    $a = $a + "</style>"
    get-wmiobject Win32_ComputerSystem | ConvertTo-HTML -head $a -body "<H2>Logged in UserID</H2>" -property username | Out-File C:\Powershell_Scripts\Test.htm ; Get-Process |where {$_.mainWindowTItle} |Select-Object name,mainwindowtitle | ConvertTo-HTML -head $a -body "<H2>Open Applications</H2>" | Out-File C:\Powershell_Scripts\Test.htm -Append
    Can anyone tell me what might be the reason for the script running from the scheduled task having issues?
    Thank you.

  • My iPod Touch will not play through external speakers when it is docked.  It only plays through it's internal speaker.  All the other functions on the iPod can be controlled by the external speakers (volume,track, etc).  How do I fix this?

    My iPod Touch will not play through external speakers when it is docked.  It only plays through it's internal speaker.  All the other functions on the iPod can be controlled by the external speakers (volume,track, etc).  How do I fix this?

    I would try in oreder:
    - Resetting the iPod:
    Press and hold the On/Off Sleep/Wake button and the Home
    button at the same time for at least ten seconds, until the Apple logo appears.
    - Restoring the iPod via iTunes.  First from backup and if problem persists, restore to factory defaults/new iPod.

  • Similar to connecting to remote computer using WSManagement, how to do it through powershell terminal?

    I have the following code to connect to the remote powershell and execute script on remote machine :WSManConnectionInfo connectionInfo = new WSManConnectionInfo(false, "MachineName", 5985, "/wsman", shellUri, credential);
    using (Runspace runspace = RunspaceFactory.CreateRunspace(connectionInfo))
    runspace.Open();
    using (PowerShell powershell = PowerShell.Create())
    powershell.Runspace = runspace;
    String file = @"C:\scripts\createUser.ps1";
    powershell.Commands.AddScript(System.IO.File.ReadAllText(file));
    Collection<PSObject> results = powershell.Invoke();
    }How to execute the script in same way from powershell command prompt?

    Hi,
    The Invoke-Command cmdlet should to the trick for you using WinRM.
    Invoke-Command -ComputerName MachineName -Scriptblock {c:\scripts\createuser.ps1}
    The parameter -File could also be used for pointing to an UNC share or so.
    More information regarding the cmdlet is found below..
    http://technet.microsoft.com/en-us/library/hh849719.aspx
    Microsoft Certified Trainer
    MCSE: Desktop, Server, Private Cloud, Messaging
    Blog: http://365lab.net

  • Thereis no sound on my macbook air. I have checked the volume and mute controls and the internal speaker are selected.  any one any ideas please.

    there is no sound on my macbook air. I have checked the volume and mute controls and the internal speaker are selected.  any one any ideas please.

    Hopefully one of these steps should solve the problem.
    1. Remove the headphone.
        If you see red light in the headphone port, plug the headphone
        in and out of the port 5 or 6 times to flip the microswitch inside.
        Sound output may be stuck in the digital mode.
    2. Reset PRAM.  http://support.apple.com/kb/PH4405
    3. Reset SMC.     http://support.apple.com/kb/HT3964
        Choose the method for:
        "Resetting SMC on portables with a battery you should not remove on your own".
    4. Applications > Utilities > Audio MIDI Setup
        Audio Devices window
        Side Bar
        Click the Built-in Output.
        Under Mute any of the boxes checked? If so, uncheck it.
    Best.

Maybe you are looking for