Powershell:如何使用Invoke-WmiMethod来唤醒远程计算机?

时间:2016-10-07 18:44:23

标签: windows powershell windows-10 powershell-v5.0

我正在尝试使用以下代码通过Powershell在远程计算机上发出哔声:

Invoke-WmiMethod -Path Win32_Process -Name Create -ArgumentList "[console]::beep(500,300)" -ComputerName "mycompname"

此外,我使用[System.Media.SystemSounds]::Beep.Play()代替console命令。 它没有给出任何错误代码并输出:

__ GENUS:2 __CLASS:__PARAMETERS __SUPERCLASS: __DYNASTY:__PARAMETERS __RELPATH: __PROPERTY_COUNT:2 __DERIVATION:{} __SERVER: __NAMESPACE: __PATH: ProcessId: ReturnValue:9 PSComputerName:

我使用提升的Powershell运行此命令,我是网络管理员。使用 Invoke-Command 不能在我的计算机上工作,所以我选择了Invoke-WmiMethod。以下代码 DOES 实际上有效,所以我不明白为什么哔哔声会赢?

Invoke-WmiMethod -path Win32_Process -Name Create -ArgumentList "msg * 'hello'" -ComputerName "mycompname"

最后的注意事项:我希望能够使用Invoke-WmiMethod进行远程关机和taskkill,但这些功能也不起作用,只发送消息有效。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

可以试试这个(修改用户名和密码)

PHP Warning: move_uploaded_file(../../../uploads/channels/3.jpg): failed to open stream: 
Permission denied in G:\PleskVhosts\dramatainment.com\httpdocs\dashboard\admin\actions\update_queries.php on line 50
PHP Warning: move_uploaded_file(): Unable to move 'C:\Windows\Temp\php5E2E.tmp' to '../../../uploads/channels/3.jpg' in G:\PleskVhosts\dramatainment.com\httpdocs\dashboard\admin\actions\update_queries.php on line 50

答案 1 :(得分:0)

TessellatingHeckler是对的。我只需要更改代码,以便接收计算机知道我正在使用PowerShell:

Invoke-WmiMethod -Path Win32_Process -Name Create -ArgumentList "powershell.exe [console]::beep(500,300)" -ComputerName "mycompname"

这也适用于其他一切:

 Invoke-WmiMethod -Path Win32_Process -Name Create -ArgumentList "powershell.exe shutdown -s" -ComputerName "mycompname"

谢谢!