Live Demo: 100% Patching Coverage in Just 5 Minutes

This Wednesday | 9 AM PDT / 12 PM EDT | 11 AM CEST / 10 AM BST

Getting Started

Endpoints

Patch Management

Vulnerability Management

Software Deployment & IT Assets

Automation & Remote Desktop

Real-Time Reports & Alerts

Account Access & Management

SSO Authentication

Security Concerns

Need Help?

Action1 5 Documentation 5 Proxy Settings

Proxy Settings

For Action1 to operate correctly via a proxy server, you need to configure proxy settings on the Action1 agent side using the registry.

IMPORTANT!  These settings apply to the forward proxy only.

 

Configuring proxy settings on the agent side

  1. On the managed Windows endpoints, configure the registry settings for [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Action1] as shown below:

Name

agent.use.proxy
agent.proxy.hostname
agent.proxy.port
agent.proxy.username
agent.proxy.password

Value

yes
<ip_address>
dword:<port>
%user%
%password%

Description

Mandatory.
Should be a string value.
IP address of the proxy server.
Should be a string value.
Port set in proxy configuration for incoming connections, for example, dword:00000c38
Should be a DWORD value.
Username configured in your proxy for authentication.
Password configured in your proxy for authentication.

NOTE: The registry values are case-sensitive.

When operating, the agent will read these proxy settings from the registry.

Example

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Action1]

agent.use.proxy=yes

agent.proxy.hostname=192.168.X.X

agent.proxy.port=dword:00000c38

agent.proxy.username=korben

agent.proxy.password=dallas

  1. To install and update 3rd party apps with Action1 agent, ensure that each managed endpoint can successfully resolve the domain names of the Action1 Content Delivery Network (CDN) servers, which include the following hosts:
    1. us-cdn.action1.com
    2. eu-cdn.action1.com
    3. au-cdn.action1.com
    4. us-cdn-action1-com.b-cdn.net
    5. eu-cdn-action1-com.b-cdn.net
    6. au-cdn-action1-com.b-cdn.net

NOTE: You can, for example, run nslookup queries on the endpoints.

Propagating settings to system-level proxy configuration

For the Windows Update agent to operate via proxy using the settings configured above, you need to propagate them to system-level proxy settings. For that, you can run a script on your managed endpoints using Action1 automation, as described in this section. Follow the Run Script wizard and enter the following PowerShell script:

function Get-RegistryValue {
    param (
        [Parameter(Mandatory)]
        [AllowEmptyString()]
        [string]$RegistryPath,
        [Parameter(Mandatory)]
        [AllowEmptyString()]
        [string]$RegistryValue
    )
    try {
        function Get-RegistryValue {
            param (
                [Parameter(Mandatory)]
                [string]$RegistryPath,
                [Parameter(Mandatory)]
                [string]$RegistryValue
            )
            try {
                if (Test-Path -Path $RegistryPath -PathType Container) {
                    $key = Get-Item -Path $RegistryPath -ErrorAction Stop
                    $value = $key.GetValue($RegistryValue, $null)
                    return $value
                }
            }
            catch {}
        }

        try { $arch = ((Get-CimInstance -ClassName Win32_OperatingSystem).OSArchitecture).substring(0, 2) }
        catch { switch ([System.Environment]::Is64BitOperatingSystem) { $true { $arch = '64' } $false { $arch = '32' } } }
        switch ($arch) {
            '32' { $registryPath = 'HKLM:\SOFTWARE\Action1' }
            '64' { $registryPath = 'HKLM:\SOFTWARE\WOW6432Node\Action1' }
        }

        $proxy = Get-RegistryValue -RegistryPath $registryPath -RegistryValue "agent.use.proxy"
        $hostname = Get-RegistryValue -RegistryPath $registryPath -RegistryValue "agent.proxy.hostname"
        $port = Get-RegistryValue -RegistryPath $registryPath -RegistryValue "agent.proxy.port"
        $username = Get-RegistryValue -RegistryPath $registryPath -RegistryValue "agent.proxy.username"
        $password = Get-RegistryValue -RegistryPath $registryPath -RegistryValue "agent.proxy.password"

        if ($null -eq $proxy -or $proxy.ToLower() -ne 'yes') {
            $Host.UI.WriteLine("The proxy is not configured.")
            return
        }
        New-ItemProperty -Path $registryPath -Name 'agent.use.proxy' -Value 'yes' -PropertyType String -Force

        if (($null -eq $port) -or ([string]::IsNullOrEmpty($hostname) -or $port -eq 0)) {
            $Host.UI.WriteLine("The proxy host name or port is not specified.")
            return
        }
        $argument = "winhttp set proxy $hostname" + ":" + [string]$port
        Start-Process -FilePath netsh -ArgumentList $argument -NoNewWindow -Wait

        if ([string]::IsNullOrEmpty($username) -or [string]::IsNullOrEmpty($password)) {
            $Host.UI.WriteLine("The proxy user name or password is not specified.")
            return
        }
        Start-Process -FilePath cmdkey -ArgumentList "/generic:$hostname /user:$username /pass:$password" -NoNewWindow -Wait

The script will do the following:

  • Check the system architecture (32-bit vs 64-bit).

  • Read specific proxy configuration values from the Windows Registry.

  • Configure the system proxy using netsh if proxy settings are enabled.

  • Save proxy authentication information using cmdkey.