sábado, 17 de marzo de 2012

Tips #8–Sharepoint 2010

1-El menú Site actions no aparece!!!

Agregar la url del site como trusted site

Ejecutar el IE como administrador.

2-Script para mostrat todos los administradores de site collection

   1:  $sitioRoot = New-Object Microsoft.SharePoint.SPSite($sitioUrl)
   2:  $spWebApp = $sitioRoot.WebApplication
   3:   
   4:  foreach($site in $spWebApp.Sites)
   5:  {
   6:      foreach($siteAdmin in $site.RootWeb.SiteAdministrators)
   7:      {
   8:          Write-Host "$($siteAdmin.ParentWeb.Url) - $($siteAdmin.DisplayName)"
   9:      }
  10:      $site.Dispose()
  11:  }
  12:  $sitioRoot.Dispose()



3-Recorrer todos los site collections y subsitios



   1:  function RecorrerSite() {
   2:      param([Microsoft.SharePoint.SPWeb]$SiteIdentity)
   3:   
   4:      Write-Output "Sitio: $($SiteIdentity.Url)"
   5:      
   6:      if($SiteIdentity.Webs.Count -gt 0)
   7:      {
   8:          foreach($subSitio in $SiteIdentity.Webs)
   9:          {
  10:              RecorrerSite -SiteIdentity $subSitio
  11:          }
  12:      }
  13:  }
  14:   
  15:  $servicioWebApplication = (Get-SPFarm).services |
  16:   ? {$_.typename -eq "Microsoft SharePoint Foundation Web Application"}
  17:   
  18:  foreach($webApp in $servicioWebApplication.WebApplications)
  19:  {
  20:      Write-Output "Web Application: $($webApp.name)"
  21:      foreach($siteColl in $webApp.Sites)
  22:      {
  23:          Write-Output "Colleccion de sitio: $($siteColl.Url)"
  24:          RecorrerSite -SiteIdentity $($siteColl.RootWeb)
  25:      }
  26:  } 



4-Clase ContentIterator para procesar una lista de gran tamaño



SharePoint Server proporciona un API,ContentIterator, para ayudar con el acceso a más de 5.000 elementos en una lista larga y no chocar con el throttling de la lista (SPQueryThrottleException). ContentIterator permite segmentar la consulta para el procesamiento de manera única. Considere el uso de esta capacidad si es necesario para procesar un gran número de elementos que pueden exceder el throttling de una lista.


 


   1:  static int exceptions = 0;
   2:  static int items = 0;
   3:   
   4:  protected void OnTestContentIterator(object sender, EventArgs args)
   5:  {
   6:      items = 0;
   7:      exceptions = 0;
   8:      string query1 = @"<View>
   9:          <Query>
  10:              <Where>
  11:                  <And>
  12:                      <BeginsWith>
  13:                          <FieldRef Name='SKU' />
  14:                          <Value Type='Text'>S</Value>
  15:                      </BeginsWith>
  16:                  </And>
  17:              </Where>
  18:          </Query>
  19:      </View>";
  20:   
  21:      ContentIterator iterator = new ContentIterator();
  22:      SPQuery listQuery = new SPQuery();
  23:      listQuery.Query = query1;
  24:      SPList list = SPContext.Current.Web.Lists["Parts"];
  25:      iterator.ProcessListItems(list,
  26:          listQuery,
  27:          ProcessItem,
  28:          ProcessError
  29:      );
  30:  }
  31:   
  32:  public    bool ProcessError(SPListItem item, Exception e) 
  33:  { 
  34:      // process the error
  35:      exceptions++; 
  36:      return true; 
  37:  }
  38:  public void ProcessItem(SPListItem item)
  39:  {
  40:      items++;
  41:      //process the item.
  42:  }



5-Constantes de los estados de workflows




  • Status: Value
  • Not Started: 0
  • Failed on Start: 1
  • In Progress: 2
  • Error Occurred: 3
  • Canceled: 4
  • Completed: 5
  • Failed on Start(Retrying): 6
  • Error Occurred (Retrying): 7
  • Canceled: 15
  • Approved: 16
  • Rejected: 17

6-The SharePoint Health Analyzer detected a condition requiring your attention. Drivers are at risk of running out of free space



Para evitar este error, deberás tener 5 veces más de RAM que espacio libre en el server.



7-Falta “Destination Folder” cuando se sube un documento



Se debe activar la feature Metadata Navigation and Filtering


8-Durante el backup de un site se pone el site cómo sólo lectura, en el caso que haya una interrupción (ej:reiniciar el server), se dejará como sólo lectura. Para ello será necesario ejecutar lo siguiente:



Set-SPSite -Identity http://mysite -LockState "Unlock"


9-Cambiar la opción del indicador “New” en los documentos recientemente subidos


El default para que aparezca el valor “Nuevo” es de dos días.
Verificar la configuración actual:


stsadm.exe -o getproperty -pn days-to-show-new-icon -url http://misitio


Cambiar a 4 días


stsadm.exe -o setproperty -pn days-to-show-new-icon -pv 4 -url http://misitio
Si lo seteo a 0 (cero), directamente no aparece.


10-Enviar un mail con powershell



   1:   function enviarMail{
   2:   
   3:       Write-Host "Enviando Email"
   4:   
   5:       #nombre del servidor SMTP
   6:       $smtpServer = "smtp.xxxx.com"
   7:   
   8:       #Creando un objeto mail
   9:       $msg = new-object Net.Mail.MailMessage
  10:   
  11:       #Creando un objeto SMTP server
  12:       $smtp = new-object Net.Mail.SmtpClient($smtpServer)
  13:   
  14:       #Email formato
  15:       $msg.From = "fromID@mail.com"
  16:       $msg.ReplyTo = "replyto@mail.com"
  17:       $msg.To.Add("toID@mail.com")
  18:       $msg.subject = "Mi asunto"
  19:       $msg.body = "Es es el cuerpo del mail."
  20:   
  21:       #Enviando el mail
  22:       $smtp.Send($msg)
  23:    
  24:  }
  25:   
  26:  #Llamo a la funcion
  27:  enviarMail

No hay comentarios:

Publicar un comentario