
Rápido y Ágil un buen punto de partida
Después de unos meses de arduo trabajo y un poco alejado de mi blog es hora de volver al carril y si rápido y ágil son el punto de partida para todo proceso de innovación tecnológica y aunque este post sea corto nace de este proceso de innovación y una experiencia donde tuve que enfrentar una perdida de datos y su restauración oportuna y eficiente
En este apartado veremos los siguientes puntos:
- Que es PowerShell y Sharepoint
- Que es PnP PowerShell
Que es PowerShell

PowerShell es una solución de automatización de tareas multiplataforma formada por un shell de línea de comandos, un lenguaje de scripting y un marco de administración de configuración.
Con base a lo anterior si dirás se parece a la consola CMD de MSDOS y la respuesta es si pero con un limitado numero de comandos y esta la diferencia de power shell. Con Power Shell puedes ejecutar un sin numero de scripts que con el valor principal de la colaboración es cada dia mas infinitas las posibilidades que ofrece esta herramienta .
Que es Sharepoint

es una plataforma de colaboración empresarial, formada por productos y elementos del ecosistema Microsoft
Que es PnP PowerShell

es un módulo de PowerShell multiplataforma que proporciona más de 600 cmdlets que funcionan con entornos de Microsoft 365 y, más específicamente, con SharePoint Online, Microsoft Teams, Microsoft Planner y Microsoft Flow
Con base a lo anterior hemos visto los conceptos básicos necesarios para ejecutar la solución rápida para recuperar archivos borrados de algún sitio de sharepoint .
Restaurar Papelera de reciclaje SharePoint Online con PowerShell:
- Instalar el módulo PnP PowerShell .
- Conexión a SharePoint.
- Script de Búsqueda y restauración .
Para todo administrador de plataformas es vital que manejes con un mínimo la ejecución de comandos y scripts en powershell. Dentro de tu consola PowerShell y con privilegios de administrador ejecuta el siguiente comando Install-Module SharePointPnPPowerShellOnline este comando instalara los componentes necesarios
Una Vez se complete la instalación es importante tener claro la definición del siguiente script:
$hoy=(Get-Date) $dia1 = $hoy.date.addDays(-1) $dia2 = $hoy.date.addDays(-3) En el podemos ver que primero asigna a una variable el valor de la fecha actual con base a eso podemos observar que la linea dos y tareas serán las fechas de búsqueda el desde y hasta
Ahora nuestro script de búsqueda:
Connect-PnPOnline https://contoso.sharepoint.com/sites/contoso Get-PnPRecycleBinItem -firststage | ? {($_.DeletedDate -gt $dia2 -and $_.DeletedDate -lt $dia1) -and ($_.DeletedByEmail -eq 'user@contoso.com')} | Export-Csv c:\temp\restore.csv
Definiendo un poco la primera linea nos identifica la conexión con nuestro sharepoint, luego una búsqueda de la carpeta principal de papelera de reciclaje concatenamos el script para buscar todos aquellos archivos borrados entre un rango de fecha, seguido filtramos este conjunto de archivos con el usuario quien elimino dichos archivos, una vez concatenamos para exportar nuestra búsqueda en un archivo mas manejable colocándole dirección y nombre. Ahora un poco de análisis antes de ejecutar nuestro script de restauración
Ahora nuestro script de restauracion:
Connect-PnPOnline https://contoso.sharepoint.com/sites/contoso Get-PnPRecycleBinItem -firststage | ? {($_.DeletedDate -gt $dia2 -and $_.DeletedDate -lt $dia1) -and ($_.DeletedByEmail -eq 'user@contoso.com')} | ? LeafName -like '*.xlsm' | Restore-PnpRecycleBinItem -Force
a diferencia de nuestro primer script es concatena un filtro de tipo de archivos y el comando para forzar la restauración de nuestros archivos a su carpeta de origen
y es asi como puedes salir de un apuro de restauración de archivos borrados de tu sharepoint que estés administrando es importante mencionar que este conjunto de herramientas son eficientes si creas correctamente tus reglas de administración. En una próxima actualización agregaremos mas script en powershell que te servirán para administración diaria