我的公司已经推出了一项新的软件电话服务,该服务已通过GPO成功安装到每台计算机上。关键是,该软件已安装在用户配置文件中,然后要求允许其通过Windows Defender防火墙访问,而我很难允许需要管理员凭据的访问。像%localappdata%或%userprofile%这样的变量在GPO中不起作用。启动脚本不起作用,因为它将防火墙规则置于管理配置文件下。登录脚本不起作用,因为它需要管理员权限才能添加新的newfirewallrule。
$username = $env:username
New-NetFirewallRule -Displayname "Five9Softphone" -Direction Inbound -Program C:\Users\$username\appdata\local\Five9\Five9Softphone-10.0\bin\10.2.16\five9softphone.exe
与任何管理员用户(而非我的普通用户)一起运行时,此功能有效。请帮忙!
答案 0 :(得分:0)
您可以运行以下内容:
$profiles = Get-ChildItem -Path 'C:\Users' -Directory
Foreach ($profile in $profiles) {
$ExePath = Join-Path -Path $profile.Fullname -ChildPath 'appdata\local\Five9\Five9Softphone-10.0\bin\10.2.16\five9softphone.exe'
if (!(Get-NetFirewallApplicationFilter -Program $ExePath)) {
New-NetFirewallRule -Displayname "Five9Softphone" -Direction Inbound -Program $ExePath
}
}