Ir al contenido principal

Automatic farm documentation

Requirement

I needed an easy way to automatically document my farm and take snap shots of its configuration periodically for audit purposes.

A quick search landed me on this Codeplex project by Jayvijw

As you can see from the above screenshot, the report is quite detailed and contains most of the information you would need as an administrator to track configuration changes and restore a farm to its original configuration if you ever have to start from scratch.

So I thought, why not use PowerShell and Windows Task Scheduler to give me weekly snapshots of my farm’s configuration?

Solution

Summary of what the script does

  1. Generate the farm configuration report using the 2010SPSFR.exe stored in C:\SharePoint
  2. Rename the report html file to our naming convention.
  3. Upload the report to a document library in SharePoint.
  4. E-mail a copy of the report to the SharePoint administrator.

Modify the variables in the script below to suit your environment. You can easily schedule this script in Windows Task Scheduler so that it generates reports periodically.

 

   1:  Add-PSSnapin Microsoft.SharePoint.PowerShell
   2:  Write-Host "Script starting.."
   3:   
   4:  #Variables
   5:  $ReportName = "c:\SharePoint\2010SPSFR.html"
   6:  $ReportNewName = "SPFarm-Config-" + $(Get-Date -Format dd-MM-yy) + ".html"
   7:   
   8:  #Store a copy of the configuration file in a SharePoint library
   9:  $Web = "http://your-site"
  10:  $List = "FarmConfig"
  11:   
  12:  $AdminEmail = "your@email.com"
  13:  $MailServer = "your.smtp.server.com"
  14:  $FromAddress = "sharepoint.notifications@domain.com"
  15:   
  16:  #Run Automatic Documenting Program and rename the file
  17:  CD C:\SharePoint
  18:  Start-Process c:\SharePoint\2010spsfr.exe
  19:   
  20:  #Give the program 40 seconds to complete report generation.
  21:  Start-Sleep 40
  22:   
  23:  #Rename the report to a useful name
  24:  Rename-Item -Path $ReportName -NewName $ReportNewName
  25:   
  26:  #Upload the file to SharePoint
  27:  Function UploadToSPDocLib($LocalPath,$spDocLibPath) 
  28:  { 
  29:  $WebMethod = "PUT" 
  30:  $UploadFullPath = $spDocLibPath + $(split-path -leaf $LocalPath) 
  31:  $WebClient = new-object System.Net.WebClient 
  32:  $WebClient.Credentials = [System.Net.CredentialCache]::DefaultCredentials 
  33:  $WebClient.UploadFile($UploadFullPath, $WebMethod, $LocalPath) 
  34:  } 
  35:   
  36:  UploadToSPDocLib "c:\sharepoint\$($ReportNewName)" "$($Web)\$($List)\"
  37:   
  38:  $messageParameters = @{
  39:                  Subject = "SharePoint Farm: Test - Configuration Documentation"
  40:                  Body = "Please see attached file for the SharePoint farm documentation generated on $(Get-Date -Format dd-MM-yy)"
  41:                  From = $FromAddress
  42:                  To = $AdminEmail
  43:                  SmtpServer = $MailServer
  44:                  Attachments = "c:\sharepoint\$($ReportNewName)"
  45:   
  46:              }
  47:   
  48:              Send-MailMessage @messageParameters
  49:   
  50:  Write-Host "Done."



Fuente: http://www.mysharepointadventures.com/2012/06/automatic-farm-documentation/

Comentarios

Entradas populares de este blog

O365 - Forms - Transferir la propiedad de un formulario

Fuente :  https://support.office.com/es-es/article/transferir-la-propiedad-de-un-formulario-921a6361-a4e5-44ea-bce9-c4ed63aa54b4 Si ha creado una encuesta, una prueba o un sondeo, puede moverlos fácilmente a un grupo para que todos los miembros del grupo se conviertan en propietarios de ese formulario. Transferir el formulario a un grupo En el explorador Web, vaya a  Forms.Office.com . En la pestaña  mis formularios  , busque el formulario que desea transferir. Haga clic en  más acciones de formulario    y, a continuación, seleccione  mover . Nota:  Solo puede mover el formulario si es el propietario de ese formulario. No puede transferir la propiedad de un formulario que está compartido con usted. Seleccione el grupo al que desea transferir el formulario y, a continuación, haga clic en  mover . El formulario que ha movido aparecerá en la pestaña  formularios de grupo  . ¿Qué ocurre con el libr...

Event ID 8031 The uri endpoint information may be stale

An exception occurred while updating addresses for connected app {6783ce5e-c88h-4021-8d5b-12614875cbfa_b79f19ab-1d40-4824-9911-3466cf8b070a}. The uri endpoint information may be stale. System.InvalidOperationException: The requested application could not be found.    at Microsoft.SharePoint.SPTopologyWebServiceApplicationProxy.ProcessCommonExceptions(Uri endpointAddress, String operationName, Exception ex, SPServiceLoadBalancerContext context)    at Microsoft.SharePoint.SPTopologyWebServiceApplicationProxy.ExecuteOnChannel(String operationName, CodeBlock codeBlock)    at Microsoft.SharePoint.SPTopologyWebServiceApplicationProxy.GetEndPoints(Guid serviceId)    at Microsoft.SharePoint.SPConnectedServiceApplicationAddressesRefreshJob.Execute(Guid targetInstanceId) After de-commissioning some SharePoint servers, you might notice the above error on other WFEs /Application server’s event viewer . It appears that the SharePoint still has a reference...

SP 2013–2010 - An exception occurred in AD claim provider when calling SPClaimProvider.FillResolve(): Thread was being aborted

  Error: An exception occurred in AD claim provider when calling SPClaimProvider.FillResolve(): Thread was being aborted..   Resolution In order to determine the best MaxConcurrentApi value for your servers, several data points must be brought together and calculated by using a formula. The data to be used to estimate MaxConcurrentApi is as follows: Net Logon semaphore acquires Net Logon semaphore time-outs Net Logon average semaphore hold time Duration of the performance logging that is completed, measured in seconds After the data is obtained, the following formula can be used to estimate the correct MaxConcurrentApi value: ( semaphore_acquires + semaphore_time-outs ) * average_semaphore_hold_time / time_collection_length = < New_MaxConcurrentApi_setting After you collect the Net Logon performance data from when the server was under authentication load, you should determine the duration of the data-collecting process by looking at the Line View beginning and en...