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
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
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
Nivel | Definición |
---|---|
None | No ocurre ningún logging |
Critical | Este tipo de mensaje indica un error grave que ha causado un gran fallo en la solución. |
Error | Este tipo de mensaje indica una condición de urgencia. Todos los eventos de error debe ser investigados. |
Warning | Este 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. |
Information | Los mensajes de información no requieren ninguna acción,pero pueden proporcionar datos valiosos para el seguimiento del estado de su solución. |
Verbose | Este nivel de registro de eventos corresponde a eventos o mensajes. |
11-Opciones para TraceLog
Level | Definition |
---|---|
None | Ningún trace logs son escritos. |
Unexpected | Este 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. |
Monitorable | Este 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). |
Medium | Cuando 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. |
Verbose | Cuando 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. |
No hay comentarios:
Publicar un comentario