使用 PowerShell 创建气球提示通知

Creating a Balloon Tip Notification Using PowerShell

我是 powershell 的新手!

感谢所有抽出时间帮助我解决这个问题的人。

注意:我不是管理员,我的 POWERSHELL 运行 处于受限模式 - 由于工作政策,它无法更改 :D

到目前为止我有以下代码:

Add-Type -AssemblyName  System.Windows.Forms 
$global:balloon = New-Object System.Windows.Forms.NotifyIcon 
Get-Member -InputObject  $Global:balloon 
[void](Register-ObjectEvent  -InputObject $balloon  -EventName MouseDoubleClick  -SourceIdentifier IconClicked  -Action {

  #Perform  cleanup actions on balloon tip

  $global:balloon.dispose()

  Unregister-Event  -SourceIdentifier IconClicked

  Remove-Job -Name IconClicked

  Remove-Variable  -Name balloon  -Scope Global

}) 
$path = (Get-Process -id $pid).Path

  $balloon.Icon  = [System.Drawing.Icon]::ExtractAssociatedIcon($path) 
[System.Windows.Forms.ToolTipIcon] | Get-Member -Static -Type Property
$balloon.BalloonTipIcon  = [System.Windows.Forms.ToolTipIcon]::Warning 
$balloon.BalloonTipText  = 'What do you think of this balloon tip?'

  $balloon.BalloonTipTitle  = "Attention  $Env:USERNAME"
$balloon.Visible  = $true 
$balloon.ShowBalloonTip(5000) 
 

遗憾的是,这在受限工作中不起作用 - 我无法使用 Add-Type 功能。是否有代码允许在受限模式下的 powershell 中为没有管理员权限的人提供气球式提示通知(或任何类似的 - 只需要弹出消息)。

错误:

Cannot invoke method. Method invocation is supported only on core types in this language mode.

如果这根本不可能,不用担心,有人可以澄清一下,这样我就可以告诉我的网络管理员。

解决此问题的一种方法是让您的管理员将该脚本作为例外添加到他们的政策中。这将允许您批准的脚本在全语言模式下 运行。

更好的解决方案是让您的管理员在他们的策略例外中允许签名脚本,并让您通过从本地 CA 获取代码签名证书来签署您的脚本。在 Windows 域中,这需要一些设置,但一旦完成就相对容易管理。

我们阻止了我们域上所有未签名的脚本,并且 Admins/Developers 获得了代码签名证书。