2016-10-07 28 views
1

私はPowerShellのを介してリモートコンピュータ上のビープ音を作るために、次のコードを使用しようとしています。またPowershell:Invoke-WmiMethodを使用してリモートコンピュータからビープ音を鳴らすにはどうすればいいですか?

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

私は、コンソールコマンドの代わりに[System.Media.SystemSounds]::Beep.Play()を使用していました。

__GENUS:2 __CLASS:__PARAMETERS __SUPERCLASS: __DYNASTY:__PARAMETERS __RELPATH: __PROPERTY_COUNT:2 __DERIVATION:{} __SERVER: __Namespace: これは、任意のエラーコードして出力を与えない __PATH: PROCESSID: 戻り値:9 PSComputerName:

私は上昇PowerShellを使用し、このコマンドを実行していると私は管理者0ですネットワーク。 Invoke-Command私のコンピュータ上ではが動作しないので、代わりにInvoke-WmiMethodを使用します。次のコードは実際に動作しませんので、なぜビープ音が1ではないだろう、私は理解していない:

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

決勝ノート:私は、リモートシャットダウンやtaskkillを行うために呼び出す-WmiMethodを使用できるようにしたいと思いますがこれらの機能も動作しません。メッセージの送信だけが機能します。どんな助けでも大歓迎です。

+0

'msg.exe'は実行可能な実行可能ファイルです。' [console] :: beep() 'はそうではありません.Netクラスのメソッドです。 Win32_Processを起動するために必要な実行ファイルは、適切な引数を指定してpowershell.exeを実行して、ビープ音をスクリプト/コマンドとして実行します。 – TessellatingHeckler

答えて

0

あなたはTessellatingHecklerは正しかった

$Username = 'labuser' 
$Password = 'labuser' 
$pass = ConvertTo-SecureString -AsPlainText $Password -Force 
$Cred = New-Object System.Management.Automation.PSCredential -ArgumentList $Username,$pass 


Invoke-command –computername "mycompname" -credential $Cred –scriptblock {[console]::beep(500,300)} 
0

(ユーザ名とパスワードを変更する)、これを試すことができますように。

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

ありがとう:これはまた、他のすべてのために働く

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

:受信側のコンピュータは、私はPowerShellを使用していますことを知っているように、私はコードを変更するために必要な!

関連する問題