通过GPO为本地用户配置文件添加新的防火墙规则

时间:2019-06-26 16:39:10

标签: powershell windows-firewall gpo

我的公司已经推出了一项新的软件电话服务,该服务已通过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

与任何管理员用户(而非我的普通用户)一起运行时,此功能有效。请帮忙!

1 个答案:

答案 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
    }
}