SharePoint Server 中的文档服务器场配置设置
**上一次修改主题:**2018-03-01
**摘要:**了解如何在 SharePoint Server 2016 和 SharePoint 2013 中记录场配置设置。
可以使用 PowerShell 在 SharePoint Server 中记录场配置设置。
记录配置设置很重要,不但有利于为您的环境创建脚本部署,而且还有利于在发生故障时快速重新创建一组配置。
本文内容:
使用 Windows PowerShell 在 SharePoint 中记录服务器场配置设置
- 使用 Windows PowerShell 记录 SharePoint Server 配置设置的具体步骤
在 SharePoint 中使用 cmdlet 的示例
使用 PowerShell 在 SharePoint Server 中记录场配置设置
下面的过程介绍了如何为 SharePoint Server 创建并运行 PowerShell 脚本。稍后可以使用此脚本,在故障发生时还原场配置设置。
使用 PowerShell 记录 SharePoint Server 配置设置的具体步骤
确认您具有以下成员身份:
SQL Server 实例上的 securityadmin 固定服务器角色。
要更新的所有数据库上的 db_owner 固定数据库角色。
运行 PowerShell cmdlet 的服务器上的 Administrators 组。
必须阅读 about_Execution_Policies (https://go.microsoft.com/fwlink/p/?LinkId=193050)。
管理员可以使用 Add-SPShellAdmin cmdlet 授予使用 SharePoint Server cmdlet 的权限。
备注
如果您没有这些权限,请与安装管理员 SQL Server 管理员联系以请求权限。有关 PowerShell 权限的更多信息,请参阅权限和 Add-SPShellAdmin。
使用文本编辑器(如记事本)创建一个文本文件,然后将以下代码粘贴到该文件中。示例中的命令将创建 XML 文件,用于记录当前服务器场中 Web 应用程序和服务应用程序的配置。仅选择与您的环境相关的那些命令。
## Common SharePoint configuration settings #Retrieve Web Application information. The default depth of 2 does not return much detail--we recommend that you use a depth of 4 for this cmdlet. Get-SPWebApplication | Export-Clixml .\WebAppFilename.xml -depth 4 #Retrieve custom layout information. Get-SPWebApplication | Get-SPCustomLayoutsPage | Export-Clixml .\Get-SPCustomLayoutsPage.xml #Determine how SharePoint designer access is configured. Get-SPWebApplication | Get-SPDesignerSettings | Export-Clixml .\Get-SPDesignerSettings.xml #Retrieve information about alternate access mapping Get-SPAlternateURL | Export-Clixml .\Get-SPAlternateURL.xml #Retrieve information about content databases Get-SPContentDatabase | Export-Clixml .\Get-SPContentDatabase.xml #Retrieve database properties for each database Get-SPDatabase | Export-Clixml .\Get-SPDatabase.xml #Retrieve information about all SharePoint Products installed in the farm, and the versions of all updates installed for each product. Get-SPProduct | Export-Clixml .\Get-SPProduct.xml #Retrieve farm information Get-SPFarm | Export-Clixml .\Get-SPFarm.xml Get-SPFarmConfig | Export-Clixml .\Get-SPFarmConfig.xml #Retrieve information about the servers in the farm Get-SPServer | Export-Clixml .\Get-SPServer.xml #Retrieve information about installed features Get-SPFeature | Export-Clixml .\Get-SPFeature.xml #Retrieve information about globally-installed site templates Get-SPWebTemplate | Export-Clixml .\Get-SPWebTemplate.xml #Retrieve information about deployed solutions Get-SPSolution | Export-Clixml .\Get-SPSolution.xml #Retrieve information about sandboxed solutions deployed in a site collection Get-SPSite | Get-SPUserSolution | Export-Clixml .\Get-SPUserSolution.xml #Retrieve information about claims authentication Get-SPTrustedIdentityTokenIssuer | Export-Clixml .\Get-SPTrustedIdentityTokenIssuer.xml Get-SPTrustedServiceTokenIssuer | Export-Clixml .\Get-SPTrustedServiceTokenIssuer.xml Get-SPTrustedRootAuthority | Export-Clixml .\Get-SPTrustedRootAuthority.xml #Retrieve information about installed Help Get-SPHelpCollection | Export-Clixml .\Get-SPHelpCollection.xml #Retrieve information about the logging levels that have been set Get-SPLogLevel | Export-Clixml .\Get-SPLogLevel.xml #Retrieve information about the sites in the farm Get-SPSite | Export-Clixml .\Get-SPSite.xml Get-SPSiteAdministration | Export-Clixml .\Get-SPSiteAdministration.xml Get-SPSiteSubscription | Export-Clixml .\Get-SPSiteSubscription.xml #Retrieve ULS logging information Get-SPDiagnosticConfig | Export-Clixml .\Get-SPDiagnosticConfig.xml Get-SPDiagnosticsPerformanceCounter | Export-Clixml .\Get-SPDiagnosticsPerformanceCounter.xml Get-SPDiagnosticsProvider | Export-Clixml .\Get-SPDiagnosticsProvider.xml #Retrieve information about accounts registered in the configuration database Get-SPManagedAccount | Export-Clixml .\Get-SPManagedAccount.xml Get-SPProcessAccount | Export-Clixml .\Get-SPProcessAccount.xml Get-SPShellAdmin | Export-Clixml .\Get-SPShellAdmin.xml #Retrieve specific information about the certificate authority Get-SPCertificateAuthority | Export-Clixml .\Get-SPCertificateAuthority.xml Get-SPClaimProvider | Export-Clixml .\Get-SPClaimProvider.xml Get-SPClaimProviderManager | Export-Clixml .\Get-SPClaimProviderManager.xml #Retrieve information about content deployment jobs Get-SPContentDeploymentJob | Export-Clixml .\Get-SPContentDeploymentJob.xml Get-SPContentDeploymentPath | Export-Clixml .\Get-SPContentDeploymentPath.xml #Retrieve information about the Mobile Messaging account. Get-SPWebApplication | Get-SPMobileMessagingAccount | Export-Clixml .\Get-SPMobileMessagingAccount.xml ##Common service infrastructure settings #Retrieve information about the service applications in the farm Get-SPServiceApplication | Export-Clixml .\Get-SPServiceApplication.xml Get-SPServiceApplicationPool | Export-Clixml .\Get-SPServiceApplicationPool.xml Get-SPServiceApplicationProxy | Export-Clixml .\Get-SPServiceApplicationProxy.xml Get-SPServiceApplicationProxyGroup | Export-Clixml .\Get-SPServiceApplicationProxyGroup.xml Get-SPServiceApplication | Get-SPServiceApplicationEndpoint | Export-Clixml .\Get-SPServiceApplicationEndpoint.xml #Retrieve information about the services running in the farm Get-SPServiceInstance | Export-Clixml .\Get-SPServiceInstance.xml #Retrieve information about InfoPath form services Get-SPInfoPathFormsService | Export-Clixml .\Get-SPInfoPathFormsService.xml Get-SPInfoPathFormTemplate | Export-Clixml .\Get-SPInfoPathFormTemplate.xml ###WARNING: The following cmdlet requires run as administrator rights. Get-SPInfoPathUserAgent | Export-Clixml .\Get-SPInfoPathUserAgent.xml #Retrieve information about common Web service settings Get-SPServiceHostConfig | Export-Clixml .\Get-SPServiceHostConfig.xml ## Common service application settings #Access Services #Retrieve specific information for the Access Services service application Get-SPAccessServiceApplication | Export-Clixml .\Get-SPAccessServiceApplication.xml #Application Discovery and Load Balancer Service Application Get-SPTopologyServiceApplication | Export-Clixml .\Get-SPTopologyServiceApplication.xml Get-SPTopologyServiceApplicationProxy | Export-Clixml .\Get-SPTopologyServiceApplicationProxy.xml #Business Data Connectivity Service #Retrieve information about data connection files. ###WARNING: The following cmdlet requires run as administrator rights Get-SPDataConnectionFile | Export-Clixml .\Get-SPDataConnectionFile.xml ###WARNING: The following cmdlet requires run as administrator rights Get-SPDataConnectionFile | Get-SPDataConnectionFileDependent | Export-Clixml .\Get-SPDataConnectionFileDependent.xml #Excel Services Application #Note: An Excel service application must be provisioned for the following cmdlets to succeed. Get-SPExcelServiceApplication | Get-SPExcelBlockedFileType | Export-Clixml .\Get-SPExcelBlockedFileType.xml Get-SPExcelServiceApplication | Get-SPExcelDataConnectionLibrary | Export-Clixml .\Get-SPExcelDataConnectionLibrary.xml Get-SPExcelServiceApplication | Get-SPExcelDataProvider | Export-Clixml .\Get-SPExcelDataProvider.xml Get-SPExcelServiceApplication | Get-SPExcelFileLocation | Export-Clixml .\Get-SPExcelFileLocation.xml Get-SPExcelServiceApplication | Export-Clixml .\Get-SPExcelServiceApplication.xml Get-SPExcelServiceApplication | Get-SPExcelUserDefinedFunction | Export-Clixml .\Get-SPExcelUserDefinedFunction.xml Get-SPWebApplication | Get-SPInfoPathWebServiceProxy | Export-Clixml .\Get-SPInfoPathWebServiceProxy.xml Get-SPWebApplication | Get-SPManagedPath | Export-Clixml .\Get-SPManagedPath.xml #Managed Metadata Service #Note: A Managed Metadata service application must be provisioned for the following cmdlets to succeed. Get-SPServiceApplication | ?{$_.TypeName -eq "Managed Metadata Service"} | %{$id = $_.Id;Get-SPMetadataServiceApplication -Id $_ | Export-Clixml .\Get-SPMetadataServiceApplication-$id.xml} Get-SPServiceApplicationProxy | ?{$_.TypeName -eq "Managed Metadata Service Connection"} | %{$id = $_.Id;Get-SPMetadataServiceApplicationProxy -Id $_ | Export-Clixml .\Get-SPMetadataServiceApplicationProxy-$id.xml} Get-SPSite | Get-SPTaxonomySession | Export-Clixml .\Get-SPTaxonomySession.xml #PerformancePoint Service Application #Note: A PerformancePoint service application must be provisioned for the following cmdlets to succeed. Get-SPPerformancePointServiceApplication | Export-Clixml .\Get-SPPerformancePointServiceApplication.xml Get-SPPerformancePointServiceApplication | Get-SPPerformancePointServiceApplicationTrustedLocation | Export-Clixml .\Get-SPPerformancePointServiceApplicationTrustedLocation.xml #Search #Retrieve search information #Note: A Search service application must be provisioned for the following cmdlets to succeed. Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchAdministrationComponent | Export-Clixml .\Get-SPEnterpriseSearchAdministrationComponent.xml Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchCrawlContentSource | Export-Clixml .\Get-SPEnterpriseSearchCrawlContentSource.xml Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchCrawlCustomConnector | Export-Clixml .\Get-SPEnterpriseSearchCrawlCustomConnector.xml Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchCrawlDatabase | Export-Clixml .\Get-SPEnterpriseSearchCrawlDatabase.xml Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchCrawlExtension | Export-Clixml .\Get-SPEnterpriseSearchCrawlExtension.xml Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchCrawlMapping | Export-Clixml .\Get-SPEnterpriseSearchCrawlMapping.xml Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchCrawlRule | Export-Clixml .\Get-SPEnterpriseSearchCrawlRule.xml $searchApp = Get-SPEnterpriseSearchServiceApplication; Get-SPEnterpriseSearchExtendedClickThroughExtractorJobDefinition -SearchApplication $searchApp | Export-Clixml .\Get-SPEnterpriseSearchExtendedClickThroughExtractorJobDefinition.xml Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchExtendedConnectorProperty | Export-Clixml .\Get-SPEnterpriseSearchExtendedConnectorProperty.xml Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchExtendedQueryProperty | Export-Clixml .\Get-SPEnterpriseSearchExtendedQueryProperty.xml ###WARNING: The following command generates a 120MB file that records the out of the box settings### #Note: The Get-SPEnterpriseSearchQueryAuthority and Get-SPEnterpriseSearchQueryDemoted cmdlets require the Owner and SearchApplication parameters# Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchLanguageResourcePhrase | Export-Clixml .\Get-SPEnterpriseSearchLanguageResourcePhrase.xml Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchMetadataCategory | Export-Clixml .\Get-SPEnterpriseSearchMetadataCategory.xml Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchMetadataCrawledProperty | Export-Clixml .\Get-SPEnterpriseSearchMetadataCrawledProperty.xml Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchMetadataManagedProperty | Export-Clixml .\Get-SPEnterpriseSearchMetadataManagedProperty.xml Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchMetadataMapping | Export-Clixml .\Get-SPEnterpriseSearchMetadataMapping.xml Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchQueryAuthority | Export-Clixml .\Get-SPEnterpriseSearchQueryAuthority.xml Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchQueryDemoted | Export-Clixml .\Get-SPEnterpriseSearchQueryDemoted.xml Get-SPEnterpriseSearchQueryAndSiteSettingsService | Export-Clixml .\Get-SPEnterpriseSearchQueryAndSiteSettingsService.xml Get-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance | Export-Clixml .\Get-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance.xml Get-SPEnterpriseSearchQueryAndSiteSettingsServiceProxy | Export-Clixml .\Get-SPEnterpriseSearchQueryAndSiteSettingsServiceProxy.xml Get-SPEnterpriseSearchService | Export-Clixml .\Get-SPEnterpriseSearchService.xml Get-SPEnterpriseSearchServiceInstance | Export-Clixml .\Get-SPEnterpriseSearchServiceInstance.xml ###WARNING: The following command generates a file per site collection### #Note: The Get-SPEnterpriseSearchQuerySuggestionCandidates and Get-SPEnterpriseSearchRankingModel cmdlets require the Owner and SearchApplication parameters# Get-SPSite | %{$id = $_.Id;Get-SPEnterpriseSearchQueryKeyword -Site $_ | Export-Clixml .\Get-SPEnterpriseSearchQueryKeyword-$id.xml} Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchQueryScope | Export-Clixml .\Get-SPEnterpriseSearchQueryScope.xml Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchQueryScope | Get-SPEnterpriseSearchQueryScopeRule | Export-Clixml .\Get-SPEnterpriseSearchQueryScopeRule.xml Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchQuerySuggestionCandidates | Export-Clixml .\Get-SPEnterpriseSearchQuerySuggestionCandidates.xml Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchRankingModel | Export-Clixml .\Get-SPEnterpriseSearchRankingModel.xml Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchSecurityTrimmer | Export-Clixml .\Get-SPEnterpriseSearchSecurityTrimmer.xml Get-SPEnterpriseSearchServiceApplication | Export-Clixml .\Get-SPEnterpriseSearchServiceApplication.xml Get-SPEnterpriseSearchServiceApplicationProxy | Export-Clixml .\Get-SPEnterpriseSearchServiceApplicationProxy.xml Get-SPEnterpriseSearchSiteHitRule | Export-Clixml .\Get-SPEnterpriseSearchSiteHitRule.xml #Security Token Service Application #Retrieve information about the security token service used for incoming SOAP messages. Get-SPSecurityTokenServiceConfig | Export-Clixml .\Get-SPSecurityTokenServiceConfig.xml #State Service #Retrieve information about the State Service. Get-SPSessionStateService | Export-Clixml .\Get-SPSessionStateService.xml Get-SPStateServiceApplication | Export-Clixml .\Get-SPStateServiceApplication.xml Get-SPStateServiceApplicationProxy | Export-Clixml .\Get-SPStateServiceApplicationProxy.xml Get-SPStateServiceDatabase | Export-Clixml .\Get-SPStateServiceDatabase.xml #Usage and Health data collection #Retrieve information about the Usage and Health Data Collection service application. Get-SPUsageApplication | Export-Clixml .\Get-SPUsageApplication.xml Get-SPUsageDefinition | Export-Clixml .\Get-SPUsageDefinition.xml Get-SPUsageService | Export-Clixml .\Get-SPUsageService.xml #Visio Service #A Visio service application must be provisioned for the following cmdlets to succeed. Get-SPVisioServiceApplication | Get-SPVisioExternalData | Export-Clixml .\Get-SPVisioExternalData.xml Get-SPVisioServiceApplication | Get-SPVisioPerformance | Export-Clixml .\Get-SPVisioPerformance.xml Get-SPVisioServiceApplication | Get-SPVisioSafeDataProvider | Export-Clixml .\Get-SPVisioSafeDataProvider.xml Get-SPVisioServiceApplication | Export-Clixml .\Get-SPVisioServiceApplication.xml Get-SPVisioServiceApplicationProxy | Export-Clixml .\Get-SPVisioServiceApplicationProxy.xml #Web Analytics Service Application A Web Analytics service application must be provisioned for the following cmdlets to succeed. Get-SPServiceApplication | ?{$_.TypeName -eq "Web Analytics Service Application"} | %{$id = $_.Id;Get-SPWebAnalyticsServiceApplication -Id $_ | Export-Clixml .\Get-SPWebAnalyticsServiceApplication-$id.xml} Get-SPServiceApplicationProxy | ?{$_.TypeName -eq "Web Analytics Service Application Proxy"} | %{$id = $_.Id;Get-SPWebAnalyticsServiceApplicationProxy -Id $_ | Export-Clixml .\Get-SPWebAnalyticsServiceApplicationProxy-$id.xml} Get-SPWebApplication | Get-SPWebApplicationHttpThrottlingMonitor | Export-Clixml .\Get-SPWebApplicationHttpThrottlingMonitor.xml Get-SPWebPartPack | Export-Clixml .\Get-SPWebPartPack.xml #Word Automation Services ###Note: These cmdlets are commented out because you are unlikely to want to run them. ### #Get-SPSite | %{$web=Get-SPWeb $_.Url;$webid=$web.Id;$web | Get-SPUser | Export-Clixml .\Get-SPUser-$webid.xml} # Get-SPSite | %{$web=Get-SPWeb $_.Url;$webid=$web.Id;$web | Export-Clixml .\Get-SPWeb-$webid.xml}
保存该文件并添加 .ps1 扩展名,例如 SuggestedNameOfFile.ps1。
备注
可以使用其他文件名,但是必须将文件保存为扩展名为 .ps1 的 ANSI 编码文本文件。
启动 SharePoint 命令行管理程序。
转到保存该文件的目录。
在 PowerShell 命令提示符处,键入以下命令:
./SuggestedFileName.ps1
有关详细信息,请参阅 Export-Clixml、Get-SPWebApplication、Get-SPServiceApplication。
备注
我们建议您在执行命令行管理任务时使用 Windows PowerShell。Stsadm 命令行工具已被弃用,仍然包含该工具是为了支持与之前产品版本的兼容性。
在 SharePoint Server 中使用 cmdlet 的示例
本节提供如何使用所建议的 cmdlet 之一的示例。
Get-SPAlternateURL
cmdlet 提供有关备用访问映射的信息。将该 cmdlet 通过管道传递到 Export-Clixml
cmdlet 会将信息写入 XML 文件中。
Get-SPAlternateURL | Export-Clixml .\Get-SPAlternateURL.xml
下节列出 Get-SPAlternateURL.xml 文件的内容。某些部分已折叠。
- <Objs Version="1.1.0.1" xmlns="https://schemas.microsoft.com/powershell/2004/04">
+ <Obj RefId="0">
- <Obj RefId="7">
<TNRef RefId="0" />
<ToString>Microsoft.SharePoint.Administration.SPAlternateUrl</ToString>
- <Props>
<S N="IncomingUrl">https://servername</S>
<URI N="Uri">https://servername/</URI>
+ <Obj N="UrlZone" RefId="8">
- <Obj N="Collection" RefId="9">
<TNRef RefId="2" />
- <IE>
- <Obj RefId="10">
<TNRef RefId="0" />
<ToString>Microsoft.SharePoint.Administration.SPAlternateUrl</ToString>
+ <Props>
- <MS>
<S N="Zone">Default</S>
<S N="PublicUrl">https://servername</S>
</MS>
</Obj>
</IE>
- <Props>
<I32 N="Count">1</I32>
<B N="IsReadOnly">false</B>
<S N="TypeName">Alternate Access Mapping Collection</S>
<S N="DisplayName">SharePoint - 80</S>
<U64 N="DiskSizeRequired">0</U64>
<B N="CanSelectForBackup">false</B>
<B N="CanRenameOnRestore">false</B>
<B N="CanSelectForRestore">false</B>
<S N="Name">SharePoint - 80</S>
<G N="Id">5b65a69a-222d-4fe0-904b-0fb928bc7a89</G>
<S N="Status">Online</S>
<S N="Parent">SPFarm Name=SERVERNAME_SharePoint_Configuration_Database</S>
<I64 N="Version">3661</I64>
+ <Obj N="Properties" RefId="12">
<TNRef RefId="3" />
<DCT />
</Obj>
<S N="Farm">SPFarm Name=SERVERNAME_SharePoint_Configuration_Database</S>
<Ref N="UpgradedPersistedProperties" RefId="11" />
</Props>
</Obj>
<Ref N="UpgradedPersistedProperties" RefId="11" />
</Props>
+ <MS>
+ <Obj N="Zone" RefId="13">
<TNRef RefId="1" />
<ToString>Default</ToString>
<I32>0</I32>
</Obj>
<S N="PublicUrl">https://servername</S>
</MS>
</Obj>
</Objs>
本示例从 XML 文件导入输出,让您可以更轻松地查看其内容。
Import-Clixml .\Get-SPAlternateURL.xml
导入 XML 文件后,即可在管道中使用对象,就像它们是给定类型的实际对象一样。
Import-Clixml .\Get-SPAlternateURL.xml | %{$_.Uri}
此外,还可以通过管道将对象作为 cmdlet 的一部分进行输入,查看所有预期属性、方法和 TypeName。以下示例是通过管道输入 URI。
Import-Clixml .\Get-SPAlternateURL.xml | %{$_.Uri | Get-Member}
See also
Get-SPAlternateURL
Export-Clixml
Import-Clixml
ForEach-Object
Get-Member