记录服务器场配置设置 (SharePoint Foundation 2010)

 

适用于: SharePoint Foundation 2010

上一次修改主题: 2016-11-30

本文介绍如何使用 Windows PowerShell 2.0 来记录服务器场的配置设置。记录配置设置非常重要,因为这使您不仅可以为环境创建脚本化部署,还可以在出现故障时快速重新创建一组配置。

使用 Windows PowerShell 记录配置设置

  1. 验证您是否满足以下最低要求:请参阅 Add-SPShellAdmin

  2. 在“开始”菜单上,单击“所有程序”。

  3. 单击“Microsoft SharePoint 2010 产品”。

  4. 单击“SharePoint 2010 Management Shell”。

  5. 使用记事本创建一个文本文件,然后将以下脚本复制并粘贴到该文件中。示例中的命令将创建 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 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 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 common Web service settings
    Get-SPServiceHostConfig  | Export-Clixml .\Get-SPServiceHostConfig.xml
    
    ## Common service application configurations
    
    #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
    
    #Security Token Service Application
    #Retrieve information about the security token service used for incoming SOAP messages.
    Get-SPSecurityTokenServiceConfig  | Export-Clixml .\Get-SPSecurityTokenServiceConfig.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
    
    ###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}
    
  6. 若要运行该脚本,请在 Windows PowerShell 控制台的命令提示符(即 PS C:\>)处,键入以下命令,然后按 Enter:C:\<path>\<filename>.ps1

有关详细信息,请参阅 Export-ClixmlGet-SPWebApplicationGet-SPServiceApplication

使用 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 的一部分传递,并查看所有预期的属性、方法和 TypeNames。以下示例通过管道传递 URI。

Import-Clixml .\Get-SPAlternateURL.xml | %{$_.Uri | Get-Member}

有关详细信息,请参阅 Export-ClixmlImport-ClixmlGet-SPAlternateURLForEach-ObjectGet-Member