2015-05-23 4 views
2

Мне интересно, можно ли отправить сообщение в системный лоток или всплывающее окно сообщения на удаленный компьютер, не завися от службы WinRM. Каждый раз, когда я пытаюсь получить ошибку, потому что служба не активна в том месте, где я тестирую, и не могу активироваться при обычном доступе на уровне пользователя.Отправить сообщение на удаленный компьютер, не зависящий от службы WinRM

Для системного трея сообщ я использую этот код (работает на локальном компьютере, где я нахожусь на)

[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, вы можете скопировать файл (ы) на удаленный компьютер и использовать psexec или WMI напрямую, чтобы вызвать powershell -File c:\temp\myscript.ps1 в качестве интерактивного процесса для текущего пользователя на удаленном компьютере.

С другой стороны: если у вас нет доступа к настройке службы WinRM, вам также не разрешено отправлять сообщения на удаленные компьютеры, так как это задание администраторов (в этом случае у вас будет права на настройку WinRM).

Смежные вопросы