2017-03-10 97 views
0

可以使用PowerShell爲遠程用戶顯示彈出消息。 我試試這個:使用PowerShell彈出消息

$wshell = New-Object -ComObject Wscript.Shell 
$wshell.Popup("hello",0,"Done",0x1) 

,但我的電腦彈出窗口上的代碼顯示的地方,我想我的電腦和彈出消息上運行PowerShell腳本來顯示,其中「abcuser」已登錄。

+1

我不確定這是否可能,我知道PowerShell遠程創建一個單獨的會話,例如,所以它不會出現在登錄用戶。但是你有沒有考慮過使用舊式的NET SEND? –

+0

@CBogdan你不能通過$ wshell做它,因爲它永遠不會跨越會話邊界。用戶會話和PowerShell遠程會話是_isolated_。要在會話之間進行UI交互,可以通過PSExec(或任務計劃程序)注入用戶會話,也可以在現代系統中使用由'msg.exe'取代的'net send'。 –

回答

0

使用此爲Windows 7/10:

msg console /server:localhost "Test message" 

從遠程PowerShell會話調用時這將顯示消息控制檯用戶。

相反的console你可以從quser輸出把任何活動的會話名稱。

你也可以做到這一點遠程(也就是從本地會話) - 剛剛與用戶的PC的名稱或IP更換localhost。通過這種方式,需要打開TCP端口445並在某些情況下編輯AllowRemoteRPC註冊表項。示例:

msg * /server:192.168.0.1 "Hello!"