ArcGIS Web Adaptor Node Configuration - Esri/arcgis-powershell-dsc GitHub Wiki

Beginning at version 4.2.0, the PowerShell DSC Module for ArcGIS requires a different way to specify the ArcGIS Web Adaptor Node configuration. This change is intended to help provide greater flexibility and additional support for web adaptor configurations utilized by various organizations.

If the legacy ArcGIS Web Adaptor configuration syntax is defined in the JSON configuration parameters file and used with the PowerShell DSC Module for ArcGIS version 4.2.0, you will be presented with the following error message:

[ERROR] Starting from version 4.2.0, the DSC Module requires a different way of specifying the Web Adaptor Node configuration. Please make sure to update your configuration file

Below are examples of how the Web Adaptor Node configuration differs between version 4.2.0 and older versions (versions 4.1.0 and lower) of the PowerShell DSC Module for ArcGIS.

It is important to note that ConfigData.ServerContext and ConfigData.PortalContext must be present when using the PowerShell DSC Module for ArcGIS, regardless of the version of the module. These attributes are used for federation of ArcGIS Server and Portal for ArcGIS.

When using multiple web adaptors for an ArcGIS Server site, it is important to note the web adaptor name defined for the ConfigData.ServerContext attribute will be used for federation with Portal for ArcGIS.

Version 4.2.0 ArcGIS Web Adatpor Node Configuration

This section describes how the ArcGIS Web Adaptor Node configuration should be defined in the JSON Configuration parameters file used to deploy ArcGIS Web Adaptor using the PowerShell DSC Module for ArcGIS version 4.2.0 or higher. If you are upgrading an existing deployment and using version 4.2.0 of the PowerShell DSC Module for ArcGIS, the following changes from previous versions of the PowerShell DSC Module for ArcGIS:

  • For AllNodes.Role section, use "WebAdaptor" in place of "ServerWebAdaptor" and "PortalWebAdaptor".
  • Add AllNodes.WebAdaptorConfig to the JSON Configuration parameters file.
    • This JSON attribute is an array of web adaptors and their configurations for each node an ArcGIS Web Adaptor will be deployed.

    Note: When AllNodes.WebAdaptorConfig.Role is set to Portal, it is not necessary to define AllNodes.WebAdaptorConfig.AdminAccessEnabled as the admin access is enabled by default for the web adaptors associated with Portal for ArcGIS.

  • Remove ConfigData.WebAdaptor.WebSiteId from the JSON configuration file. This attribute is now defined here: AllNodes.WebAdaptorConfig.WebSiteId.
    • This provides support for hosting many different web adaptors across multiple sites in IIS. The default value is 1, which is the default website in IIS.

Here's an example of the ArcGIS Web Adaptor configuration using PowerShell DSC Module for ArcGIS version 4.2.0:

Note: In this example, the ArcGIS Web Adaptor named serveradmin is defined for ConfigData.ServerContext and therefore will be used for federation.

{
    "AllNodes": [
        {
            "NodeName": "machine.domain.com",
            "Role": [
                "WebAdaptor"
            ],
            "WebAdaptorConfig":[
                {
                    "Role": "Portal",
                    "Context": "portal",
                    "WebSiteId": 1
                },
                {
                    "Role": "Server",
                    "Context": "serveradmin",
                    "AdminAccessEnabled": true,
                    "WebSiteId": 1
                },
                {
                    "Role": "Server",
                    "Context": "server",
                    "AdminAccessEnabled": false,
                    "WebSiteId": 1
                }
            ]
        }
    ],
    "ConfigData": {
        "ServerContext": "serveradmin",
        "PortalContext": "portal",
        "WebAdaptor": {
            "AdminAccessEnabled": true,
            "OverrideHTTPSBinding": true,
            "Installer": {
                "Path": "C:\\Software\\ArcGIS_Web_Adaptor_for_Microsoft_IIS_111_185222.exe",
                "IsSelfExtracting": true,
                "DotnetHostingBundlePath": "C:\\Software\\dotnet-hosting-6.0.16-win.exe",
                "WebDeployPath": "C:\\Software\\WebDeploy_amd64_en-US.msi",
                "PatchesDir": "C:\\Software\\patches\\11.1\\webadaptor"
            }
        }
    }
}

Version 4.1.0 and below ArcGIS Web Adatpor Node Configuration

This section describes how the ArcGIS Web Adaptor Node configuration should be defined in the JSON Configuration parameters file used to deploy ArcGIS Web Adaptor with PowerShell DSC Module version 4.1.0 or below. In this example, note the following changes from version 4.2.0 of the PowerShell DSC Module for ArcGIS:

  • For AllNodes.Role section use "ServerWebAdaptor" and "PortalWebAdaptor" to define the type of web adaptor to be deployed based on the requirements.
    • Defining a value of "ServerWebAdaptor" will install and configure a Web Adaptor for ArcGIS Server, while "PortalWebAdaptor" will install and configure a Web Adaptor to be use with Portal for ArcGIS.
  • The AllNodes.WebAdaptorConfig attribute does not exist and will not work if defined. You must upgrade the PowerShell DSC Module for ArcGIS to version 4.2.0 if you wish to use this attribute.
  • The ConfigData.WebAdaptor.WebSiteId attribute is used to define which website the web adaptors will be deployed.
    • This will install and configure all of the web adaptors defined in the JSON configuration parameters file on the website id defined (i.e. all web adaptors must be on the same IIS website). The default value is 1, which is the default website in IIS.

Here's an example of the ArcGIS Web Adaptor configuration using PowerShell DSC Module for ArcGIS version 4.2.0:

Note: In this example, the ArcGIS Web Adaptor named server is defined for ConfigData.ServerContext and therefore will be used for federation.

{
    "AllNodes": [
        {
            "NodeName": "machine.domain.com",
            "Role": [
                "ServerWebAdaptor",
                "PortalWebAdaptor"
            ]
        }
    ],
    "ConfigData": {
        "ServerContext": "server",
        "PortalContext": "portal",
        "WebAdaptor": {
            "AdminAccessEnabled": true,
            "OverrideHTTPSBinding": true,
            "Installer": {
                "Path": "C:\\Software\\ArcGIS_Web_Adaptor_for_Microsoft_IIS_111_185222.exe",
                "IsSelfExtracting": true,
                "DotnetHostingBundlePath": "C:\\Software\\dotnet-hosting-6.0.16-win.exe",
                "WebDeployPath": "C:\\Software\\WebDeploy_amd64_en-US.msi",
                "PatchesDir": "C:\\Software\\patches\\11.1\\webadaptor"
            },
            "WebSiteId": 1
        }
    }
}