sábado, 15 de diciembre de 2012

Tips Info #85 Sharepoint 2010

1-Script para obtener el tamaño, cantidad de usuarios y url de todos los sites collections mediante powershell

Get-SPSiteAdministration -Limit All | select Url, @{label = "Size";Ex = {$_.DiskUsed/1MB}}, UsersCount | Sort-Object -Descending -Property "Size" | ConvertTo-Html -title "Site Collections" | Set-Content sitecollectionsinfo.html

2-Obtener las versiones de los documentos vía querystring – powershell – client object

Via querystring

Se puede usar el parámetro IncludeVersions=TRUE , por ejemplo:

http://sitecollection/sites/demo/docs/Forms/AllItems.aspx?IncludeVersions=TRUE

Vía powershell

$SPWeb = Get-SPWeb http://nombredelsite
foreach($List in $SPWeb.Lists)
{
   $ItemsColl = $List.Items
   foreach ($item in $ItemsColl)
    {
      foreach($version in $item.Versions)
        {
Write-Host $version.VersionLabel
        }
    }
}
$SPWeb.Dispose()

Vía client object

public void GetVersions()
{
    ClientContext clientContext = new ClientContext("http://website_url");
    Web site = clientContext.Web;
    clientContext.Load(site);
    clientContext.ExecuteQuery();

    File file = site.GetFileByServerRelativeUrl("/Libreria/documento.pdf");
    clientContext.Load(file);
    clientContext.ExecuteQuery();

    ListItem currentItem = file.ListItemAllFields;
    clientContext.Load(currentItem);
    clientContext.ExecuteQuery();

    FileVersionCollection versions = file.Versions;
    clientContext.Load(versions);
    clientContext.ExecuteQuery();

    if (versions != null)
    {
        foreach(FileVersion _version in versions)
        {
            Console.WriteLine("Version : {0}",_version.VersionLabel);
        }
    }
}

3-Script de SQL para saber el “Database growth rate” de las bases de contenido

Creo el store sobre la base de datos master

USE [master]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[sp_track_db_growth](@dbnameParam sysname = NULL)
AS
BEGIN
DECLARE @dbname sysname
-- Set the current DB, if dbname is not given input
SET @dbname = COALESCE(@dbnameParam, DB_NAME())
 
SELECT    CONVERT(char, backup_start_date, 111) AS [Date], --yyyy/mm/dd format
    CONVERT(char, backup_start_date, 108) AS [Time],
    @dbname AS [Database Name], [filegroup_name] AS [Filegroup Name], logical_name AS [Logical Filename],
    physical_name AS [Physical Filename], CONVERT(numeric(20,4),file_size/1048576) AS [File Size (MB)],
    Growth AS [Growth Percentage (%)]
FROM
(
    SELECT    b.backup_start_date, a.backup_set_id, a.file_size, a.logical_name, a.[filegroup_name], a.physical_name,
        (
            SELECT    CONVERT(numeric(20,4),((a.file_size * 100.00)/i1.file_size)-100)
            FROM    msdb.dbo.backupfile i1
            WHERE     i1.backup_set_id =
                        (
                            SELECT    MAX(i2.backup_set_id)
                            FROM    msdb.dbo.backupfile i2 JOIN msdb.dbo.backupset i3
                                ON i2.backup_set_id = i3.backup_set_id
                            WHERE    i2.backup_set_id < a.backup_set_id AND
                                i2.file_type='D' AND
                                i3.database_name = @dbname AND
                                i2.logical_name = a.logical_name AND
                                i2.logical_name = i1.logical_name AND
                                i3.type = 'D'
                        ) AND
                i1.file_type = 'D'
        ) AS Growth
    FROM    msdb.dbo.backupfile a JOIN msdb.dbo.backupset b
        ON a.backup_set_id = b.backup_set_id
    WHERE    b.database_name = @dbname AND
        a.file_type = 'D' AND
        b.type = 'D'
       
) as Derived
WHERE (Growth <> 0.0) OR (Growth IS NULL)
ORDER BY 'File Size (MB)' desc
END

Ejecuto el store

exec sp_track_db_growth 'WSS_Content_XXXXX'

4-Custom 404 page en Sharepoint 2010 (not found page)

  • Crear una página llamada 404.html con tu editor html favorito
  • Ir hasta C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\LangID  donde LangID es lenguaje actual que estás usando. ej: 1033 para el inglés.
  • Copiar la página previamente creada a la carpeta. MI recomendación es subir el archivo en cada LangID que tengas definido.
  • Abrir una consola de powershell y ejecuta lo siguiente:

$webapp =Get-SPWebApplication http://<serverUrl>:<port>
$webapp.FileNotFoundPage = "404.html"
$webapp.update()

Para verificar ejecuta la siguiente consulta: (Get-SPWebApplication http://<serverUrl>:<port>).FileNotFoundPage

Y a continuación ejecuta una consulta vía navegador que genere un 404.

Posibles problemas:

  • No se muestra la página de error custom: hacer un recycle del app pool, o incluso mejor hacer un iisreset.

Otra posibilidad es setear la custom page vía el IIS:

http://www.ngpixel.com/2010/12/23/sharepoint-2010-custom-error-pages/

5-No se puede visualizar el icono de pdf en Sharepoint 2010

image

Para agregar el icono de pdf se deberá hacer lo siguiente:

Ir hasta C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14”) and then to TEMPLATE\IMAGES, y subir el icono de pdf.

6a012875706f1b970c0134873475df970c-800wi

Después se deberá editar el archivo DOCICON.XML dentro de la carpeta TEMPLATE\XML

6a012875706f1b970c013487347657970c-800wi

6a012875706f1b970c0133f4140cb7970b-800wi

A continuación has un iisreset en todos los frontends.

5-Links para hacer un signout de Sharepoint

/_layouts/closeConnection.aspx?loginasanotheruser=true

ó

/_layouts/signout.aspx

No hay comentarios:

Publicar un comentario