2015-05-23 58 views
2

我想知道是否有可能發送系統托盤消息或彈出消息框到遠程PC而不依賴於WinRM服務。每當我嘗試我遇到錯誤,因爲該服務在我正在測試的地方沒有激活,並且無法通過正常的用戶級訪問來激活。發送消息到遠程PC,而不取決於WinRM服務

對於系統托盤味精我用這個代碼(可在本地PC我在哪裏上)

[void] 
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") 
$objNotifyIcon = New-Object System.Windows.Forms.NotifyIcon 
$objNotifyIcon.Icon = "c:\temp\shake.ico" 
$objNotifyIcon.BalloonTipText = "Message Text" 
$objNotifyIcon.BalloonTipTitle = "Do you agree?" 
$objNotifyIcon.Visible = $True 
$objNotifyIcon.ShowBalloonTip(10000) 

對於彈出味精我用這個代碼

[void 
System.Reflection.Assembly]::LoadWithPartialName(‘Microsoft.VisualBasic’) 
$result = [Microsoft.VisualBasic.Interaction]::MsgBox(「Do you agree?」,  
‘YesNoCancel,Question’, 「Respond please」) 
switch ($result) 
{ ‘Yes’ { 「Ah good」 } ‘No’ { 「Sorry to hear that」 } ‘Cancel’ { 「Bye…」 } } 

注意這些是從各種PowerShell腳本站點獲得的示例代碼,而不是我自己的(如果有人認出代碼)。

回答

2

您需要WinRM才能使用PowerShell遠程處理。

如果你有文件訪問和WMI訪問,那麼你可以在文件(S)複製到遠程計算機,並使用psexec或WMI直接調用powershell -File c:\temp\myscript.ps1爲遠程計算機上的當前用戶的互動過程。

另一方面:如果您無法訪問配置WinRM服務,那麼您可能不允許向遠程計算機發送消息,因爲這是管理員作業(在這種情況下,您可能會遇到配置WinRM的權限)。