我想知道是否可以在不依赖 WinRM 服务的情况下向远程 PC 发送系统托盘消息或弹出消息框。每次我尝试时都会出错,因为该服务在我正在测试的地方没有激活,并且无法通过正常的用户级别访问激活。
对于系统托盘消息,我使用此代码(在我所在的本地 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 脚本站点获得的示例代码,而不是我自己的(以防有人识别代码)。