sábado, 2 de junio de 2012

Tips/info #26 Sharepoint 2010

1-Obtener la cantidad de items de una web application mediante powershell
if ( (Get-PSSnapin -Name Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue) -eq $null ) 
{Add-PSSnapin Microsoft.SharePoint.Powershell}

$SPWebApp = Get-SPWebApplication("http://intranet.contoso.com")

$cantidad=0
foreach ($SPSite in $SPWebApp.Sites)
{
    Write-Host "Inicio de lectura de Site Collection: " $SPWeb.Title
    foreach ($SPWeb in $SPSite.AllWebs)
    {
        Write-Host "Inicio de lectura para sitio: " $SPWeb.Title
        foreach ($SPList in $SPWeb.Lists)
        {
            Write-Host "Inicio lectura de lista:" $SPList.Title " la misma tiene " $SPList.ItemCount 
            foreach ($SPListItem in $SPList.Items)
            {
                $cantidad=$cantidad+1                
            }            
        }
        $SPWeb.dispose() 
    }
    $SPSite.dispose()
}
Write-Host "Cantidad de Items: " $cantidad

2-Error al ingresar a  /_admin/ServiceJobDefinitions.aspx
"Object Reference not set to an instance of an object" error.

System.NullReferenceException: Object reference not set to an instance of an object.
Microsoft.Office.Project.Server.Administration.ServerScheduledTimerJob.get_DisplayName()Microsoft.SharePoint.ApplicationPages.JobDefinitionsDataSourceView.AddRow(SPJobDefinition jd, DataTable table, DataSourceSelectArguments selectArguments)



Podremos ver en el event viewer algunos errores relacionados a esta excepción, los cuales informan el ID del job.

Ej: There was an exception loading job definition "Microsoft.Office.Project.Server.Administration.ServerScheduledTimerJob" (id "27ff4638-a131-4100-9796-2c72f29ec0a8"). Object reference not set to an instance of an object.

Para borrarlo, se deberá ejecutar el siguiente comando

$job = Get-SPTimerJob  27ff4638-a131-4100-9796-2c72f29ec0a8
$job.delete()

Hay casos que borrando todos los ID de los jobs que aparecieron en el Event Viewer, siga habiendo problemas al ingresar a ServiceJobsDefinitios.

Para ello ejecutamos lo siguiente:

$jobNulls = Get-SPTimerJob | Where-Object {$_.DisplayName -eq $null}

$jobNulls

Nos retornará algo así:

Name                 Schedule             Last Run
----                 --------             --------
PWASSP_7a8e8c16-3... daily between 01:... 1/1/0001 12:00:00 AM
PWASSP_7a8e8c16-3... hourly between 0 ... 1/1/0001 12:00:00 AM
PWASSP_7a8e8c16-3... daily between 00:... 1/1/0001 12:00:00 AM
PWASSP_84eec303-4... daily between 00:... 1/1/0001 12:00:00 AM
PWASSP_ce05f8e3-3... daily between 00:... 1/1/0001 12:00:00 AM
PWASSP_f8d30a49-6... daily between 00:... 1/1/0001 12:00:00 AM

De esta manera ejecutando lo siguiente:

get-sptimerjob | where-object {$_.name -like "*PWASSP_84eec303-4*"} | format-list name, id

Nos retornará el ID correspondiente, y podremos borra el job mediante el comando especificado más arriba.

3-Iniciar un job mediante powershell

get-sptimerjob | where-object {$_.name -like "EPM*"} | Start-SPTimerJob

Si se desea ejecutar un job de un determinado web application

$wa = Get-SPWebApplication $url

Get-SPTimerJob | ?{$_.Name -match "EPM"} | ?{$_.Parent -eq $wa} | Start-SPTimerJob

4-Error: There are no addresses available for this application

Este error surge cuando se un servicio de Sharepoint está apagado.

Ir a "Manage services on server" ver si los servicios necesario están corriendo. Si el error sige surgiendo mientras el servicio está corriendo, hace un iisreset.

5-Error al deployar una solución: Error occurred in deployment step ‘Add Solution’: The EXECUTE permission was denied on the object ‘proc_putObject’, database ‘SharePoint_Config’, schema ‘dbo’.

Hay que agregar el rol “SharePoint_Shell_Access” para el usuario sobre la base Sharepoint_Config

image_thumb2

6-Features en Sharepoint 2010

SharePoint Features pueden estar al alcance de la Farm, Web Application, Site Collection, y Web Site dependiendo de la característica. El “Feature scope” es determinado seteando el atributo “Scope” en el elemento feature en el archivo feature.xml

Ej:

<Feature Id="G73C15DF-59ED-33be-8732-E6FFBW1439184" 
Title="titulo de la Feature" 
Description="Descripcion de la Feature" 
Version="1.0.0.0" 
Scope="Site"
Hidden="false"> 
</Feature>
Tipos de elementos para features


Elemento

Descripción

Scope

Content Type

Contiene un esquema de definición que puede reusarse y aplicarse a multiples definiciones de listas.

Site

Content Type Binding

Content type binding habilita la provisión de un content type sobre una lista definida en el esquema Onet.xml. Listas definidas en el esquema Onet.xml no pueden ser modificadas de forma directa.

Site

Control

Un control delegado contiene una registración para un control bien conocido instalado en la página. Este permite reemplazar controles existentes tales como Windows SharePoint Services search control, con otro control.

Farm, WebApplication, Site, Web

Custom Action

Puede definir los siguientes tipos de acciones personalizadas:

·         Links para la página de configuración de Content type

·         Menú de acciones para el menú Drop-down que aparece para un item.

·        Botones de formularios para forms de  New, Edit, o Display

·         Link para la página Site Settings.

Farm, WebApplication, Site, Web

Custom Action Group

Define un grupo de custom actions

Farm, WebApplication, Site, Web

Document Converter

Contiene la definición de un convertidor de documentos.Un convertidor de documentos es un archivo ejecutable personalizado que toma un documento de un tipo de archivo, y genera una copia de ese archivo en otro tipo de archivo.

WebApplication

Feature/Site Template Association

Enlaza una característica (feature) a una configuración de definición de sitio para que los sitios creados se doten de la característica.

Farm, WebApplication, Site

Field

Contiene una definición de campo que se puede reutilizar entre varias listas.

Site

Hide Custom Action

Oculta una acción personalizada (custom action) que se ha añadido a través de otra acción personalizada.

Farm, WebApplication, Site, Web

List Instance

Provisiona un sitio de SharePoint con una lista específica de datos.

Site, Web

List Template

Provisiona una definición de lista o de la plantilla, que define una lista que puede ser suministrada en un sitio de SharePoint.

Site, Web

Module

Contiene un conjunto de archivos con los cuales provisionan sitios.

Site, Web

Receiver

Contiene el registro de un manejador de eventos

Web

Workflow

Contiene la definición para un workflow en una lista.

Site

No hay comentarios:

Publicar un comentario