Author Posts

March 19, 2018 at 1:34 pm

Hi,

I would like to run the following power shell script on a remote computer

FunctionSet-Speaker($Volume){$wshShell=new-object-comwscript.shell;1..50|%{$wshShell.SendKeys([char]174)};1..$Volume|%{$wshShell.SendKeys([char]175)}}

Set-Speaker – Volume 10

I have tried to use the Invoke command without success, any suggestions on how to make it work on a remote computer?

March 20, 2018 at 2:45 am

Unless you have PSremoting enabled, and you are the local admin on the remote host. You cannot do this.

You also must use implicit / explicit remoting to run this type of commands.
You also, must understand how to use local variables in remote session, if you plan to use them.

If these remote host are in domain joined, you have to manually setup PSRemoting in workgroup mode.

All this is documented on TechNet and all over the web.

Just do a search for:
PSRemoting powershell
PSRemoting workgroup
PSRemoting local variables
PSRemoting permissions

March 20, 2018 at 7:12 am

PSremoting is enabled and I have admin permissions.

March 20, 2018 at 9:12 pm

After putting the missing spaces in:

Function Set-Speaker($Volume){$wshShell=new-object -com wscript.shell;1..50|%{$wshShell.SendKeys([char]174)};
1..$Volume|%{$wshShell.SendKeys([char]175)}}

This seems to be the way to do it (https://stackoverflow.com/questions/15979445/run-a-local-function-on-a-remote-computer), but it didn't work for me. I even tried installing the script remotely.

invoke-command comp001 ${function:set-speaker} -ArgumentList 10