Select to view content in your preferred language

Installing an Image server via PowerShell DSC

344
3
02-04-2026 02:20 PM
CoryMarino
New Contributor

Hi my organization currently has a three node deployment (datastore / Server / Portal) that we used the Powershell DSC to stand up. We have now been tasked with installing an additional server to serve as an image server. With that said I have two questions 

  1. Can we add the image server as an additional node in "All Nodes" and run the DSC tool to install the image server?
  2. What Roles do we give that server in the JSON configuration file.

Here is the general construction I had started for the additional Image Server but I wanted to confirm if this is indeed the stuff I should be putting in the section

{
            "NodeName": "NAME",
            "Role": [
                "Server"
            ],
            "SslCertificates": [
                {
                    "Path": "PATH",
                    "Password": "{SSL Password}",
                    "CNameFQDN": "FQDN",
                    "Target": [
                        "Server"
                    ]
                }
            ]
        }



0 Kudos
3 Replies
JakeSkinner
Esri Esteemed Contributor

Hi @CoryMarino ,

"Server" is correct for the Role.  I recommend creating a separate JSON file for the Image Server instance.  Below is an example:

{
    "AllNodes": [
        {
            "NodeName": "arcgis-image",
            "Role": [
                "Server"
            ],
            "SslCertificates": [
                {
                    "Path": "D:\\automationFiles\\certificates\\arcgis-image.pfx",
                    "PasswordFilePath": "D:\\automationFiles\\passwords\\certificate.txt",
                    "CNameFQDN": "arcgis-image.esri.com",
                    "Target": [
                        "Server"
                    ]
                }
            ]
        },
        {
            "NodeName": "arcgis-webadaptor",
            "Role": [
                "WebAdaptor"
            ],
            "WebAdaptorConfig": [
                {
                    "Role": "Server"
                }
            ]
        }
    ],
    "ConfigData": {
        "Version": "11.1",
        "ServerContext": "image",
        "ServerRole": "GeneralPurposeServer",
        "DownloadSetups": true,
        "Downloadpatches": true,
        "Credentials": {
            "ServiceAccount": {
                "PasswordFilePath": "D:\\automationFiles\\passwords\\serviceAccount.txt",
                "UserName": "esri\\service_arcgis",
                "IsDomainAccount": true,
                "IsMSAAccount": false
            },
            "AGOCredential":{
               "UserName": "myesriadmin",
               "PasswordFilePath": "D:\\automationFiles\\passwords\\MyEsri.txt"
            }
        },
        "Server": {
            "LicenseFilePath": "D:\\automationFiles\\licenses\\ArcGISGISServerAdvanced_ArcGISServer_1428926.prvc",
            "Installer": {
                "Path": "D:\\automationFiles\\software\\ArcGIS11.1\\ArcGIS_Server_Windows_111_185208.exe",
                "InstallDir": "D:\\Program Files\\ArcGIS\\Server",
                "patchesDir": "D:\\automationFiles\\software\\ArcGIS11.1\\patches"
            },
            "ServerDirectoriesRootLocation": "D:\\arcgisserver\\directories",
            "ConfigStoreLocation": "D:\\arcgisserver\\config-store",
            "ExternalLoadBalancer": "gis.esri.com",
            "PrimarySiteAdmin": {
                "UserName": "siteadmin",
                "PasswordFilePath": "D:\\automationFiles\\passwords\\siteadmin.txt"
            }
        },
        "WebAdaptor": {
            "AdminAccessEnabled": true,
            "Installer": {
                "Path": "D:\\automationFiles\\software\\ArcGIS11.1\\ArcGIS_Web_Adaptor_for_Microsoft_IIS_111_185222.exe",
                "PatchesDir": "D:\\automationFiles\\software\\ArcGIS11.1\\patches"
            }
        },
        "Federation": {
            "PortalHostName": "gis.esri.com",
            "PortalPort": "443",
            "PortalContext": "portal",
            "PortalAdministrator": {
                "UserName": "portaladmin",
                "PasswordFilePath": "D:\\automationFiles\\passwords\\portaladmin.txt"
            },
            "RestrictedPublishing": false
        }
    }
}

 

0 Kudos
CoryMarino
New Contributor

Hi @JakeSkinner ,

Appreciate the response! Wouldn't making the Image Server Config its own JSON configuration make upgrading in the future much more difficult ? Whereas adding the additional server to our singular JSON configuration file would allow us a much easier path to upgrade. 

Also I noticed in the example above it has a web adapter but I thought only the general purpose server and portal have web adapters. 

Regards,
Cory

0 Kudos
JakeSkinner
Esri Esteemed Contributor

@CoryMarino you will want an additional web adaptor to access the new Image Server.  This additional web adaptor can reside on the same server where you host your Portal and ArcGIS Server web adaptors.

I believe you'll receive an error if you have two nodes configured with the same Role (i.e. "Server") in your JSON file.  Also, you may need to configure different directories for the Image Server vs your traditional ArcGIS Server instances.  In a single JSON file, there's only one place to define this:

JakeSkinner_0-1770403641032.png

0 Kudos