Collab365 - Como hacer de todo con PowerShell en SharePoint (OnPremises y Online)

Juan Carlos Gonzalez
Juan Carlos GonzalezMicrosoft 365 Apps & Services MVP | Microsoft 365 SME at CompartiMOSS
Online Conference
June 17th and 18th 2015
WWW.COLLAB365.EVENTS
Como hacer de todo con PowerShell
en SharePoint (OnPremises y Online)
WWW.COLLAB365.EVENTS
Juan Carlos González
MVP CLUSTER
Email :
jcgonzalezmartin1978@hotmail.com
Twitter : jcgm1978
Facebook :
LinkedIn :https://nl.linkedin.com/in/juagon
• MVP de Office 365
• Cloud & Productivity Advisor en MVP CLUSTER
• Coordinador de SUGES, Comunidad de O365 y Nuberos.NET
• Co-Director de CompartiMOSS (www.compartimoss.com)
• Dónde encontrarme:
– Twitter: @jcgm1978
– Blog: https://jcgonzalezmartin.wordpress.com/
– Web de MVP CLUSTER: www.mvpcluster.com
– E-Mails de contacto:
• juancarlos.gonzalez@fiveshareit.es
• jcgonzalezmartin1978@hotmail.com
WWW.COLLAB365.EVENTS
Comandos
PowerShell x defecto
Agenda
WWW.COLLAB365.EVENTS
Posibilidades de PowerShell para SharePoint
• ¿Qué se puede hacer?
Copias de
Seguridad
Las posibilidades que brinda PowerShell para
interactuar con SharePoint son ilimitadas
Administración
de Plataforma
Uso de las APIs
de Cliente y
Servidor
Troubleshooting
De todo 
WWW.COLLAB365.EVENTS
Entornos de Trabajo – SharePoint OnPremises
• Consola de Administración de SharePoint:
– Se instala por defecto e incorpora todos los comandos PowerShell disponibles
por defecto
WWW.COLLAB365.EVENTS
• PowerShell ISE:
Entornos de Trabajo – SharePoint OnPremises
WWW.COLLAB365.EVENTS
Entornos de Trabajo – SharePoint OnPremises
• PowerShell ISE (Integrated Shell Script Environment):
– “Casi” un entorno de desarrollo para PowerShell con capacidades como:
Depuración Intellisense Coloreado de código …
– Con cada nueva versión se van añadiendo mejoras
– Forma parte de las Características de Windows (tanto S.O de Cliente como de
Servidor) y en algunos casos es necesario su activación (Windows Server 2008
R2)
– Es necesario añadir el Snap-In de SharePoint para poder hacer uso de los
comandos PowerShell específicos de SharePoint
WWW.COLLAB365.EVENTS
Entornos de Trabajo – SharePoint OnPremises
• Windows PowerShell, es decir, el propio Shell de Windows
– Como con el ISE, hay que precargar el Snap-In de SharePoint
WWW.COLLAB365.EVENTS
Entornos de Trabajo – SharePoint OnPremises
• PowerShell Web Access:
WWW.COLLAB365.EVENTS
• PowerShell Web Access:
– Ejecución de comandos PowerShell desde el navegador
– Para poder usar este entorno hay que:
• Habilitar la característica a nivel de Windows Server
• Instalar/habilitar el entorno con PowerShell
• Configurar el Default Web Site en el IIS del Frontal / Frontales de la granja de
SharePoint desde dónde se quiera usar PowerShell Web Access
Entornos de Trabajo – SharePoint OnPremises
Install-PswaWebApplication –UseTestCertificate
Add-PswaAuthorizationRule -UserName [Dominio][Usuario] -ComputerName [NombreComputador] -
ConfigurationName Microsoft.Powershell
WWW.COLLAB365.EVENTS
Entornos de Trabajo – SharePoint Online
• SPO Management Shell:
– Incorpora los comandos
disponibles por defecto para SPO
• PowerShell ISE:
– No se requiere pre-cargar
inicialmente Snap-In alguno para
ejecutar los comandos PowerShell
para SPO
Online Conference
June 17th and 18th 2015
WWW.COLLAB365.EVENTS
Entornos de trabajo de PowerShell para
SharePoint OnPremises y Online
WWW.COLLAB365.EVENTS
• Se utiliza el concepto de cmdlet (command-let): Conjunción de un
verbo y un nombre (un objeto). No es un ejecutable, sino la instancia
de una clase .NET  Devuelve objetos
Comandos PowerShell por defecto
Podemos crear
nuestros propios
cmdlets
WWW.COLLAB365.EVENTS
Comandos PowerShell por defecto
• SharePoint OnPremises:
– + de 800 comandos por defecto para SP 2013 SP1 (861 en SP 2016 IT Preview)
– Algunas características:
• Uso de pipelines para parar objetos entre comandos
• Opciones de formato para visualizar las salidas de los comandos de forma + limpia
Get-Command –PSSnapin "Microsoft.SharePoint.PowerShell"
WWW.COLLAB365.EVENTS
Comandos PowerShell por defecto
• Ejemplo 1 – Get-SPSite:
– Permite obtener todas las Colecciones de Sitios de la Granja que coincidan con
los criterios especificados
– http://technet.microsoft.com/es-es/library/ff607950(v=office.15).aspx
Get-SPSite | select url, @{Expression={$_.Usage.Storage/1MB}}
WWW.COLLAB365.EVENTS
Comandos PowerShell por defecto
• SharePoint Online:
– + de 40 comandos por defecto para SPO (Agosto de 2015)
$spoCmdlets=Get-Command | where {$_.ModuleName -eq “Microsoft.Online.SharePoint.PowerShell"}
$spoCmdlets.Count
$spoCmdlets.Name
WWW.COLLAB365.EVENTS
Comandos PowerShell por defecto
• Ejemplo 1 – Comando Get-SPOSite:
– Permite obtener todas las Colecciones de Sitios del tenant que coincidan con
los criterios especificados
• https://technet.microsoft.com/es-es/library/FP161380.aspx
#Ejecución en la Consola de Administración de SharePoint Online
$sUserName="jcgonzalez@nuberosnet.onmicrosoft.com"
$sMessage="Introduce your SPO Credentials"
$sSPOAdminCenterUrl="https://nuberosnet-admin.sharepoint.com/"
$msolcred = Get-Credential -UserName $sUserName -Message $sMessage
Connect-SPOService -Url $sSPOAdminCenterUrl -Credential $msolcred
$spoSiteCollections=Get-SPOSite
WWW.COLLAB365.EVENTS
Comandos PowerShell por defecto
• Windows PowerShell Command Builder:
http://www.microsoft.com/resources/TechNet/en-
us/Office/media/WindowsPowerShell/WindowsPowerShellCo
mmandBuilder.html
Online Conference
June 17th and 18th 2015
WWW.COLLAB365.EVENTS
Comandos PowerShell por defecto para
SharePoint OnPremises y Online
WWW.COLLAB365.EVENTS
• API de Servidor:
– El Snap-In de PowerShell para SharePoint también acceso a todo el Modelo de
Objetos del Servidor: El uso de los objetos es idéntico al que se realiza desde
el IDE
– Ejemplo 1 – Crear una lista y añadir una columna a la lista:
Uso de las APIs de SharePoint en PowerShell
$spSite=Get-SPSite -Identity $sSiteUrl
$spWeb=$spSite.OpenWeb()
$spWeb.Lists.Add("Lista Grande","Lista Grande",100)
$spFieldType = [Microsoft.SharePoint.SPFieldType]::Text
$spList = $spWeb.Lists["Lista Grande"]
$spList.Fields.Add(“Datos”,$spFieldType,$false)
$spList.Fields["Datos"].Update()
$spList.Update()
WWW.COLLAB365.EVENTS
Uso de las APIs de SharePoint en PowerShell
• API de Servidor – Ejemplo 2: Realizar una consulta CAML
$spSite=Get-SPSite -Identity $sSiteCollection
$spwWeb=$spSite.OpenWeb()
$splList = $spwWeb.Lists.TryGetList($sListName)
$spqQuery = New-Object Microsoft.SharePoint.SPQuery
$spqQuery.Query =
" <Where>
<Contains>
<FieldRef Name='FileLeafRef' />
<Value Type='File'>Farm</Value>
</Contains>
</Where>"
$spqQuery.ViewFields = "<FieldRef Name='FileLeafRef' /><FieldRef Name='Title' />"
$spqQuery.ViewFieldsOnly = $true
$splListItems = $splList.GetItems($spqQuery)
WWW.COLLAB365.EVENTS
• API de Cliente:
– Uso tanto OnPremises como Online
– En primer lugar hay que cargar los ensamblados del CSOM en el entorno de
trabajo de PowerShell:
– A continuación, tenemos que seguir las reglas de uso del CSOM
Uso de las APIs de SharePoint en PowerShell
Add-Type -Path "<CSOM_Path>Microsoft.SharePoint.Client.dll"
Add-Type -Path "<CSOM_Path>Microsoft.SharePoint.Client.Runtime.dll"
WWW.COLLAB365.EVENTS
Uso de las APIs de SharePoint en PowerShell
• API de Cliente – Uso en SharePoint OnPremises:
#SharePoint Client Object Model Context
$spCtx = New-Object Microsoft.SharePoint.Client.ClientContext($sSiteColUrl)
$spCredentials = New-Object System.Net.NetworkCredential($sUserName,$sPassword,$sDomain)
$spCtx.Credentials = $spCredentials
#Root Web Site
$spRootWebSite = $spCtx.Web
#Collecction of Sites under the Root Web Site
$spSites = $spRootWebSite.Webs
#Loading operations
$spCtx.Load($spRootWebSite)
$spCtx.Load($spSites)
$spCtx.ExecuteQuery()
WWW.COLLAB365.EVENTS
• API de Cliente – Uso en SharePoint Online:
Uso de las APIs de SharePoint en PowerShell
$spoCtx = New-Object Microsoft.SharePoint.Client.ClientContext($sSiteColUrl)
$spoCredentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($sUsername, $sPassword)
$spoCtx.Credentials = $spoCredentials
#Root Web Site
$spoRootWebSite = $spoCtx.Web
#Collecction of Sites under the Root Web Site
$spoSites = $spoRootWebSite.Webs
#Loading operations
$spoCtx.Load($spoRootWebSite)
$spoCtx.Load($spoSites)
$spoCtx.ExecuteQuery()
#We need to iterate through the $spoSites Object in order to get individual sites information
foreach($spoSite in $spoSites){
$spoCtx.Load($spoSite)
$spoCtx.ExecuteQuery()
Write-Host $spoSite.Title " - " $spoSite.Url -ForegroundColor Blue
}
Online Conference
June 17th and 18th 2015
WWW.COLLAB365.EVENTS
Uso de las APIs de SharePoint desde
PowerShell
WWW.COLLAB365.EVENTS
Administración
de la
Plataforma
Las escenarios de uso de PowerShell para SharePoint son
múltiples
Escenarios de Uso de PowerShell para
SharePoint
Troubleshooting
Despliegue de
Soluciones
…
WWW.COLLAB365.EVENTS
• La instalación / configuración de SharePoint por medio de PowerShell
proporciona un mayor control de todo el proceso:
– Cuentas de instalación Nombres de las BDs Configuraciones de las
Aplicaciones de Servicio …
• + laboriosa, pero asegura que todos los servidores de la granja tienen la
misma configuración
• + adecuada punto vista de una recuperación de desastres
• Existen scripts “ya listos” para usar:
– AutoSPInstaller: http://autospinstaller.codeplex.com/
– Utilidad visual para configurar el instalador:
http://autospinstallergui.codeplex.com/
Escenarios de Uso de PowerShell para
SharePoint – Instalación y Configuración
WWW.COLLAB365.EVENTS
AutoSPInstaller
Escenarios de Uso de PowerShell para
SharePoint – Instalación y Configuración
Instalación x
Defecto
WWW.COLLAB365.EVENTS
• PowerShell permite realizar más tareas de administración que las
disponibles desde la propia interfaz de usuario:
– Hay ciertas tareas que sólo se van a poder hacer con PowerShell
– Ejemplo 1 – Cambiar la frase de contraseña de la granja
Escenarios de Uso de PowerShell para
SharePoint – Administración
Add-PSSnapin Microsoft.SharePoint.PowerShell
$passphrase = ConvertTo-SecureString –string “NuevaContraseña” -asPlainText –Force
Set-SPPassPhrase -PassPhrase $passphrase -Confirm
WWW.COLLAB365.EVENTS
Escenarios de Uso de PowerShell para
SharePoint – Administración
• Ejemplo 2 – Reiniciar todas las instancias del servicio de
temporizador de SharePoint:
$spFarm=Get-SPFarm
$spfTimerServcicesInstance=$spFarm.TimerService.Instances
foreach ($spfTimerServiceInstance in $spfTimerServcicesInstances)
{
Write-Host "Re-starting the instance " $spfTimerServiceInstance.TypeName
$spfTimerServiceInstance.Stop()
$spfTimerServiceInstance.Start()
Write-Host "SharePoint Timer Service Instance" $spfTimerServiceInstance.TypeName "Re-Started"
}
WWW.COLLAB365.EVENTS
• Comandos PowerShell disponibles (SP 2013):
Escenarios de Uso de PowerShell para
SharePoint – Migración entre versiones
• BDs de Contenidos:
• Mount-SPContentDatabase
• Test-SPContentDatabase
• Upgrade-SPContentDatabase
• Colecciones de Sitios:
• Test-SPSite
• Repair-SPSite
• Upgrade-SPSite
• Request-SPUpgradeEvaluationSiteCollection
• Granja:
• Upgrade-SPFarm
• Administración de Colas:
• Get-SPSiteUpgradeSession
• Remove-SPSiteUpgradeSession
• Servicios:
• New-SPBusinessDataCatalogServiceApplication
• Restore-SPEnterpriseSearchServiceApplication
• Upgrade-SPEnterpriseSearchServiceApplication
• Upgrade-
SPEnterpriseSearchServiceApplicationSiteSettings
• New-SPMetadataServiceApplication
• New-SPPerformancePointServiceApplication
• New-SPProfileServiceApplication
• New-SPProjectServiceApplication
• New-New-SPSecureStoreApplication
• New-SPSubscriptionSettingsServiceApplication
WWW.COLLAB365.EVENTS
Escenarios de Uso de PowerShell para
SharePoint – Migración entre versiones
• Ejecución de Test-SPContentDatabase en todas las BDs de
Contenidos de la granja de SP 2010:
$sServerInstance=“<Server_Instance>”
$spWebApps = Get-SPWebApplication -IncludeCentralAdministration
foreach($spWebApp in $spWebApps)
{
$ContentDatabases = $spWebApp.ContentDatabases
foreach($ContentDatabase in $ContentDatabases)
{
Test-SPContentDatabase –Name $ContentDatabase.Name -ServerInstance $sServerInstance -
WebApplication $spWebApp.Url
}
}
WWW.COLLAB365.EVENTS
• PowerShell facilita el auditado completo de una granja a partir de:
– Obtener información detallada a nivel de Arquitectura Lógica y de
Arquitectura de Información: Granja Aplicación Web Colección de Sitios Sitio
Lista / Biblioteca Carpeta Elemento de Lista / Documento
– Obtener información relativa al tamaño de BDs de Contenidos, Colecciones de
Sitios y Sitios
– El acceso a la información de seguridad en SharePoint como por ejemplo:
Tipos de autenticación utilizadas, Grupos y usuarios de SharePoint en
Colecciones de Sitios y Sitios, Niveles de Permisos, etc
– Enumerar las personalizaciones desplegadas en la granja a través de un
inventario de soluciones .WSP y de Características instaladas
Escenarios de Uso de PowerShell para
SharePoint – Auditoría de Entornos
WWW.COLLAB365.EVENTS
Escenarios de Uso de PowerShell para
SharePoint – Auditoría de Entornos
• Ejemplo 1 - Obtener el tamaño de las BDs de Contenidos de una
granja:
$spWebApps = Get-SPWebApplication -IncludeCentralAdministration
foreach($spWebApp in $spWebApps)
{
#$spWebApp.Name
$ContentDBs = $spWebApp.ContentDatabases
foreach($ContentDB in $ContentDBs)
{
$ContentDBsize = [Math]::Round(($ContentDB.disksizerequired/1GB),2)
$ContentDBInfo= $spWebApp.DisplayName + "," + $ContentDB.Name + "," +
$ContentDBsize + " GB"
$ContentDBInfo
}
}
WWW.COLLAB365.EVENTS
Escenarios de Uso de PowerShell para
SharePoint – Auditoría de Entornos
• Ejemplo 2 – Extraer todos los .WSP de una Granja:
$spFarm=Get-SPFarm
$spSolutions = $spFarm.Solutions
$iSolutionsNumber=0
foreach($spSolution in $spSolutions)
{
$spSolutionFile=$spSolution.SolutionFile
$spSolutionFile.SaveAs($ScriptDir + "" + $spSolution.DisplayName)
$iSolutionsNumber+=1
}
WWW.COLLAB365.EVENTS
Escenarios de Uso de PowerShell para
SharePoint – Troubleshooting
• PowerShell facilita la realización de Troubleshooting de ambientes
SharePoint ya que permite:
– Interactuar con los Logs de SharePoint a través de cmdlets específicos (Get-
SPLogEvent)
WWW.COLLAB365.EVENTS
• Ejemplo 1 – Habilitar el panel del desarrollador:
Escenarios de Uso de PowerShell para
SharePoint – Troubleshooting
$svc=[Microsoft.SharePoint.Administration.SPWebService]::ContentService
$ddsetting=$svc.DeveloperDashboardSettings
$ddsetting.DisplayLevel=[Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::On
$ddsetting.Update()
WWW.COLLAB365.EVENTS
Escenarios de Uso de PowerShell para
SharePoint – Despliegue de Soluciones
• Engloba aspectos como:
– Instalar y desplegar una solución de SharePoint (.WSP)
– Activar / Desactivar características
– Para / Re-iniciar el servicio del temporizador
– Aplicar las personalizaciones de aspecto de forma recursiva en una Colección
de Sitios Completa
Online Conference
June 17th and 18th 2015
WWW.COLLAB365.EVENTS
Escenarios de uso de PowerShell para
SharePoint
WWW.COLLAB365.EVENTS
Conclusiones
• PowerShell en SharePoint puede ser utilizado para más tareas que administración
y configuración:
– Auditado Troubleshooting Uso de las APIs de SharePoint Despliegue de Soluciones
• Podemos utilizar PowerShell desde distintos entornos de Trabajo:
– Consola de Administración de SharePoint 2013 PowerShell ISE El propio Shell de
Windows PowerShell Web Access Consola de Administración de SPO
• Para trabajar con SharePoint desde PowerShell, disponemos de más de 800
cmdlets para OnPremises y de 40 para SharePoint Online
– ..Y podemos crear nuestros propios cmdlets
• PowerShell no sólo es un Shell de comandos, sino que permite instanciar y trabajar
con objetos de SharePoint
WWW.COLLAB365.EVENTS
Stay tuned for more great sessions …
1 of 41

Recommended

What is Office 365? A Simple Answer by
What is Office 365? A Simple AnswerWhat is Office 365? A Simple Answer
What is Office 365? A Simple AnswerAptera Inc
14.5K views20 slides
Google chrome os by
Google chrome osGoogle chrome os
Google chrome osakoyena
6.9K views21 slides
Office 365 by
Office 365Office 365
Office 365Man'ish Maharjan
800 views18 slides
Presentation des Essentiels de MS Office365 by
Presentation des Essentiels de MS Office365Presentation des Essentiels de MS Office365
Presentation des Essentiels de MS Office365Laurent Rouable
4.2K views15 slides
Top 5 Server Operating Systems by
Top 5 Server Operating SystemsTop 5 Server Operating Systems
Top 5 Server Operating SystemsSinbad Konick
37.1K views19 slides
Information security and other issues by
Information security and other issuesInformation security and other issues
Information security and other issuesHaseeb Ahmed Awan
12.9K views8 slides

More Related Content

What's hot

Introduction to Web Technology by
Introduction to Web TechnologyIntroduction to Web Technology
Introduction to Web TechnologyAashish Jain
16.4K views77 slides
Web application by
Web applicationWeb application
Web applicationmaliksiddique1
1.2K views12 slides
Windows Deployment Services Tutorial by
Windows Deployment Services TutorialWindows Deployment Services Tutorial
Windows Deployment Services TutorialTravis Kench
1.6K views58 slides
Open Source vs Proprietary by
Open Source vs ProprietaryOpen Source vs Proprietary
Open Source vs ProprietaryM. Antoinette Jerom
3.9K views29 slides
Google Chrome OS by
Google Chrome OSGoogle Chrome OS
Google Chrome OSEr. Saurabh Singh
6.9K views18 slides
Google chrome operating system.ppt by
Google chrome operating system.pptGoogle chrome operating system.ppt
Google chrome operating system.pptbhubohara
1.4K views14 slides

Viewers also liked

Herramientas de Intranet con Wordpress by
Herramientas de Intranet con WordpressHerramientas de Intranet con Wordpress
Herramientas de Intranet con Wordpresswpperu
3.5K views15 slides
PowerShell para SharePoint OnPremises y Online, la herramienta compartida por... by
PowerShell para SharePoint OnPremises y Online, la herramienta compartida por...PowerShell para SharePoint OnPremises y Online, la herramienta compartida por...
PowerShell para SharePoint OnPremises y Online, la herramienta compartida por...Juan Carlos Gonzalez
1.7K views46 slides
Office 365 itequia by
Office 365   itequiaOffice 365   itequia
Office 365 itequiaMICProductivity
1.3K views17 slides
Office 365 Truths: The truth about Office 365 features releases by
Office 365 Truths: The truth about Office 365 features releasesOffice 365 Truths: The truth about Office 365 features releases
Office 365 Truths: The truth about Office 365 features releasesJuan Carlos Gonzalez
1.9K views30 slides
Offfice 365 - El futuro de la colaboración empresarial by
Offfice 365 - El futuro de la colaboración empresarialOfffice 365 - El futuro de la colaboración empresarial
Offfice 365 - El futuro de la colaboración empresarialJuan Carlos Gonzalez
1.3K views32 slides
Microsoft Office 365 by
Microsoft Office 365Microsoft Office 365
Microsoft Office 365Cristian Morales
1.1K views27 slides

Viewers also liked(20)

Herramientas de Intranet con Wordpress by wpperu
Herramientas de Intranet con WordpressHerramientas de Intranet con Wordpress
Herramientas de Intranet con Wordpress
wpperu3.5K views
PowerShell para SharePoint OnPremises y Online, la herramienta compartida por... by Juan Carlos Gonzalez
PowerShell para SharePoint OnPremises y Online, la herramienta compartida por...PowerShell para SharePoint OnPremises y Online, la herramienta compartida por...
PowerShell para SharePoint OnPremises y Online, la herramienta compartida por...
Office 365 Truths: The truth about Office 365 features releases by Juan Carlos Gonzalez
Office 365 Truths: The truth about Office 365 features releasesOffice 365 Truths: The truth about Office 365 features releases
Office 365 Truths: The truth about Office 365 features releases
Offfice 365 - El futuro de la colaboración empresarial by Juan Carlos Gonzalez
Offfice 365 - El futuro de la colaboración empresarialOfffice 365 - El futuro de la colaboración empresarial
Offfice 365 - El futuro de la colaboración empresarial
Nuevas formas de colaborar en Sitios de SPO, Grupos de Office 365 y OneDrive ... by Juan Carlos Gonzalez
Nuevas formas de colaborar en Sitios de SPO, Grupos de Office 365 y OneDrive ...Nuevas formas de colaborar en Sitios de SPO, Grupos de Office 365 y OneDrive ...
Nuevas formas de colaborar en Sitios de SPO, Grupos de Office 365 y OneDrive ...
Transformar Personalizaciones al Modelo de Apps de SharePoint by Juan Carlos Gonzalez
Transformar Personalizaciones al Modelo de Apps de SharePointTransformar Personalizaciones al Modelo de Apps de SharePoint
Transformar Personalizaciones al Modelo de Apps de SharePoint
Nuevas formas de colaborar en Sitios de SPO, Grupos de Office 365 y OneDrive ... by Juan Carlos Gonzalez
Nuevas formas de colaborar en Sitios de SPO, Grupos de Office 365 y OneDrive ...Nuevas formas de colaborar en Sitios de SPO, Grupos de Office 365 y OneDrive ...
Nuevas formas de colaborar en Sitios de SPO, Grupos de Office 365 y OneDrive ...
Nuevas experiencias y nuevas formas de trabajar con Office 365 by Juan Carlos Gonzalez
Nuevas experiencias y nuevas formas de trabajar con Office 365Nuevas experiencias y nuevas formas de trabajar con Office 365
Nuevas experiencias y nuevas formas de trabajar con Office 365
Guía Rápida de Microsoft - Usar Office 365 en Android by MICProductivity
Guía Rápida de Microsoft - Usar Office 365 en AndroidGuía Rápida de Microsoft - Usar Office 365 en Android
Guía Rápida de Microsoft - Usar Office 365 en Android
MICProductivity1.3K views
Grupos de Office 365 y Planner - Productividad End to End by Juan Carlos Gonzalez
Grupos de Office 365 y Planner - Productividad End to EndGrupos de Office 365 y Planner - Productividad End to End
Grupos de Office 365 y Planner - Productividad End to End
Grupos Office 365 y Planner: Colaboración y Productividad End-To-End by Juan Carlos Gonzalez
Grupos Office 365 y Planner: Colaboración y Productividad End-To-EndGrupos Office 365 y Planner: Colaboración y Productividad End-To-End
Grupos Office 365 y Planner: Colaboración y Productividad End-To-End
Office 365 by caloy95
Office 365Office 365
Office 365
caloy952.5K views
Presentación del WebCast - Office 365, o como disponer de una plataforma clou... by Juan Carlos Gonzalez
Presentación del WebCast - Office 365, o como disponer de una plataforma clou...Presentación del WebCast - Office 365, o como disponer de una plataforma clou...
Presentación del WebCast - Office 365, o como disponer de una plataforma clou...
Toma el control de tus datos en office 365 con centro de seguridad y cumplimi... by Raul Oriol Gonzalo
Toma el control de tus datos en office 365 con centro de seguridad y cumplimi...Toma el control de tus datos en office 365 con centro de seguridad y cumplimi...
Toma el control de tus datos en office 365 con centro de seguridad y cumplimi...
Raul Oriol Gonzalo723 views
Presentacion Microsoft Office 365 by MICProductivity
Presentacion Microsoft Office 365Presentacion Microsoft Office 365
Presentacion Microsoft Office 365
MICProductivity21.7K views
Office 365 groups & Planner: Productivity and Enterprise Collaboration End-t... by Juan Carlos Gonzalez
Office 365 groups & Planner:  Productivity and Enterprise Collaboration End-t...Office 365 groups & Planner:  Productivity and Enterprise Collaboration End-t...
Office 365 groups & Planner: Productivity and Enterprise Collaboration End-t...

Similar to Collab365 - Como hacer de todo con PowerShell en SharePoint (OnPremises y Online)

Como hacer de todo con PowerShell by
Como hacer de todo con PowerShellComo hacer de todo con PowerShell
Como hacer de todo con PowerShellJuan Carlos Gonzalez
4.1K views50 slides
ASP.NET MVC Workshop Día 3 by
ASP.NET MVC Workshop Día 3ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3Rodolfo Finochietti
5.1K views62 slides
IT Camps Apps Office 365 Valencia 2014 by
IT Camps Apps Office 365 Valencia 2014IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014Adrian Diaz Cervera
600 views62 slides
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web) by
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)lenny
889 views59 slides
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web) by
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)INSIGNIA4U
1.6K views59 slides
Diseña tu propio Office 365 - Global Azure Bootcamp 2015 by
Diseña tu propio Office 365 - Global Azure Bootcamp 2015Diseña tu propio Office 365 - Global Azure Bootcamp 2015
Diseña tu propio Office 365 - Global Azure Bootcamp 2015Miguel Tabera
5K views66 slides

Similar to Collab365 - Como hacer de todo con PowerShell en SharePoint (OnPremises y Online)(20)

Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web) by lenny
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
lenny889 views
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web) by INSIGNIA4U
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
INSIGNIA4U1.6K views
Diseña tu propio Office 365 - Global Azure Bootcamp 2015 by Miguel Tabera
Diseña tu propio Office 365 - Global Azure Bootcamp 2015Diseña tu propio Office 365 - Global Azure Bootcamp 2015
Diseña tu propio Office 365 - Global Azure Bootcamp 2015
Miguel Tabera5K views
Prepara tus apps de SharePoint y Office 365 para el futuro by Miguel Tabera
Prepara tus apps de SharePoint y Office 365 para el futuroPrepara tus apps de SharePoint y Office 365 para el futuro
Prepara tus apps de SharePoint y Office 365 para el futuro
Miguel Tabera1.2K views
Diseña tu propio Office 365 con Azure IaaS y PaaS by Miguel Tabera
Diseña tu propio Office 365 con Azure IaaS y PaaSDiseña tu propio Office 365 con Azure IaaS y PaaS
Diseña tu propio Office 365 con Azure IaaS y PaaS
Miguel Tabera296 views
04 17-2021 - procesando modelos tabulares global azure latam by Gaston Cruz
04 17-2021 - procesando modelos tabulares global azure latam04 17-2021 - procesando modelos tabulares global azure latam
04 17-2021 - procesando modelos tabulares global azure latam
Gaston Cruz102 views
Mejorando interfaz de SharePoint 2010 con Silverlight 4 by SolidQ
Mejorando interfaz de SharePoint 2010 con Silverlight 4Mejorando interfaz de SharePoint 2010 con Silverlight 4
Mejorando interfaz de SharePoint 2010 con Silverlight 4
SolidQ540 views
Web 2.0 ajax con SharePoint by goreorti
Web 2.0 ajax con SharePointWeb 2.0 ajax con SharePoint
Web 2.0 ajax con SharePoint
goreorti337 views
Symfony parte 15 Consultas y Migración by Rodrigo Miranda
Symfony parte 15 Consultas y MigraciónSymfony parte 15 Consultas y Migración
Symfony parte 15 Consultas y Migración
Rodrigo Miranda620 views
Primeros pasos Symfony PHPVigo by PHP Vigo
Primeros pasos Symfony PHPVigoPrimeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigo
PHP Vigo478 views
Introduccion a sharepoint framework by Luis Valencia
Introduccion a sharepoint frameworkIntroduccion a sharepoint framework
Introduccion a sharepoint framework
Luis Valencia529 views
Curso SharePoint 2013 overview by Vladimir Medina
Curso SharePoint 2013 overviewCurso SharePoint 2013 overview
Curso SharePoint 2013 overview
Vladimir Medina1.6K views

More from Juan Carlos Gonzalez

Boost your Teams Meetings to the next level with Teams Premium by
Boost your Teams Meetings to the next level with Teams PremiumBoost your Teams Meetings to the next level with Teams Premium
Boost your Teams Meetings to the next level with Teams PremiumJuan Carlos Gonzalez
3 views53 slides
Stream en SharePoint en detalle by
Stream en SharePoint en detalle Stream en SharePoint en detalle
Stream en SharePoint en detalle Juan Carlos Gonzalez
23 views43 slides
Power Platform y Teams: ¿Qué platos tengo en mi menú? by
Power Platform y Teams: ¿Qué platos tengo en mi menú?Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?Juan Carlos Gonzalez
38 views36 slides
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue... by
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...Juan Carlos Gonzalez
33 views49 slides
Stream on SharePoint, an overview - JcGonzalez.pptx by
Stream on SharePoint, an overview - JcGonzalez.pptxStream on SharePoint, an overview - JcGonzalez.pptx
Stream on SharePoint, an overview - JcGonzalez.pptxJuan Carlos Gonzalez
145 views43 slides
Shared channels in Microsoft Teams, an overview by
Shared channels in Microsoft Teams, an overview Shared channels in Microsoft Teams, an overview
Shared channels in Microsoft Teams, an overview Juan Carlos Gonzalez
46 views33 slides

More from Juan Carlos Gonzalez(20)

Boost your Teams Meetings to the next level with Teams Premium by Juan Carlos Gonzalez
Boost your Teams Meetings to the next level with Teams PremiumBoost your Teams Meetings to the next level with Teams Premium
Boost your Teams Meetings to the next level with Teams Premium
Power Platform y Teams: ¿Qué platos tengo en mi menú? by Juan Carlos Gonzalez
Power Platform y Teams: ¿Qué platos tengo en mi menú?Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue... by Juan Carlos Gonzalez
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptx by Juan Carlos Gonzalez
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptxDigitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptx
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptx
Microsoft 365 Chicago - Governing Microsoft Teams Meetings by Juan Carlos Gonzalez
Microsoft 365 Chicago - Governing Microsoft Teams MeetingsMicrosoft 365 Chicago - Governing Microsoft Teams Meetings
Microsoft 365 Chicago - Governing Microsoft Teams Meetings
Solicita y comparte actualizaciones con Updates en Teams by Juan Carlos Gonzalez
Solicita y comparte actualizaciones con Updates en TeamsSolicita y comparte actualizaciones con Updates en Teams
Solicita y comparte actualizaciones con Updates en Teams
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptx by Juan Carlos Gonzalez
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptxShared channels in Microsoft Teams, an overview - JcGonzalez.pptx
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptx
Governing Microsoft Teams Meetings: What are my options? by Juan Carlos Gonzalez
Governing Microsoft Teams Meetings: What are my options?Governing Microsoft Teams Meetings: What are my options?
Governing Microsoft Teams Meetings: What are my options?
Power Platform y Teams: ¿Qué platos tengo en mi menú? by Juan Carlos Gonzalez
Power Platform y Teams: ¿Qué platos tengo en mi menú?Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?
Digitalize your Approval processes with approvals in Microsoft Teams by Juan Carlos Gonzalez
Digitalize your Approval processes with approvals in Microsoft TeamsDigitalize your Approval processes with approvals in Microsoft Teams
Digitalize your Approval processes with approvals in Microsoft Teams
Digitaliza tus Aprobaciones con Approvals en Microsoft Teams by Juan Carlos Gonzalez
Digitaliza tus Aprobaciones con Approvals en Microsoft TeamsDigitaliza tus Aprobaciones con Approvals en Microsoft Teams
Digitaliza tus Aprobaciones con Approvals en Microsoft Teams
Microsoft Lists o como crear aplicaciones a la velocidad de la luz para M365 ... by Juan Carlos Gonzalez
Microsoft Lists o como crear aplicaciones a la velocidad de la luz para M365 ...Microsoft Lists o como crear aplicaciones a la velocidad de la luz para M365 ...
Microsoft Lists o como crear aplicaciones a la velocidad de la luz para M365 ...
Microsoft Lists o como crear aplicaciones a la velocidad de la luz para M365 ... by Juan Carlos Gonzalez
Microsoft Lists o como crear aplicaciones a la velocidad de la luz para M365 ...Microsoft Lists o como crear aplicaciones a la velocidad de la luz para M365 ...
Microsoft Lists o como crear aplicaciones a la velocidad de la luz para M365 ...

Recently uploaded

FC if03.pptx by
FC if03.pptxFC if03.pptx
FC if03.pptxScarletRodriguez14
6 views6 slides
¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real... by
¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real...¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real...
¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real...codertectura
505 views19 slides
Fundamentos De Electricidad y Electrónica equipo 5.pdf by
Fundamentos De Electricidad y Electrónica equipo 5.pdfFundamentos De Electricidad y Electrónica equipo 5.pdf
Fundamentos De Electricidad y Electrónica equipo 5.pdfcoloradxmaria
13 views14 slides
El Ciberespacio y sus Características.pptx by
El Ciberespacio y  sus Características.pptxEl Ciberespacio y  sus Características.pptx
El Ciberespacio y sus Características.pptxAnthlingPereira
10 views3 slides
Probando aplicaciones basadas en LLMs.pdf by
Probando aplicaciones basadas en LLMs.pdfProbando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdfFederico Toledo
47 views40 slides
Dominios de internet.pdf by
Dominios de internet.pdfDominios de internet.pdf
Dominios de internet.pdfNahomiBanchen
8 views2 slides

Recently uploaded(17)

¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real... by codertectura
¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real...¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real...
¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real...
codertectura505 views
Fundamentos De Electricidad y Electrónica equipo 5.pdf by coloradxmaria
Fundamentos De Electricidad y Electrónica equipo 5.pdfFundamentos De Electricidad y Electrónica equipo 5.pdf
Fundamentos De Electricidad y Electrónica equipo 5.pdf
coloradxmaria13 views
El Ciberespacio y sus Características.pptx by AnthlingPereira
El Ciberespacio y  sus Características.pptxEl Ciberespacio y  sus Características.pptx
El Ciberespacio y sus Características.pptx
AnthlingPereira10 views
Probando aplicaciones basadas en LLMs.pdf by Federico Toledo
Probando aplicaciones basadas en LLMs.pdfProbando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdf
Federico Toledo47 views
Google alternativo, para volar by corpbracat
Google alternativo, para volarGoogle alternativo, para volar
Google alternativo, para volar
corpbracat9 views
Tecnologías para la enseñanza virtual.pptx by exprosaavedra
Tecnologías para la enseñanza virtual.pptxTecnologías para la enseñanza virtual.pptx
Tecnologías para la enseñanza virtual.pptx
exprosaavedra11 views
Presentación: El impacto y peligro de la piratería de software by EmanuelMuoz11
Presentación: El impacto y peligro de la piratería de softwarePresentación: El impacto y peligro de la piratería de software
Presentación: El impacto y peligro de la piratería de software
EmanuelMuoz1116 views
FUNDAMENTOS DE ELECTRICIDAD Y ELECTRONICA.pdf by ortizjuanjose591
FUNDAMENTOS DE ELECTRICIDAD Y ELECTRONICA.pdfFUNDAMENTOS DE ELECTRICIDAD Y ELECTRONICA.pdf
FUNDAMENTOS DE ELECTRICIDAD Y ELECTRONICA.pdf
Tarea15.pptx by illanlir
Tarea15.pptxTarea15.pptx
Tarea15.pptx
illanlir9 views

Collab365 - Como hacer de todo con PowerShell en SharePoint (OnPremises y Online)

  • 1. Online Conference June 17th and 18th 2015 WWW.COLLAB365.EVENTS Como hacer de todo con PowerShell en SharePoint (OnPremises y Online)
  • 2. WWW.COLLAB365.EVENTS Juan Carlos González MVP CLUSTER Email : jcgonzalezmartin1978@hotmail.com Twitter : jcgm1978 Facebook : LinkedIn :https://nl.linkedin.com/in/juagon • MVP de Office 365 • Cloud & Productivity Advisor en MVP CLUSTER • Coordinador de SUGES, Comunidad de O365 y Nuberos.NET • Co-Director de CompartiMOSS (www.compartimoss.com) • Dónde encontrarme: – Twitter: @jcgm1978 – Blog: https://jcgonzalezmartin.wordpress.com/ – Web de MVP CLUSTER: www.mvpcluster.com – E-Mails de contacto: • juancarlos.gonzalez@fiveshareit.es • jcgonzalezmartin1978@hotmail.com
  • 4. WWW.COLLAB365.EVENTS Posibilidades de PowerShell para SharePoint • ¿Qué se puede hacer? Copias de Seguridad Las posibilidades que brinda PowerShell para interactuar con SharePoint son ilimitadas Administración de Plataforma Uso de las APIs de Cliente y Servidor Troubleshooting De todo 
  • 5. WWW.COLLAB365.EVENTS Entornos de Trabajo – SharePoint OnPremises • Consola de Administración de SharePoint: – Se instala por defecto e incorpora todos los comandos PowerShell disponibles por defecto
  • 6. WWW.COLLAB365.EVENTS • PowerShell ISE: Entornos de Trabajo – SharePoint OnPremises
  • 7. WWW.COLLAB365.EVENTS Entornos de Trabajo – SharePoint OnPremises • PowerShell ISE (Integrated Shell Script Environment): – “Casi” un entorno de desarrollo para PowerShell con capacidades como: Depuración Intellisense Coloreado de código … – Con cada nueva versión se van añadiendo mejoras – Forma parte de las Características de Windows (tanto S.O de Cliente como de Servidor) y en algunos casos es necesario su activación (Windows Server 2008 R2) – Es necesario añadir el Snap-In de SharePoint para poder hacer uso de los comandos PowerShell específicos de SharePoint
  • 8. WWW.COLLAB365.EVENTS Entornos de Trabajo – SharePoint OnPremises • Windows PowerShell, es decir, el propio Shell de Windows – Como con el ISE, hay que precargar el Snap-In de SharePoint
  • 9. WWW.COLLAB365.EVENTS Entornos de Trabajo – SharePoint OnPremises • PowerShell Web Access:
  • 10. WWW.COLLAB365.EVENTS • PowerShell Web Access: – Ejecución de comandos PowerShell desde el navegador – Para poder usar este entorno hay que: • Habilitar la característica a nivel de Windows Server • Instalar/habilitar el entorno con PowerShell • Configurar el Default Web Site en el IIS del Frontal / Frontales de la granja de SharePoint desde dónde se quiera usar PowerShell Web Access Entornos de Trabajo – SharePoint OnPremises Install-PswaWebApplication –UseTestCertificate Add-PswaAuthorizationRule -UserName [Dominio][Usuario] -ComputerName [NombreComputador] - ConfigurationName Microsoft.Powershell
  • 11. WWW.COLLAB365.EVENTS Entornos de Trabajo – SharePoint Online • SPO Management Shell: – Incorpora los comandos disponibles por defecto para SPO • PowerShell ISE: – No se requiere pre-cargar inicialmente Snap-In alguno para ejecutar los comandos PowerShell para SPO
  • 12. Online Conference June 17th and 18th 2015 WWW.COLLAB365.EVENTS Entornos de trabajo de PowerShell para SharePoint OnPremises y Online
  • 13. WWW.COLLAB365.EVENTS • Se utiliza el concepto de cmdlet (command-let): Conjunción de un verbo y un nombre (un objeto). No es un ejecutable, sino la instancia de una clase .NET  Devuelve objetos Comandos PowerShell por defecto Podemos crear nuestros propios cmdlets
  • 14. WWW.COLLAB365.EVENTS Comandos PowerShell por defecto • SharePoint OnPremises: – + de 800 comandos por defecto para SP 2013 SP1 (861 en SP 2016 IT Preview) – Algunas características: • Uso de pipelines para parar objetos entre comandos • Opciones de formato para visualizar las salidas de los comandos de forma + limpia Get-Command –PSSnapin "Microsoft.SharePoint.PowerShell"
  • 15. WWW.COLLAB365.EVENTS Comandos PowerShell por defecto • Ejemplo 1 – Get-SPSite: – Permite obtener todas las Colecciones de Sitios de la Granja que coincidan con los criterios especificados – http://technet.microsoft.com/es-es/library/ff607950(v=office.15).aspx Get-SPSite | select url, @{Expression={$_.Usage.Storage/1MB}}
  • 16. WWW.COLLAB365.EVENTS Comandos PowerShell por defecto • SharePoint Online: – + de 40 comandos por defecto para SPO (Agosto de 2015) $spoCmdlets=Get-Command | where {$_.ModuleName -eq “Microsoft.Online.SharePoint.PowerShell"} $spoCmdlets.Count $spoCmdlets.Name
  • 17. WWW.COLLAB365.EVENTS Comandos PowerShell por defecto • Ejemplo 1 – Comando Get-SPOSite: – Permite obtener todas las Colecciones de Sitios del tenant que coincidan con los criterios especificados • https://technet.microsoft.com/es-es/library/FP161380.aspx #Ejecución en la Consola de Administración de SharePoint Online $sUserName="jcgonzalez@nuberosnet.onmicrosoft.com" $sMessage="Introduce your SPO Credentials" $sSPOAdminCenterUrl="https://nuberosnet-admin.sharepoint.com/" $msolcred = Get-Credential -UserName $sUserName -Message $sMessage Connect-SPOService -Url $sSPOAdminCenterUrl -Credential $msolcred $spoSiteCollections=Get-SPOSite
  • 18. WWW.COLLAB365.EVENTS Comandos PowerShell por defecto • Windows PowerShell Command Builder: http://www.microsoft.com/resources/TechNet/en- us/Office/media/WindowsPowerShell/WindowsPowerShellCo mmandBuilder.html
  • 19. Online Conference June 17th and 18th 2015 WWW.COLLAB365.EVENTS Comandos PowerShell por defecto para SharePoint OnPremises y Online
  • 20. WWW.COLLAB365.EVENTS • API de Servidor: – El Snap-In de PowerShell para SharePoint también acceso a todo el Modelo de Objetos del Servidor: El uso de los objetos es idéntico al que se realiza desde el IDE – Ejemplo 1 – Crear una lista y añadir una columna a la lista: Uso de las APIs de SharePoint en PowerShell $spSite=Get-SPSite -Identity $sSiteUrl $spWeb=$spSite.OpenWeb() $spWeb.Lists.Add("Lista Grande","Lista Grande",100) $spFieldType = [Microsoft.SharePoint.SPFieldType]::Text $spList = $spWeb.Lists["Lista Grande"] $spList.Fields.Add(“Datos”,$spFieldType,$false) $spList.Fields["Datos"].Update() $spList.Update()
  • 21. WWW.COLLAB365.EVENTS Uso de las APIs de SharePoint en PowerShell • API de Servidor – Ejemplo 2: Realizar una consulta CAML $spSite=Get-SPSite -Identity $sSiteCollection $spwWeb=$spSite.OpenWeb() $splList = $spwWeb.Lists.TryGetList($sListName) $spqQuery = New-Object Microsoft.SharePoint.SPQuery $spqQuery.Query = " <Where> <Contains> <FieldRef Name='FileLeafRef' /> <Value Type='File'>Farm</Value> </Contains> </Where>" $spqQuery.ViewFields = "<FieldRef Name='FileLeafRef' /><FieldRef Name='Title' />" $spqQuery.ViewFieldsOnly = $true $splListItems = $splList.GetItems($spqQuery)
  • 22. WWW.COLLAB365.EVENTS • API de Cliente: – Uso tanto OnPremises como Online – En primer lugar hay que cargar los ensamblados del CSOM en el entorno de trabajo de PowerShell: – A continuación, tenemos que seguir las reglas de uso del CSOM Uso de las APIs de SharePoint en PowerShell Add-Type -Path "<CSOM_Path>Microsoft.SharePoint.Client.dll" Add-Type -Path "<CSOM_Path>Microsoft.SharePoint.Client.Runtime.dll"
  • 23. WWW.COLLAB365.EVENTS Uso de las APIs de SharePoint en PowerShell • API de Cliente – Uso en SharePoint OnPremises: #SharePoint Client Object Model Context $spCtx = New-Object Microsoft.SharePoint.Client.ClientContext($sSiteColUrl) $spCredentials = New-Object System.Net.NetworkCredential($sUserName,$sPassword,$sDomain) $spCtx.Credentials = $spCredentials #Root Web Site $spRootWebSite = $spCtx.Web #Collecction of Sites under the Root Web Site $spSites = $spRootWebSite.Webs #Loading operations $spCtx.Load($spRootWebSite) $spCtx.Load($spSites) $spCtx.ExecuteQuery()
  • 24. WWW.COLLAB365.EVENTS • API de Cliente – Uso en SharePoint Online: Uso de las APIs de SharePoint en PowerShell $spoCtx = New-Object Microsoft.SharePoint.Client.ClientContext($sSiteColUrl) $spoCredentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($sUsername, $sPassword) $spoCtx.Credentials = $spoCredentials #Root Web Site $spoRootWebSite = $spoCtx.Web #Collecction of Sites under the Root Web Site $spoSites = $spoRootWebSite.Webs #Loading operations $spoCtx.Load($spoRootWebSite) $spoCtx.Load($spoSites) $spoCtx.ExecuteQuery() #We need to iterate through the $spoSites Object in order to get individual sites information foreach($spoSite in $spoSites){ $spoCtx.Load($spoSite) $spoCtx.ExecuteQuery() Write-Host $spoSite.Title " - " $spoSite.Url -ForegroundColor Blue }
  • 25. Online Conference June 17th and 18th 2015 WWW.COLLAB365.EVENTS Uso de las APIs de SharePoint desde PowerShell
  • 26. WWW.COLLAB365.EVENTS Administración de la Plataforma Las escenarios de uso de PowerShell para SharePoint son múltiples Escenarios de Uso de PowerShell para SharePoint Troubleshooting Despliegue de Soluciones …
  • 27. WWW.COLLAB365.EVENTS • La instalación / configuración de SharePoint por medio de PowerShell proporciona un mayor control de todo el proceso: – Cuentas de instalación Nombres de las BDs Configuraciones de las Aplicaciones de Servicio … • + laboriosa, pero asegura que todos los servidores de la granja tienen la misma configuración • + adecuada punto vista de una recuperación de desastres • Existen scripts “ya listos” para usar: – AutoSPInstaller: http://autospinstaller.codeplex.com/ – Utilidad visual para configurar el instalador: http://autospinstallergui.codeplex.com/ Escenarios de Uso de PowerShell para SharePoint – Instalación y Configuración
  • 28. WWW.COLLAB365.EVENTS AutoSPInstaller Escenarios de Uso de PowerShell para SharePoint – Instalación y Configuración Instalación x Defecto
  • 29. WWW.COLLAB365.EVENTS • PowerShell permite realizar más tareas de administración que las disponibles desde la propia interfaz de usuario: – Hay ciertas tareas que sólo se van a poder hacer con PowerShell – Ejemplo 1 – Cambiar la frase de contraseña de la granja Escenarios de Uso de PowerShell para SharePoint – Administración Add-PSSnapin Microsoft.SharePoint.PowerShell $passphrase = ConvertTo-SecureString –string “NuevaContraseña” -asPlainText –Force Set-SPPassPhrase -PassPhrase $passphrase -Confirm
  • 30. WWW.COLLAB365.EVENTS Escenarios de Uso de PowerShell para SharePoint – Administración • Ejemplo 2 – Reiniciar todas las instancias del servicio de temporizador de SharePoint: $spFarm=Get-SPFarm $spfTimerServcicesInstance=$spFarm.TimerService.Instances foreach ($spfTimerServiceInstance in $spfTimerServcicesInstances) { Write-Host "Re-starting the instance " $spfTimerServiceInstance.TypeName $spfTimerServiceInstance.Stop() $spfTimerServiceInstance.Start() Write-Host "SharePoint Timer Service Instance" $spfTimerServiceInstance.TypeName "Re-Started" }
  • 31. WWW.COLLAB365.EVENTS • Comandos PowerShell disponibles (SP 2013): Escenarios de Uso de PowerShell para SharePoint – Migración entre versiones • BDs de Contenidos: • Mount-SPContentDatabase • Test-SPContentDatabase • Upgrade-SPContentDatabase • Colecciones de Sitios: • Test-SPSite • Repair-SPSite • Upgrade-SPSite • Request-SPUpgradeEvaluationSiteCollection • Granja: • Upgrade-SPFarm • Administración de Colas: • Get-SPSiteUpgradeSession • Remove-SPSiteUpgradeSession • Servicios: • New-SPBusinessDataCatalogServiceApplication • Restore-SPEnterpriseSearchServiceApplication • Upgrade-SPEnterpriseSearchServiceApplication • Upgrade- SPEnterpriseSearchServiceApplicationSiteSettings • New-SPMetadataServiceApplication • New-SPPerformancePointServiceApplication • New-SPProfileServiceApplication • New-SPProjectServiceApplication • New-New-SPSecureStoreApplication • New-SPSubscriptionSettingsServiceApplication
  • 32. WWW.COLLAB365.EVENTS Escenarios de Uso de PowerShell para SharePoint – Migración entre versiones • Ejecución de Test-SPContentDatabase en todas las BDs de Contenidos de la granja de SP 2010: $sServerInstance=“<Server_Instance>” $spWebApps = Get-SPWebApplication -IncludeCentralAdministration foreach($spWebApp in $spWebApps) { $ContentDatabases = $spWebApp.ContentDatabases foreach($ContentDatabase in $ContentDatabases) { Test-SPContentDatabase –Name $ContentDatabase.Name -ServerInstance $sServerInstance - WebApplication $spWebApp.Url } }
  • 33. WWW.COLLAB365.EVENTS • PowerShell facilita el auditado completo de una granja a partir de: – Obtener información detallada a nivel de Arquitectura Lógica y de Arquitectura de Información: Granja Aplicación Web Colección de Sitios Sitio Lista / Biblioteca Carpeta Elemento de Lista / Documento – Obtener información relativa al tamaño de BDs de Contenidos, Colecciones de Sitios y Sitios – El acceso a la información de seguridad en SharePoint como por ejemplo: Tipos de autenticación utilizadas, Grupos y usuarios de SharePoint en Colecciones de Sitios y Sitios, Niveles de Permisos, etc – Enumerar las personalizaciones desplegadas en la granja a través de un inventario de soluciones .WSP y de Características instaladas Escenarios de Uso de PowerShell para SharePoint – Auditoría de Entornos
  • 34. WWW.COLLAB365.EVENTS Escenarios de Uso de PowerShell para SharePoint – Auditoría de Entornos • Ejemplo 1 - Obtener el tamaño de las BDs de Contenidos de una granja: $spWebApps = Get-SPWebApplication -IncludeCentralAdministration foreach($spWebApp in $spWebApps) { #$spWebApp.Name $ContentDBs = $spWebApp.ContentDatabases foreach($ContentDB in $ContentDBs) { $ContentDBsize = [Math]::Round(($ContentDB.disksizerequired/1GB),2) $ContentDBInfo= $spWebApp.DisplayName + "," + $ContentDB.Name + "," + $ContentDBsize + " GB" $ContentDBInfo } }
  • 35. WWW.COLLAB365.EVENTS Escenarios de Uso de PowerShell para SharePoint – Auditoría de Entornos • Ejemplo 2 – Extraer todos los .WSP de una Granja: $spFarm=Get-SPFarm $spSolutions = $spFarm.Solutions $iSolutionsNumber=0 foreach($spSolution in $spSolutions) { $spSolutionFile=$spSolution.SolutionFile $spSolutionFile.SaveAs($ScriptDir + "" + $spSolution.DisplayName) $iSolutionsNumber+=1 }
  • 36. WWW.COLLAB365.EVENTS Escenarios de Uso de PowerShell para SharePoint – Troubleshooting • PowerShell facilita la realización de Troubleshooting de ambientes SharePoint ya que permite: – Interactuar con los Logs de SharePoint a través de cmdlets específicos (Get- SPLogEvent)
  • 37. WWW.COLLAB365.EVENTS • Ejemplo 1 – Habilitar el panel del desarrollador: Escenarios de Uso de PowerShell para SharePoint – Troubleshooting $svc=[Microsoft.SharePoint.Administration.SPWebService]::ContentService $ddsetting=$svc.DeveloperDashboardSettings $ddsetting.DisplayLevel=[Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::On $ddsetting.Update()
  • 38. WWW.COLLAB365.EVENTS Escenarios de Uso de PowerShell para SharePoint – Despliegue de Soluciones • Engloba aspectos como: – Instalar y desplegar una solución de SharePoint (.WSP) – Activar / Desactivar características – Para / Re-iniciar el servicio del temporizador – Aplicar las personalizaciones de aspecto de forma recursiva en una Colección de Sitios Completa
  • 39. Online Conference June 17th and 18th 2015 WWW.COLLAB365.EVENTS Escenarios de uso de PowerShell para SharePoint
  • 40. WWW.COLLAB365.EVENTS Conclusiones • PowerShell en SharePoint puede ser utilizado para más tareas que administración y configuración: – Auditado Troubleshooting Uso de las APIs de SharePoint Despliegue de Soluciones • Podemos utilizar PowerShell desde distintos entornos de Trabajo: – Consola de Administración de SharePoint 2013 PowerShell ISE El propio Shell de Windows PowerShell Web Access Consola de Administración de SPO • Para trabajar con SharePoint desde PowerShell, disponemos de más de 800 cmdlets para OnPremises y de 40 para SharePoint Online – ..Y podemos crear nuestros propios cmdlets • PowerShell no sólo es un Shell de comandos, sino que permite instanciar y trabajar con objetos de SharePoint
  • 41. WWW.COLLAB365.EVENTS Stay tuned for more great sessions …