管理应用程序设置

跨团队或组织中部署 ArcGIS Pro 的系统管理员可能需要代表其用户控制应用程序设置。 借助 ArcGIS Pro,管理员可以为许多应用程序设置和所有地理处理工具参数设置默认值。 您还可以锁定这些设置,以使用户无法从管理员设置的值更改它们。

以下部分介绍了在 ArcGIS Pro 部署中控制应用程序设置的过程:

  1. 创建 Pro.settingsConfig 文件。
  2. 将文件提交到用户可以访问的目录或共享中。
  3. 配置用户计算机以使用部署的文件。

创建 Pro.settingsConfig 文件

要控制应用程序设置,您必须首先创建一个 Pro.settingsConfig 文件。 这些文件以可扩展标记语言 (XML) 格式写入,但文件扩展名为 .settingsConfig,而不是 .xml

如果您有权访问高级 XML 编辑器(如 Microsoft Visual Studio),则可以在创建过程中使用 XML 方案定义 (.xsd) 文件。 settingsConfig 格式的 .xsd 文件可作为 ArcGIS Pro 安装的一部分提供。 在 ArcGIS Pro 安装位置的 \Resources\XmlSchema 目录中查找 ProSettings.xsd 文件。

要创建 Pro.settingsConfig 文件,请在所选文本或 XML 编辑器中创建一个空白文件,然后复制粘贴以下示例的内容并根据需要对其进行编辑:

  • 对于要使用的设置,请移除行开头和结尾处的注释语法(<!---->)。
  • 对于您不希望使用的设置,可以保留注释语法或删除该行。

注:

本示例不包括所有可用的应用程序设置和属性。 有关完整列表,请参阅可供管理员控制的应用程序设置

<?xml version="1.0" encoding="UTF-8"?>
<ArcGISProSettings xmlns="http://schemas.esri.com/ProSettings"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://schemas.esri.com/ProSettings .\prosettings.xsd">

  <Application>
    <!-- <UseLocalHelp isLocked="false">true</UseLocalHelp> -->
    <!-- <UseSpellCheck isLocked="false">true</UseSpellCheck> -->
    <!-- <UseDarkTheme isLocked="false">true</UseDarkTheme> -->
  </Application>

  <Projects>
    <!-- <CreateBackup isLocked="true">true</CreateBackup> -->
    <!-- <BackupIntervalMinutes isLocked="true">3</BackupIntervalMinutes> -->
    <!-- <LocalProject> -->
      <!-- <CustomDefaultLocation isLocked="true">C:\Testing\Team_Defaults\Team_Projects</CustomDefaultLocation> -->
      <!-- <CreateProjectInNewFolder isLocked="false">false</CreateProjectInNewFolder> -->
      <!-- <HomeFolder isLocked="false">c:\Testing\Team_Defaults\Team_Data</HomeFolder> -->
      <!-- <DefaultGeodatabase isLocked="true">C:\Testing\Team_Defaults\Team_Data\Team_EGDB.sde</DefaultGeodatabase> -->
      <!-- <DefaultToolbox isLocked="true">C:\Testing\Team_Defaults\Team_Data\Team_Tools.atbx</DefaultToolbox> -->
    <!-- </LocalProject> -->
  </Projects>

  <Versioning>
    <!-- <ConnectionDefaultVersioningType isLocked="false">Branch</ConnectionDefaultVersioningType> -->
    <!-- <ReconcileDefineConflicts isLocked="true">ByRow</ReconcileDefineConflicts> -->  
    <!-- <ReconcileResolveConflicts>FavorTargetVersion</ReconcileResolveConflicts> --> 
    <!-- <ShowReconcileDialog>true</ShowReconcileDialog> -->
    <!-- <ShowConflictDialog>true</ShowConflictDialog> -->
  </Versioning>

  <MapAndScene>
    <!-- <DefaultBasemapJson isLocked="true">FromPortal</DefaultBasemapJson> -->
    <!-- <LayerVisibleByDefault isLocked="true">true</LayerVisibleByDefault> -->
    <!-- <DefaultSpatialReference isLocked="false">Not set</DefaultSpatialReference> -->
    <!-- <ConfirmTransformation isLocked="true">true</ConfirmTransformation> -->
    <!-- <DefaultLabelEngine isLocked="true">Standard</DefaultLabelEngine> -->
    <!-- <AddDefaultElevationSource isLocked="true">true</AddDefaultElevationSource> -->
    <!-- <CustomElevationSourceXml isLocked="false">Not set</CustomElevationSourceXml> -->
    <!-- <ManageFeatureCaching isLocked="true">true</ManageFeatureCaching> -->
    <!-- <ContentPanePointLegendsPatchSizeLimit isLocked="true">48</ContentPanePointLegendsPatchSizeLimit> -->
    <!-- <AreUnRegisteredDatasetsAndCsvBackwardCompatible isLocked="true">false</AreUnRegisteredDatasetsAndCsvBackwardCompatible> -->
    <!-- <CheckMapsWhenDeleting isLocked="true">None</CheckMapsWhenDeleting> -->
    <!-- <CheckMapsWhenRenaming isLocked="true">None</CheckMapsWhenRenaming> -->
  </MapAndScene>

  <Catalog>
    <!-- <EnableIndexing isLocked="true">false</EnableIndexing> -->
    <!-- <IndexNetworkConnections isLocked="true">false</IndexNetworkConnections> -->
    <!-- <MetadataCanDeleteGPHistory isLocked="true">false</MetadataCanDeleteGPHistory> -->
    <!-- <MetadataStyle isLocked="true">ISO 19115-3 XML Schema Implementation</MetadataStyle> -->
    <!-- <SearchIndexes isLocked="true">\\dataserver1\WorldData_SearchIndex</SearchIndexes> -->
    <!-- <SkipServerConnections isLocked="true">true</SkipServerConnections> -->
  </Catalog>

  <Navigation>
    <!-- <ShowFlashCrosshairs isLocked="true">true</ShowFlashCrosshairs> -->
  </Navigation>

  <Selection>
    <!-- <KeepInvisibleFeaturesSelected isLocked="true">false</KeepInvisibleFeaturesSelected> -->
  </Selection> 

  <Editing>
    <!-- <RequireExplicitStartEditing isLocked="false">false</RequireExplicitStartEditing> -->
    <!-- <ShowSaveDialog isLocked="true">true</ShowSaveDialog> -->
    <!-- <ShowDiscardDialog isLocked="true">true</ShowDiscardDialog> -->
    <!-- <EnforceAttributeValidation isLocked="true">false</EnforceAttributeValidation> -->
    <!-- <WarnOnDelete isLocked="true">true</WarnOnDelete> -->
    <!-- <NewLayersEditable isLocked="true">false</NewLayersEditable> -->
    <!-- <AutoSaveEdits isLocked="true">time,1</AutoSaveEdits> -->
    <!-- <SaveWithProject isLocked="true">false</SaveWithProject> -->
    <!-- <WarnOnDiscardAttribute isLocked="false">apply</WarnOnDiscardAttribute> -->
    <!-- <MoveToolActivationAfterPaste isLocked="true">true</MoveToolActivationAfterPaste> -->
    <!-- <AutoApplyAttributes isLocked="true">true</AutoApplyAttributes> -->
    <!-- <WarnOnDiscardGeometry> </WarnOnDiscardGeometry> -->
  </Editing>

  <Geoprocessing>
    <!-- <AddHistoryItem isLocked="true">true</AddHistoryItem> -->
    <!-- <AddOutputsToMap isLocked="true">true</AddOutputsToMap> -->
    <!-- <EnableUndo isLocked="true">true</EnableUndo> -->
    <!-- <MessageLevelCommandSyntax isLocked="true">true</MessageLevelCommandSyntax> -->
    <!-- <MessageLevelDiagnostics isLocked="true">true</MessageLevelDiagnostics> -->
    <!-- <MessageLevelProjectionTransformation isLocked="true">true</MessageLevelProjectionTransformation> -->
    <!-- <RecordGPHistoryInMetadata isLocked="true">true</RecordGPHistoryInMetadata> -->
    <!-- <RemoveOverwrittenLayers isLocked="true">true</RemoveOverwrittenLayers> -->
    <!-- <ToolParameters><Parameter toolName="calculatefield" toolboxAlias="management" name="expression_type" isLocked="true">ARCADE</Parameter></ToolParameters> -->
  </Geoprocessing>

  <Display>
    <!-- <AntialiasingMode isLocked="true">Fast</AntialiasingMode> -->
    <!-- <TextAntialiasingMode isLocked="true">Force</TextAntialiasingMode> -->
    <!-- <StereoscopicMode isLocked="true">Off</StereoscopicMode> -->
    <!-- <RenderingMode isLocked="true">DirectX</RenderingMode> -->
    <!-- <RenderingQuality isLocked="true">1</RenderingQuality> -->
    <!-- <EnableVSync isLocked="true">true</EnableVSync> -->
    <!-- <EnableRenderingAntialiasing isLocked="true">true</EnableRenderingAntialiasing> -->
    <!-- <LocalCacheFolderPath isLocked="true">C:\Users\<name>\AppData\Local\ESRI\Local Caches</LocalCacheFolderPath> -->
    <!-- <ClearCacheWhenAppClosing isLocked="true">false</ClearCacheWhenAppClosing> -->
    <!-- <UseSquarePrimitive isLocked="true">false</UseSquarePrimitive> -->
  </Display>

  <TextAndGraphics>
    <!-- <DefaultFontName isLocked="true">Tahoma</DefaultFontName> -->
    <!-- <DefaultFontStyle isLocked="false">Regular</DefaultFontStyle> -->
    <!-- <DefaultFontVariationSettings isLocked="true"></DefaultFontVariation> -->
  </TextAndGraphics>

  <ColorManagement>
    <!-- <WorkingColorSpaceForNewItems isLocked="true">CMYK</WorkingColorSpaceForNewItems> -->
    <!-- <EnableColorManagement isLocked="true">true</EnableColorManagement> -->
    <!-- <RGBColorProfile isLocked="true">sRGB IEC61966-2.1</RGBColorProfile> -->
    <!-- <CMYKColorProfile isLocked="true">U.S. Web Coated (SWOP) v2</CMYKColorProfile> -->
    <!-- <ColorConversionRule isLocked="true">PreserveColorValues</ColorConversionRule> -->
    <!-- <RenderingIntent isLocked="true">Perceptual</RenderingIntent>-->
    <!-- <EnableDefaultBlackPointCompensation isLocked="true">false</EnableDefaultBlackPointCompensation> -->
  </ColorManagement>

  <Table>
    <!-- <DisableAddRow isLocked="true">true</DisableAddRow> -->
    <!-- <AllowWebLinks isLocked="true">false</AllowWebLinks> -->
    <!-- <SupportedUriSchemeList isLocked="true">ftp,ftps,html</SupportedUriSchemeList> -->
    <!-- <AllowFileLinks isLocked="true">false</AllowFileLinks> -->
    <!-- <SupportedFileExtensionList isLocked="true">.7z,.csv</SupportedFileExtensionList> -->
    <!-- <FontName isLocked="true">Segoe UI</FontName> -->
    <!-- <FontSize isLocked="true">11</FontSize> -->
  </Table> 

  <Report>
    <!-- <ReportCustomTemplatePath isLocked="true">C:\Users\<name>\Documents\ArcGIS\ReportTemplates</ReportCustomTemplatePath> -->
  </Report> 

  <Layout>
    <!-- <TemplatePath isLocked="true">C:\Users\<name>\AppData\Local\LayoutTemplates</TemplatePath> -->
  </Layout>

  <ShareDownload>
    <!-- <StagingPath isLocked="true">C:\Users\%USERNAME%\AppData\Local\ESRI\ArcGISPro\Staging\SharingProcesses</StagingPath> -->
    <!-- <UnpackingProjectPackageOption isLocked="true">0</UnpackingProjectPackageOption> -->
    <!-- <UnpackingProjectPackagePath isLocked="true">C:\Users\%USERNAME%\Documents\ArcGIS\Packages</UnpackingProjectPackagePath> -->
    <!-- <UnpackingOtherPackagesOption isLocked="true">0</UnpackingOtherPackagesOption> -->
    <!-- <UnpackingOtherPackagesPath isLocked="false">C:\Users\%USERNAME%\Documents\ArcGIS\Packages</UnpackingOtherPackagesPath> -->
    <!-- <OfflineMapsOption isLocked="true">0</OfflineMapsOption>-->
    <!-- <OfflineMapsPath isLocked="true">C:\Users\%USERNAME%\Documents\ArcGIS\OfflineMaps</OfflineMapsPath> -->
    <!-- <MapLayerPresetsPath isLocked="false">C:\Users\%USERNAME%\AppData\Roaming\Esri\ArcGISPro\ExportPresets</MapLayerPresetsPath> -->
  </ShareDownload> 

  <Authentication>
    <!-- <AuthConnection isLocked="true"> -->
      <!-- <Name>Connection1Name</Name> -->
      <!-- <Type>MicrosoftEntraID</Type> -->
      <!-- <Environment>AzureGlobal</Environment> -->
      <!-- <TenantID>example.domain.com</TenantID> -->
      <!-- <ClientID>123456789</ClientID> -->
    <!-- </AuthConnection> -->  
  </Authentication> 

  <GeodatabaseReplication>
    <!-- <LogFilePath isLocked="true">C:\Users\%USERNAME%\AppData\Local\ESRI\ProReplicaActivityLog.dat</LogFilePath> -->
    <!-- <LogLevel isLocked="true">Debug</LogLevel> -->
  </GeodatabaseReplication> 

</ArcGISProSettings>
警告:

当您保存 Pro.settingsConfig 文件时,请确保您的 XML 或文本编辑器未将 .txt.xml 文件扩展名添加到文件末尾,因为这样会防止 ArcGIS Pro 正确加载文件。

部署 Pro.settingsConfig

创作 Pro.settingsConfig 文件后,您必须将其部署到所有 ArcGIS Pro 客户端计算机都可以访问的位置。 这通常是服务器上的文件共享。 但是,您也可以根据需要将该文件置于客户端计算机的本地磁盘上。

将托管 Pro.settingsConfig 的共享或文件夹上的文件权限设置为仅对创建文件的管理员为读写,对 ArcGIS Pro 客户端计算机的用户为只读。 如果您未使用适当的权限保护文件,则用户可以更改 Pro.settingsConfig 文件中的值,从而更改所有用户的默认设置和锁定设置。

示例,在所有 ArcGIS Pro 客户端计算机均可访问的文件服务器上,创建一个共享,例如 \\dataserver1\ProSettings。 设置 Pro.settingsConfig 共享权限,以便客户端用户具有只读访问权限,并将 Pro.settingsConfig 文件复制到共享。

可以根据组织需求的变化来更新已部署的 Pro.settingsConfig 文件。 要更改设置控制方案,请更新共享文件或在其位置复制一个新文件。 ArcGIS Pro 客户端计算机在下一次于计算机上启动 ArcGIS Pro 时开始使用新文件。

配置用户计算机以使用 Pro.settingsConfig

控制用户设置的最后一步是配置每个 ArcGIS Pro 客户端计算机从其部署位置使用 Pro.settingsConfig 文件。 配置完成后,客户端计算机会在每次 ArcGIS Pro 应用程序启动期间检查文件,从而相应地更改用户的设置。

可通过两种方式将客户端计算机设置为使用文件。 这两种选项都要求您提供包含已部署 Pro.settingsConfig 文件的网络共享或本地文件夹的路径。

第一种(也是最简单的)方法是在 ArcGIS Pro 静默安装期间设置 ADMIN_SETTINGS_PATH 命令行参数。

配置客户端计算机的第二种方法是编辑 Windows 注册表。 如果已部署 ArcGIS Pro,或者您不想进行静默安装,请使用此选项。 要配置客户端计算机,请在 HKEY_LOCAL_MACHINE\SOFTWARE\ESRI\ArcGISPro\Settings 中创建一个名为 AdminSettingsPath 的字符串值。 将值数据设置为包含已部署 Pro.settingsConfig 文件的网络共享或本地文件夹的路径。 就以上示例来说,您可以将值数据设置为 \\dataserver1\ProSettings

当您使用 ADMIN_SETTINGS_PATH 安装参数或在注册表中创建 AdminSettingsPath 条目时,设置存储在 HKEY_LOCAL_MACHINE 注册表配置单元中。 更改值需要计算机的管理权限。 这样可以保护设置,确保非管理员用户不能选择退出由其管理员设置的设置控件。

通过注册表配置计算机时,建议您使用系统部署工具,而不是通过 regedit.exe 手动更改每台计算机。 常见的系统部署工具包括 Windows Active Directory Group Policy、Microsoft SCCM 和 Microsoft PowerShell DSC。 可以在 ArcGIS 10.8、ArcGIS Pro 2.5 和 ArcGIS Earth 1.10 Enterprise 部署技术论文中找到有关使用这些工具安装和配置 ArcGIS Pro 的详细说明。

设置锁定和默认值优先级

设置控制机制允许管理员提供设置默认值,并将设置锁定为这些值。

设置锁定由 isLocked XML 属性进行控制。 当设置为 true 时,ArcGIS Pro 客户端计算机上的用户无法更改设置的值。 该值被锁定为管理员在 Pro.settingsConfig 文件中设置的值。

示例:EnableIndexing 设置

<EnableIndexing isLocked="true">false</EnableIndexing>

在此示例中,EnableIndexing 元素对应于为项目建立索引切换按钮,您可以通过单击开始页面或工程选项卡上的设置,然后单击选项 > 建立索引进行访问。 将 EnableIndexing 设置为 false,将为项目建立索引切换按钮设置为关闭状态。 由于 isLocked 设置为 true,因此应用程序将禁用该控件,并显示一条消息,表明该设置已被锁定:

“选项”对话框的“索引”选项卡中的索引设置

如果将 isLocked 属性设置为 false,则您可以控制设置的默认值,但用户可以根据需要进行更改。

示例:UseLocalHelp 设置

<UseLocalHelp isLocked="false">true</UseLocalHelp>

在此示例中,UseLocalHelp 元素对应于帮助源设置,您可以通过单击开始页面或工程选项卡上的设置,然后单击选项 > 常规进行访问。 UseLocalHelp 设置为 true,因此新安装的 ArcGIS Pro 默认设置为离线帮助。 由于 isLocked 属性设置为 false,因此用户稍后可更改该设置。

“选项”对话框的“常规”选项卡中的帮助源设置

注:

解锁设置的默认值仅由新安装的 ArcGIS Pro 使用。 如果您将计算机配置为在用户已经运行 ArcGIS Pro 后使用 Pro.settingsConfig 文件,则不会使用该文件中的默认值,因为用户已经建立了标准默认值。 可以通过在 Pro.settingsConfig 文件中设置 isLocked="true" 来强制设置。

此外,如果应用程序设置对应的选项可以在选项对话框中重置,则 Pro.settingsConfig 文件中的设置会在用户单击重置 重置 时应用。

移除应用程序设置

要从计算机中移除应用程序设置,需要在 HKEY_LOCAL_MACHINE\SOFTWARE\ESRI\ArcGISPro\Settings 中删除 AdminSettingsPath 注册表值。 下一个 ArcGIS Pro 会话将反映默认应用程序设置。

可用的应用程序设置

有关应用程序设置完整列表及其在 Pro.settingsConfig 文件中所属的位置,请参阅管理员控制可用设置