我是powershell的新手!
感谢所有花时间帮助我做这件事的人。
注:I AMNOT一个管理员和我的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.
如果这是不可能的,没有担心,谁能澄清一下,这样我就可以告诉我的网络管理员。
解决方案之一是让管理员将该脚本作为例外添加到其策略中。这将允许您批准的脚本在Full Language模式下运行。
更好的解决方案是让你的管理员在他们的策略例外中允许签名脚本,并让你通过从本地CA获得代码签名证书来签名你的脚本。在Windows域上,这需要一点设置,但一旦完成,相对容易管理。
我们阻止所有未签名的脚本在我们的域和管理员/开发人员被授予代码签名证书。