Mostrando entradas con la etiqueta Recycle Bin. Mostrar todas las entradas
Mostrando entradas con la etiqueta Recycle Bin. Mostrar todas las entradas

sábado, 5 de enero de 2013

Tips Info #89 Sharepoint 2010

1-Mostrar los recursos de lenguaje y la fonética de Sharepoint

El siguiente script nos muestra todos los recursos de lenguaje de Sharepoint:

$searchApp = Get-SPServiceApplication | where{$_.DisplayName -eq "Search Service Application"}
Get-SPEnterpriseSearchLanagueResourcePhrase -SearchApplication $searchApp

image

Recuerde cambiar el nombre del search services application (ver en el CA)

El siguiente script nos muestra todos los nombres y nicknames, para el lenguaje Argentina:

Get-SPEnterpriseSearchLanguageResourcePhrase -Type NickName -Language es-AR -SearchApplication $searchApp | Format-Table -Property Phrase,Mapping

2-Cambiar la página de inicio de un site mediante powershell

$spsite = Get-SPSite http://url_webapplication/sites/nombreSiteCollection
$spweb = $site.RootWeb
$spfolder = $spweb.RootFolder
$spfolder.WelcomePage = "Inicio.aspx"
$spfolder.update()
$spweb.Dispose()
$pssite.Dispose()

3-Error : Unable to restore ‘file name’ al querer hacer un restore de la papelera de reciclaje

Verifica si no existe una carpeta o archivo (en la ubicación original) con el mismo nombre que la carpeta o archivo que quiere restaurar. En caso afirmativo, renombre la carpeta/archivo de la ubicación original.

4-Set-SPUser

Este comando de powershell nos permite configurar propiedades de un usuario de Sharepoint.

Ej:Este ejemplo setea al usuario (Contoso\christian) como contribuidor  del site http://test.

Set-SPUser -Identity "Contoso\christian" –Web http:// test –AddPermissionLevel "Contributor"

El siguiente ejemplo setea el mail para un usuario para un web application específico.

Set-SPUser -Identity "Contoso\christian" -Email 'email@contoso.com' -Web http://webapplication

http://technet.microsoft.com/en-us/library/ff607827.aspx

5-Cambiar la ubicación de los índices de search de Sharepoint 2010

Se puede ejecutar el siguiente comando:

stsadm -o spsearch -indexlocation "D:\IndexSearch\Data"

Para verificar que se haya ejecutado de forma correcta se puede ejecutar el siguiente comando:

stsadm -o spsearch -action list

Más información: http://technet.microsoft.com/en-us/library/cc262920(v=office.12).aspx

sábado, 26 de mayo de 2012

Tips/Info #23 Sharepoint 2010

1-Script de powershell para setear el mail de los access request de los sitios

$webapp = Get-SPWebApplication "nombre del web application"
foreach($site in $webapp.Sites){
    foreach($web in $site.AllWebs){
        if ($web.HasUniqueRoleDefinitions){
            if($web.RequestAccessEnabled){
                Write-Host $Web.URL
                Write-Host "---"

                Write-Host $Web.URL "Actualizando RequestAccessEmail"
                Write-Host "---"
                $web.RequestAccessEmail ="email@email.com"
                $web.Update()
            }
            else {
                Write-Host "Access Request no habilitado." $Web.URL
            }
        }
    }
}

2-Obtener los administradores de los sitios mediante powershell

$siteUrl = Read-Host "Enter Site URL"
$rootSite = New-Object Microsoft.SharePoint.SPSite($siteUrl)
$spWebApp = $rootSite.WebApplication

foreach($site in $spWebApp.Sites)
{
    foreach($siteAdmin in $site.RootWeb.SiteAdministrators)
    {
        Write-Host "$($siteAdmin.ParentWeb.Url) - $($siteAdmin.DisplayName)"
    }
    $site.Dispose()
}
3-Exportar los resultados de las encuestas en Sharepoint 2010

  • Ir a Acciones del sitio/Ver todo el contenido del sitio
  • Ir a la encuesta
  • Acciones/ Exportar a hoja de datos

    image


    4-Agregar la opción de Tags & Notes dentro de cualquier página con javascript

    <a title="Etiquetar pagina" id="TagsAndNotes_ctl00_ctl42" onclick="SafeRunFunction(function() { TagDialogOpener.Open('http:\u002f\u002fsharepoint2010a:45354\u002fen-us\u002fPages\u002fdefault.aspx', document.title, '0'); }, 'SocialData.js', 'TagDialogOpener');" href="javascript:;">Etiquetar página</a>



    5-Encontrar todas las alertas de una site collection mediante una query de SQL

     Add-PSSnapin microsoft.sharepoint.powershell

    $site = Get-SPSite "http://sitiosharepoint2010/sites/sitioalertas/"
    $alertResultsCollection = @()
    foreach ($web in $site.AllWebs)
    {
    foreach ($alert in $web.Alerts)
    {
    $alertURL = $web.URL + "/" + $alert.ListUrl
    $alertResult = New-Object PSObject
    $alertResult | Add-Member -type NoteProperty -name "URL DE LA LISTA" -value $alertURL

    $alertResult | Add-Member -type NoteProperty -name "TITULO DE LA ALERTA" -value $alert.Title
    $alertResult | Add-Member -type NoteProperty -name "TIPO DE ALERTA" -value $alert.AlertType

    $alertResult | Add-Member -type NoteProperty -name USUARIO SUBSCRIPTO
    " -value $alert.User
    $alertResultsCollection += $alertResult
    }

    $site.Dispose()
    $alertResultsCollection

    # Exportar a CSV
    #$alertResultsCollection | Export-CSV "
    Alertas.csv"
    6-Borrar un archivo mediante client object
    ClientContext cc = new ClientContext(url);
    Web w = cc.Web;
    List olist = w.Lists.GetByTitle("Libreria");
    cc.Load(olist);
    var files = olist.RootFolder.Files;
    FileCollection fc =files;
    cc.Load(fc);
    cc.ExecuteQuery();
    File Deleteimtefile = fc[1]; //borro el primer archivo
    Deleteimtefile.DeleteObject();
    cc.ExecuteQuery();
    7-Ocultar la papelera de reciclaje con css
    <style type=”text/css”>

    .ms-quicklaunchheader{

    display:none;}

    .ms-recyclebin{

    display:none;}

    </style>


    8-Error al ejecutar código que trata de consultar algo del Active directory: 

    “An operations error occurred at System.DirectoryServices.AccountManagement.ADStoreCtx.FindPrincipalByIdentRefHelper”

    Ejecute la sección de código fuente que llama al Active Directory con SPSecurity.RunWithElevatedPrivileges.


    9-Mostrar pantalla de procesamiento


    image

    protected void btnEvento_Click(object sender, EventArgs e)
    {
    //Operacion de tiempo extenso
    using (SPLongOperation longOperation = new SPLongOperation(this.Page))
    {
    //Mensaje custom que aparecerá con una rueda de procesamiento
    longOperation.LeadingHTML = "<div><h2>Procesando solicitud</h2></div>";
    longOperation.TrailingHTML = "<div><h3>Por favor espere mientras el procesamiento termina</h3></div>";

    //Inicia la operación con procesamiento extenso
    longOperation.Begin();

    //El codigo del procesamiento extenso va aca


    //termina la operación con procesamiento extenso
    string redirectURL = SPContext.Current.Web.Url + "/SitePages/default.aspx";
    longOperation.End(redirectURL);
    }
    }

    10-Opciones para EventLog
























    NivelDefinición
    NoneNo ocurre ningún logging
    CriticalEste tipo de mensaje indica un error grave que ha causado un gran fallo en la solución.
    ErrorEste tipo de mensaje indica una condición de urgencia. Todos los eventos de error debe ser investigados.
    WarningEste tipo de mensaje indica un problema potencial o problema que podría requerir atención. Los mensajes de advertencia deben ser revisados y analizados en el tiempo.
    InformationLos mensajes de información no requieren ninguna acción,pero pueden proporcionar datos valiosos para el seguimiento del estado de su solución.
    VerboseEste nivel de registro de eventos corresponde a eventos o mensajes.

    11-Opciones para TraceLog
























    LevelDefinition
    NoneNingún trace logs son escritos.
    UnexpectedEste nivel se utiliza para registrar los mensajes sobre eventos que hacen que las soluciones detienen su procesamiento.Cuando se establece a este nivel, el registro sólo incluye los eventos de este nivel.
    MonitorableEste nivel se utiliza para registrar mensajes acerca de eventos irrecuperables que limitan la funcionalidad de la solución, pero no detienen la aplicación. Cuando se establece a este nivel, el registro incluirá también los errores críticos (nivel inesperado).
    High

    Este nivel se usa para registrar los eventos que son inesperados, pero que no detendrá el procesamiento de una solución. Cuando se establece para acceder a este nivel, el registro incluirá advertencias, errores controlables (nivel) y los errores críticos (nivel inesperado).

    MediumCuando se establece en este nivel, el registro de seguimientoincluye todo excepto los mensajes detallados. Este nivel se utiliza para registrar toda la información de alto nivel acerca de las operaciones que se realizaron. En este nivel, hay suficiente detalle para generar el flujo de datos y la secuencia de operaciones. Este nivel de registro puede ser utilizado por los administradores o los profesionales de soporte técnico para solucionar problemas.
    VerboseCuando se establece para acceder a este nivel, el registroincluye mensajes en todos los otros niveles. Casi todas lasacciones que se realizan se registran cuando se utiliza este nivel. Detallado rastreo produce muchos mensajes de registro. Este nivel se utiliza normalmente sólo para la depuración en un entorno de desarrollo.

  • domingo, 13 de mayo de 2012

    Tips/Info #20 Sharepoint 2010

    1-Resetear el theme del site al desactivarse una feature

    public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
    {
        //Voy al site collection actual
        SPSite siteCollection = properties.Feature.Parent as SPSite;
        if (siteCollection != null)
        {
            SPWeb topLevelSite = siteCollection.RootWeb;
            foreach (SPWeb site in siteCollection.AllWebs)
            {
                //reseteo el tema en el caso que se haya aplicado
                ThmxTheme.RemoveThemeFromWeb(site, true);
            }
        }
    }




    2-Detener las intancias del servicio SharePoint Incoming E-Mail Service


    Get-SPServiceInstance | ? {$_.Typename -eq "Microsoft SharePoint Foundation Incoming E-Mail"} | Stop-SPServiceInstance -Confirm:$False



    3-Obtener todas las listas mediante una query de base de datos


    SELECT      
        Webs.FullUrl as 'URL', 
        Webs.Title as 'Web Title', 
        WEBS.Description as 'Web Description', 
        AllLists.tp_Title as 'List Description', 
        AllLists.tp_Version as 'List Version' 
    FROM          
        Webs  with (nolock)
    INNER JOIN  
        Sites ON Webs.SiteId = Sites.Id  
    INNER JOIN AllLists ON Webs.Id = AllLists.tp_WebId 
    ORDER BY 
        Webs.FullUrl




    4-Ejecutar de forma inmediata el jobs de Análisis de Mantenimiento


    Get-SPTimerJob | Where {$_.Name -like "*Health*" -and $_.Name -like "*-all-*"} | Start-SPTimerJob



    5-Ocultar la sección de papelera de reciclaje (Recycle Bin) y todo el contenido del sitio (All Site Content)


    leftnav2b


    <style type="text/css">
    .s4-specialNavLinkList
    {
    display:none !important;
    }
    </style>


    6-Consultas de SQL: Obtener los grupos de permisos con nombre ‘HR Visitors’ y con el tipo de permiso de full control


    select ra.PrincipalId as 'GroupID', g.Title as 'GroupTitle', p.ScopeUrl, r.Title as 'RoleTitle', ui.tp_Title
    from RoleAssignment ra with (nolock)
        left outer join Roles r  with (nolock) on ra.RoleId = r.RoleId
        left outer join Perms p  with (nolock) on ra.ScopeId = p.ScopeId
        left outer join GroupMembership gm  with (nolock) on ra.PrincipalId = gm.GroupId
        left outer join Groups g  with (nolock) on gm.GroupId = g.ID
        left outer join UserInfo ui  with (nolock) on gm.MemberId = ui.tp_ID
    where     p.ScopeUrl like 'sites/HR%'
        and g.Title = 'HR Visitors'
        and r.Title != 'Full Control'




    7-Consultas de SQL: Obtener todos los grupos donde un usuario específico está incluido




    SELECT Groups.Title
    FROM GroupMembership with (nolock)
    inner join Groups with (nolock)  ON GroupMembership.GroupId = Groups.ID
    inner join UserInfo with (nolock)  ON GroupMembership.MemberId = UserInfo.tp_ID
    where userinfo.tp_Login like '%cazcon'



    8-Compartir servicios en granjas de servidores de Sharepoint 2010 (Service Application Federation)


    En Microsoft SharePoint Server 2010, un conjunto o granja de servidores de SharePoint puede conectarse a una aplicación de servicio publicada en otra granja de servidores de SharePoint Server 2010 para usarla. Para ello, las granjas de servidores deben intercambiar certificados de confianza.

    En este artículo se describe cómo intercambiar certificados de confianza entre la granja de servidores de publicación y la granja de servidores de consumo. Tenga en cuenta que ambas granjas de servidores deben participar en este intercambio para que el uso compartido de las aplicaciones de servicio funcione.

    Un administrador de la granja de servidores de consumo debe proporcionar dos certificados de confianza para la granja de servidores de publicación: un certificado raíz y un certificado de servicio de token de seguridad (STS). Un administrador de la granja de servidores de publicación debe proporcionar un certificado raíz para la granja de servidores de consumo.

    Más info: http://technet.microsoft.com/es-ar/library/ee704552.aspx

    http://sharepintblog.com/2011/12/02/publishing-and-consuming-sharepoint-service-application-with-powershell/

    http://www.kowalski.ms/2010/07/16/sharepoint-server-2010-enterprise-service-application-publishing-and-consuming-farms/

    http://www.aiim.org/community/blogs/expert/Connecting-to-the-User-Profile-Service-Proxy

    9-Obtener el id de la granja (farm) con powershell

    (Get-SPFarm).Id

    10-Actualizar password para cuentas administradas

    Set-SPManagedAccount -Identity <<Doamin\LoginName>> –UseExistingPassword

    11-Restear la farm Passphrase


    • Abrir una consola de powershell y ingresa lo siguiente


    $passphrase = ConvertTo-SecureString -asPlainText –Force



    • Escriba la contraseña

    • Después ingrese los siguiente: Set-SPPassPhrase -PassPhrase $passphrase –Confirm

    • Reingrese la contraseña

    12-Control CSSResgistration para la carga de CSS


    <SharePoint:CSSRegistration name= "<%$SPrl:~SiteCollection/Style Library/~language/Core Stypes/Band.css%>" runat="server"/>


    Algunas propiedades útiles de este control:


    After: permite cargar un css después de un determinado elemento de css. Ej: <SharePoint:CSSRegistration name= “_layouts\CleanV4\style0.css” runat="server" After=”corev4.css”/>

    ConditionalExpression:
    <SharePoint:CSSRegistration name= “_layouts\CleanV4\style0.css” runat="server" ConditionalExpression =”IE 6.0” />
    La última sentencia sólo se cargar para IE 6