SlideShare a Scribd company logo
1 of 46
SharePoint Saturday Day
Lima 2015
Auspiciadores
Platinum
Prize Only
Agradecimiento especial
PowerShell para SharePoint
OnPremises y Online, la herramienta
compartida por Desarrolladores e IT
PROs
Juan Carlos González
MVP de Office 365 | Cloud &
Productivity Advisor en MVP
CLUSTER
@jcgm1978
jcgonzalezmartin1978@hotmail.com
https://nl.linkedin.com/in/juagon
https://jcgonzalezmartin.wordpress.com/
Sobre mí
• 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
Agenda
Comandos
PowerShell x defecto
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 
Entornos de Trabajo – SharePoint OnPremises
• Consola de Administración de SharePoint:
• Se instala por defecto e incorpora todos los comandos PowerShell disponibles
por defecto
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
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
Entornos de Trabajo – SharePoint OnPremises
• 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
Entornos de Trabajo – SharePoint Online
• SharePoint Online Management
Shell:
• Incorpora los comandos
disponibles por defecto para SPO
• PowerShell ISE:
• Al contrario que para OnPremises,
no se requiere pre-cargar
inicialmente Snap-In alguno para
ejecutar los comandos PowerShell
para SPO
Entornos de trabajo de
PowerShell para SharePoint
OnPremises y Online
Comandos PowerShell por defecto
• 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
Podemos crear nuestros
propios cmdlets
Comandos PowerShell por defecto
• SharePoint OnPremises:
• + de 800 comandos por defecto para SharePoint 2013 SP1
• 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"
Comandos PowerShell por defecto
• Ejemplo 1 – Comando 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}}
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
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
Comandos PowerShell por defecto
• Windows PowerShell Command Builder:
http://www.microsoft.com/resources/TechNet/en-
us/Office/media/WindowsPowerShell/WindowsPowerShellCommandBuilder.html
Comandos PowerShell x
Defecto para SharePoint
OnPremises y Online
Uso de las APIs de SharePoint en PowerShell
• 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:
$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()
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)
Uso de las APIs de SharePoint en PowerShell
• 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:
• Definir en un objeto ClientContext a partir de la Url de un Sitio de SharePoint
• Indicar unas credenciales de conexión al Sitio
• Comenzar a realizar operaciones en el Sitio teniendo en cuenta que en primer lugar hay
que inicializar las operaciones mediante el método Load() de ClientContext para a
continuación ejecutar dicha operación con el método ExecuteQuery()
Add-Type -Path "<CSOM_Path>Microsoft.SharePoint.Client.dll"
Add-Type -Path "<CSOM_Path>Microsoft.SharePoint.Client.Runtime.dll"
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()
Uso de las APIs de SharePoint en PowerShell
• API de Cliente – Uso en SharePoint Online:
$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
}
Uso de las APIs de SharePoint
desde PowerShell
Escenarios de Uso de PowerShell para
SharePoint
Administración
de la
Plataforma
Las escenarios de uso de PowerShell para SharePoint son
múltiples
Troubleshooting
Despliegue de
Soluciones
…
Escenarios de Uso de PowerShell para
SharePoint – Instalación y Configuración
• La instalación / configuración de SharePoint por medio de PowerShell
proporciona un mayor control de todo el proceso en aspectos como:
• 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
• Desde el punto de vista de una recuperación de desastres también puede
resultar + adecuada
• Existen scripts “ya listos” para usar:
• AutoSPInstaller:
• Scripts: 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
AutoSPInstaller
Instalación x
Defecto
Escenarios de Uso de PowerShell para
SharePoint – Administración
• 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
Add-PSSnapin Microsoft.SharePoint.PowerShell
$passphrase = ConvertTo-SecureString –string “NuevaContraseña” -asPlainText –Force
Set-SPPassPhrase -PassPhrase $passphrase -Confirm
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"
}
Escenarios de Uso de PowerShell para
SharePoint – Migración entre versiones
• Comandos PowerShell disponibles:
• 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
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
}
}
Escenarios de Uso de PowerShell para
SharePoint – Auditoría de Entornos
• PowerShell facilita el auditado de una Granja completa de SharePoint a
través de:
• Obtener información detallada de los distintos niveles que conforman la arquitectura
lógica de SharePoint: 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
• Acceder a la información de seguridad en los distintos niveles de la arquitectura
lógica:
• Tipos de autenticación utilizadas
• Grupos de SharePoint y usuarios de SharePoint para Colecciones de Sitios y Sitios
• Niveles de Permisos
• 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
• Ejemplo 1 - Como 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
}
}
Escenarios de Uso de PowerShell para
SharePoint – Auditoría de Entornos
• Ejemplo 2 – Extraer todos los .WSP de una Granja:
$ScriptDir = Split-Path -parent $MyInvocation.MyCommand.Path
$spSolutions = Get-SPSolution
foreach($spSolution in $spSolutions)
{
Write-Host "Extrayendo la solución $spSolution" -ForegroundColor Green
$spSolutionFile=$spSolution.SolutionFile
$spSolutionFile.SaveAs($ScriptDir + "" + $spSolution.DisplayName)
}
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)
Escenarios de Uso de PowerShell para
SharePoint – Troubleshooting
• Ejemplo 1 – Habilitar el panel del desarrollador:
$svc=[Microsoft.SharePoint.Administration.SPWebService]::ContentService
$ddsetting=$svc.DeveloperDashboardSettings
$ddsetting.DisplayLevel=[Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::On
$ddsetting.Update()
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
Escenarios de Uso de PowerShell para
SharePoint – Despliegue de Soluciones
• Instalar / Activar / Desactivar / Desactivar Características:
--Instalar característica
Install-SPFeature -path "SPCustomActionsFeature_SPCustomActionFeature" -force
--Activar característica
Enable-SPFeature –identity "SPCustomActionsFeature_SPCustomActionFeature" -Url http://sagitario/
--Desativar característica
Disable-SPFeature –identity "SPCustomActionsFeature_SPCustomActionFeature" -Url http://sagitario/
--Desinstalar característica
Uninstall-SPFeature "SPCustomActionsFeature_SPCustomActionFeature"
--Listado de características instaladas
Get-SPSite http://sagitario | Get-SPWeb –Limit ALL |%{ Get-SPFeature –Web $_ } | Select DisplayName,ID -Unique
Escenarios de Uso de PowerShell para
SharePoint – Despliegue de Soluciones
• Añadir / Borrar / Instalar / Desinstalar Soluciones:
Comando Descripción
Add-SPSolution Añadir una solución al almacén de soluciones de SharePoint:
Add-SPSolution –LiteralPath <Path_Solucion>
Get-SPSolution Visualizar solución:
Get-SPSolution –Identity <Nombre_Solucion>
Remove-SPSolution Elimina la solución de la granja:
Remove-SPSolution –Identity <Nombre_Solucion>
Install-SPSolution Instalar solución:
Install-SPSolution –Identity <Nombre_Solucion>
Uninstall-SPSolution Desinstalar solución:
Uninstall-SPSolution –Identity <Nombre_Solucion>
Escenarios de Uso de
PowerShell para SharePoint
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
Q & A
Juan Carlos González
MVP de Office 365 | Cloud &
Productivity Advisor en MVP
CLUSTER
@jcgm1978
jcgonzalezmartin1978@hotmail.com
https://nl.linkedin.com/in/juagon
https://jcgonzalezmartin.wordpress.com/

More Related Content

What's hot

16.03.24 sos project 컨셉 기획서_남진우
16.03.24 sos project 컨셉 기획서_남진우16.03.24 sos project 컨셉 기획서_남진우
16.03.24 sos project 컨셉 기획서_남진우
Nam Jinwoo
 
Nd 3.1 projetos de redes de distribuição aéreas urbanas
Nd 3.1 projetos de redes de distribuição aéreas urbanasNd 3.1 projetos de redes de distribuição aéreas urbanas
Nd 3.1 projetos de redes de distribuição aéreas urbanas
Daniel Barragan
 
Apostila pratica do swiss mananger 8
Apostila pratica do swiss mananger 8Apostila pratica do swiss mananger 8
Apostila pratica do swiss mananger 8
hackr5deMil
 
Estruturas de sustentação dos alimentadores n1 n2-n3-n4 e meio beco
Estruturas de sustentação dos alimentadores n1 n2-n3-n4 e meio becoEstruturas de sustentação dos alimentadores n1 n2-n3-n4 e meio beco
Estruturas de sustentação dos alimentadores n1 n2-n3-n4 e meio beco
Jonatas Ramos
 

What's hot (20)

16.03.24 sos project 컨셉 기획서_남진우
16.03.24 sos project 컨셉 기획서_남진우16.03.24 sos project 컨셉 기획서_남진우
16.03.24 sos project 컨셉 기획서_남진우
 
게임제작개론 : #7 팀 역할과 게임 리소스에 대한 이해
게임제작개론 : #7 팀 역할과 게임 리소스에 대한 이해게임제작개론 : #7 팀 역할과 게임 리소스에 대한 이해
게임제작개론 : #7 팀 역할과 게임 리소스에 대한 이해
 
Ms05-resmat
Ms05-resmatMs05-resmat
Ms05-resmat
 
Turnbasedgame
TurnbasedgameTurnbasedgame
Turnbasedgame
 
Pilhas e Filas.ppt
Pilhas e Filas.pptPilhas e Filas.ppt
Pilhas e Filas.ppt
 
Nd 3.1 projetos de redes de distribuição aéreas urbanas
Nd 3.1 projetos de redes de distribuição aéreas urbanasNd 3.1 projetos de redes de distribuição aéreas urbanas
Nd 3.1 projetos de redes de distribuição aéreas urbanas
 
Avaliação p2 de Transferência de calor e massa
Avaliação p2 de Transferência de calor e massaAvaliação p2 de Transferência de calor e massa
Avaliação p2 de Transferência de calor e massa
 
Apostila pratica do swiss mananger 8
Apostila pratica do swiss mananger 8Apostila pratica do swiss mananger 8
Apostila pratica do swiss mananger 8
 
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
 
Estruturas de sustentação dos alimentadores n1 n2-n3-n4 e meio beco
Estruturas de sustentação dos alimentadores n1 n2-n3-n4 e meio becoEstruturas de sustentação dos alimentadores n1 n2-n3-n4 e meio beco
Estruturas de sustentação dos alimentadores n1 n2-n3-n4 e meio beco
 
게임제작개론: #2 세부 디자인 요소
게임제작개론: #2 세부 디자인 요소게임제작개론: #2 세부 디자인 요소
게임제작개론: #2 세부 디자인 요소
 
게임제작개론 : #6 게임 시스템 구조에 대한 이해
게임제작개론 : #6 게임 시스템 구조에 대한 이해게임제작개론 : #6 게임 시스템 구조에 대한 이해
게임제작개론 : #6 게임 시스템 구조에 대한 이해
 
Apostila principios-de-sistemas-de-informacao
Apostila principios-de-sistemas-de-informacaoApostila principios-de-sistemas-de-informacao
Apostila principios-de-sistemas-de-informacao
 
2012 12-12-cabo irradiante-rfs
2012 12-12-cabo irradiante-rfs2012 12-12-cabo irradiante-rfs
2012 12-12-cabo irradiante-rfs
 
Parada programada
Parada programadaParada programada
Parada programada
 
Um pouco sobre sql
Um pouco sobre sqlUm pouco sobre sql
Um pouco sobre sql
 
게임제작개론 : #4 게임 밸런싱
게임제작개론 : #4 게임 밸런싱게임제작개론 : #4 게임 밸런싱
게임제작개론 : #4 게임 밸런싱
 
Vigas inclinadas exemplo - viga engastada e livre submetida a uma forca ver...
Vigas inclinadas   exemplo - viga engastada e livre submetida a uma forca ver...Vigas inclinadas   exemplo - viga engastada e livre submetida a uma forca ver...
Vigas inclinadas exemplo - viga engastada e livre submetida a uma forca ver...
 
4 sistemas com um grau de liberdade
4 sistemas com um grau de liberdade4 sistemas com um grau de liberdade
4 sistemas com um grau de liberdade
 
[기획 최정진] 포폴 소개
[기획 최정진] 포폴 소개[기획 최정진] 포폴 소개
[기획 최정진] 포폴 소개
 

Viewers also liked

Guía Rápida de Microsoft - Usar Office 365 en Android
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
MICProductivity
 
Office 365
Office 365Office 365
Office 365
caloy95
 
Presentacion Microsoft Office 365
Presentacion Microsoft Office 365Presentacion Microsoft Office 365
Presentacion Microsoft Office 365
MICProductivity
 

Viewers also liked (20)

Offfice 365 - El futuro de la colaboración empresarial
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
 
Office 365 itequia
Office 365   itequiaOffice 365   itequia
Office 365 itequia
 
Office 365 Truths: The truth about Office 365 features releases
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
 
Microsoft Office 365
Microsoft Office 365Microsoft Office 365
Microsoft Office 365
 
Collab365 - Como hacer de todo con PowerShell en SharePoint (OnPremises y On...
Collab365 -  Como hacer de todo con PowerShell en SharePoint (OnPremises y On...Collab365 -  Como hacer de todo con PowerShell en SharePoint (OnPremises y On...
Collab365 - Como hacer de todo con PowerShell en SharePoint (OnPremises y On...
 
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 formas de colaborar en Sitios de SPO, Grupos de Office 365 y OneDrive ...
 
Transformar Personalizaciones al Modelo de Apps de SharePoint
Transformar Personalizaciones al Modelo de Apps de SharePointTransformar Personalizaciones al Modelo de Apps de SharePoint
Transformar Personalizaciones al Modelo de Apps de SharePoint
 
Conoce Office 365
Conoce Office 365Conoce Office 365
Conoce Office 365
 
Guia rapida de Office 365
Guia rapida de Office 365Guia rapida de Office 365
Guia rapida de Office 365
 
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 formas de colaborar en Sitios de SPO, Grupos de Office 365 y OneDrive ...
 
Nuevas experiencias y nuevas formas de trabajar con Office 365
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
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
 
Grupos de Office 365 y Planner - Productividad End to End
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
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
Office 365Office 365
Office 365
 
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...
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...
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...
 
Presentacion Microsoft Office 365
Presentacion Microsoft Office 365Presentacion Microsoft Office 365
Presentacion Microsoft Office 365
 
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...
Office 365 groups & Planner: Productivity and Enterprise Collaboration End-t...
 
How to do everything with PowerShell
How to do everything with PowerShellHow to do everything with PowerShell
How to do everything with PowerShell
 

Similar to PowerShell para SharePoint OnPremises y Online, la herramienta compartida por Desarrolladores e IT PROs

Similar to PowerShell para SharePoint OnPremises y Online, la herramienta compartida por Desarrolladores e IT PROs (20)

Como hacer de todo con PowerShell
Como hacer de todo con PowerShellComo hacer de todo con PowerShell
Como hacer de todo con PowerShell
 
Prepara tus apps de SharePoint y Office 365 para el futuro
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
 
IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014
 
Diseña tu propio Office 365 con Azure IaaS y PaaS
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
 
Diseña tu propio Office 365 - Global Azure Bootcamp 2015
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
 
Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010
 
Mejorando interfaz de SharePoint 2010 con Silverlight 4
Mejorando interfaz de SharePoint 2010 con Silverlight 4Mejorando interfaz de SharePoint 2010 con Silverlight 4
Mejorando interfaz de SharePoint 2010 con Silverlight 4
 
Symfony parte 15 Consultas y Migración
Symfony parte 15 Consultas y MigraciónSymfony parte 15 Consultas y Migración
Symfony parte 15 Consultas y Migración
 
Scraping the web with python
Scraping the web with pythonScraping the web with python
Scraping the web with python
 
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)
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)Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
 
Sigue indexando #seoplus2019
Sigue indexando #seoplus2019Sigue indexando #seoplus2019
Sigue indexando #seoplus2019
 
Dynamics saturday madrid 2019 web api
Dynamics saturday madrid 2019   web apiDynamics saturday madrid 2019   web api
Dynamics saturday madrid 2019 web api
 
Java script para desarrolladores SharePoint
Java script para desarrolladores SharePointJava script para desarrolladores SharePoint
Java script para desarrolladores SharePoint
 
04 17-2021 - procesando modelos tabulares global azure latam
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
 
DBA para SharePoint
DBA para SharePointDBA para SharePoint
DBA para SharePoint
 
Introduccion a sharepoint framework
Introduccion a sharepoint frameworkIntroduccion a sharepoint framework
Introduccion a sharepoint framework
 
ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3
 
Mejores Prácticas de SQL Server para implementar SharePoint Server
Mejores Prácticas de SQL Server para implementar SharePoint ServerMejores Prácticas de SQL Server para implementar SharePoint Server
Mejores Prácticas de SQL Server para implementar SharePoint Server
 
Estrategias de desarrollo en sharepoint
Estrategias de desarrollo en sharepointEstrategias de desarrollo en sharepoint
Estrategias de desarrollo en sharepoint
 

More from Juan Carlos Gonzalez

More from Juan Carlos Gonzalez (20)

Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?
 
Seguridad en Power Platform - Que opciones tengo
Seguridad en Power Platform - Que opciones tengoSeguridad en Power Platform - Que opciones tengo
Seguridad en Power Platform - Que opciones tengo
 
Boost your Teams Meetings to the next level with Teams Premium
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
 
Stream en SharePoint en detalle
Stream en SharePoint en detalle Stream en SharePoint en detalle
Stream en SharePoint en detalle
 
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ú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?
 
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 procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...
 
Stream on SharePoint, an overview - JcGonzalez.pptx
Stream on SharePoint, an overview - JcGonzalez.pptxStream on SharePoint, an overview - JcGonzalez.pptx
Stream on SharePoint, an overview - JcGonzalez.pptx
 
Shared channels in Microsoft Teams, an overview
Shared channels in Microsoft Teams, an overview Shared channels in Microsoft Teams, an overview
Shared channels in Microsoft Teams, an overview
 
Canales Compartidos en Microsoft Teams al detalle
Canales Compartidos en Microsoft Teams al detalleCanales Compartidos en Microsoft Teams al detalle
Canales Compartidos en Microsoft Teams al detalle
 
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptx
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
 
Power Platform Analytics: ¿Qué opciones tengo?
Power Platform Analytics: ¿Qué opciones tengo?Power Platform Analytics: ¿Qué opciones tengo?
Power Platform Analytics: ¿Qué opciones tengo?
 
Analytics in Power Platform: What are my options?
Analytics in Power Platform: What are my options?Analytics in Power Platform: What are my options?
Analytics in Power Platform: What are my options?
 
Microsoft 365 Chicago - Governing Microsoft Teams Meetings
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
Solicita y comparte actualizaciones con Updates en TeamsSolicita y comparte actualizaciones con Updates en Teams
Solicita y comparte actualizaciones con Updates en Teams
 
Canales compartidos en Microsoft Teams de principio a fin
Canales compartidos en Microsoft Teams de principio a finCanales compartidos en Microsoft Teams de principio a fin
Canales compartidos en Microsoft Teams de principio a fin
 
Analytics en Power Platform: ¿Qué opciones tengo?
Analytics en Power Platform: ¿Qué opciones tengo?Analytics en Power Platform: ¿Qué opciones tengo?
Analytics en Power Platform: ¿Qué opciones tengo?
 
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptx
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?
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ú?
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
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
 

Recently uploaded

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Recently uploaded (15)

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...
 
10°8 - Avances tecnologicos del siglo XXI
10°8 - Avances tecnologicos del siglo XXI10°8 - Avances tecnologicos del siglo XXI
10°8 - Avances tecnologicos del siglo XXI
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 

PowerShell para SharePoint OnPremises y Online, la herramienta compartida por Desarrolladores e IT PROs

  • 4. PowerShell para SharePoint OnPremises y Online, la herramienta compartida por Desarrolladores e IT PROs
  • 5. Juan Carlos González MVP de Office 365 | Cloud & Productivity Advisor en MVP CLUSTER @jcgm1978 jcgonzalezmartin1978@hotmail.com https://nl.linkedin.com/in/juagon https://jcgonzalezmartin.wordpress.com/
  • 6. Sobre mí • 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
  • 8. 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 
  • 9. Entornos de Trabajo – SharePoint OnPremises • Consola de Administración de SharePoint: • Se instala por defecto e incorpora todos los comandos PowerShell disponibles por defecto
  • 10. 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
  • 11. 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
  • 12. Entornos de Trabajo – SharePoint OnPremises • 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
  • 13. Entornos de Trabajo – SharePoint Online • SharePoint Online Management Shell: • Incorpora los comandos disponibles por defecto para SPO • PowerShell ISE: • Al contrario que para OnPremises, no se requiere pre-cargar inicialmente Snap-In alguno para ejecutar los comandos PowerShell para SPO
  • 14. Entornos de trabajo de PowerShell para SharePoint OnPremises y Online
  • 15. Comandos PowerShell por defecto • 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 Podemos crear nuestros propios cmdlets
  • 16. Comandos PowerShell por defecto • SharePoint OnPremises: • + de 800 comandos por defecto para SharePoint 2013 SP1 • 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"
  • 17. Comandos PowerShell por defecto • Ejemplo 1 – Comando 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}}
  • 18. 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
  • 19. 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
  • 20. Comandos PowerShell por defecto • Windows PowerShell Command Builder: http://www.microsoft.com/resources/TechNet/en- us/Office/media/WindowsPowerShell/WindowsPowerShellCommandBuilder.html
  • 21. Comandos PowerShell x Defecto para SharePoint OnPremises y Online
  • 22. Uso de las APIs de SharePoint en PowerShell • 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: $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()
  • 23. 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)
  • 24. Uso de las APIs de SharePoint en PowerShell • 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: • Definir en un objeto ClientContext a partir de la Url de un Sitio de SharePoint • Indicar unas credenciales de conexión al Sitio • Comenzar a realizar operaciones en el Sitio teniendo en cuenta que en primer lugar hay que inicializar las operaciones mediante el método Load() de ClientContext para a continuación ejecutar dicha operación con el método ExecuteQuery() Add-Type -Path "<CSOM_Path>Microsoft.SharePoint.Client.dll" Add-Type -Path "<CSOM_Path>Microsoft.SharePoint.Client.Runtime.dll"
  • 25. 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()
  • 26. Uso de las APIs de SharePoint en PowerShell • API de Cliente – Uso en SharePoint Online: $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 }
  • 27. Uso de las APIs de SharePoint desde PowerShell
  • 28. Escenarios de Uso de PowerShell para SharePoint Administración de la Plataforma Las escenarios de uso de PowerShell para SharePoint son múltiples Troubleshooting Despliegue de Soluciones …
  • 29. Escenarios de Uso de PowerShell para SharePoint – Instalación y Configuración • La instalación / configuración de SharePoint por medio de PowerShell proporciona un mayor control de todo el proceso en aspectos como: • 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 • Desde el punto de vista de una recuperación de desastres también puede resultar + adecuada • Existen scripts “ya listos” para usar: • AutoSPInstaller: • Scripts: http://autospinstaller.codeplex.com/ • Utilidad visual para configurar el instalador: http://autospinstallergui.codeplex.com/
  • 30. Escenarios de Uso de PowerShell para SharePoint – Instalación y Configuración AutoSPInstaller Instalación x Defecto
  • 31. Escenarios de Uso de PowerShell para SharePoint – Administración • 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 Add-PSSnapin Microsoft.SharePoint.PowerShell $passphrase = ConvertTo-SecureString –string “NuevaContraseña” -asPlainText –Force Set-SPPassPhrase -PassPhrase $passphrase -Confirm
  • 32. 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" }
  • 33. Escenarios de Uso de PowerShell para SharePoint – Migración entre versiones • Comandos PowerShell disponibles: • 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
  • 34. 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 } }
  • 35. Escenarios de Uso de PowerShell para SharePoint – Auditoría de Entornos • PowerShell facilita el auditado de una Granja completa de SharePoint a través de: • Obtener información detallada de los distintos niveles que conforman la arquitectura lógica de SharePoint: 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 • Acceder a la información de seguridad en los distintos niveles de la arquitectura lógica: • Tipos de autenticación utilizadas • Grupos de SharePoint y usuarios de SharePoint para Colecciones de Sitios y Sitios • Niveles de Permisos • Enumerar las personalizaciones desplegadas en la granja a través de un inventario de soluciones .WSP y de Características instaladas
  • 36. Escenarios de Uso de PowerShell para SharePoint – Auditoría de Entornos • Ejemplo 1 - Como 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 } }
  • 37. Escenarios de Uso de PowerShell para SharePoint – Auditoría de Entornos • Ejemplo 2 – Extraer todos los .WSP de una Granja: $ScriptDir = Split-Path -parent $MyInvocation.MyCommand.Path $spSolutions = Get-SPSolution foreach($spSolution in $spSolutions) { Write-Host "Extrayendo la solución $spSolution" -ForegroundColor Green $spSolutionFile=$spSolution.SolutionFile $spSolutionFile.SaveAs($ScriptDir + "" + $spSolution.DisplayName) }
  • 38. 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)
  • 39. Escenarios de Uso de PowerShell para SharePoint – Troubleshooting • Ejemplo 1 – Habilitar el panel del desarrollador: $svc=[Microsoft.SharePoint.Administration.SPWebService]::ContentService $ddsetting=$svc.DeveloperDashboardSettings $ddsetting.DisplayLevel=[Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::On $ddsetting.Update()
  • 40. 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
  • 41. Escenarios de Uso de PowerShell para SharePoint – Despliegue de Soluciones • Instalar / Activar / Desactivar / Desactivar Características: --Instalar característica Install-SPFeature -path "SPCustomActionsFeature_SPCustomActionFeature" -force --Activar característica Enable-SPFeature –identity "SPCustomActionsFeature_SPCustomActionFeature" -Url http://sagitario/ --Desativar característica Disable-SPFeature –identity "SPCustomActionsFeature_SPCustomActionFeature" -Url http://sagitario/ --Desinstalar característica Uninstall-SPFeature "SPCustomActionsFeature_SPCustomActionFeature" --Listado de características instaladas Get-SPSite http://sagitario | Get-SPWeb –Limit ALL |%{ Get-SPFeature –Web $_ } | Select DisplayName,ID -Unique
  • 42. Escenarios de Uso de PowerShell para SharePoint – Despliegue de Soluciones • Añadir / Borrar / Instalar / Desinstalar Soluciones: Comando Descripción Add-SPSolution Añadir una solución al almacén de soluciones de SharePoint: Add-SPSolution –LiteralPath <Path_Solucion> Get-SPSolution Visualizar solución: Get-SPSolution –Identity <Nombre_Solucion> Remove-SPSolution Elimina la solución de la granja: Remove-SPSolution –Identity <Nombre_Solucion> Install-SPSolution Instalar solución: Install-SPSolution –Identity <Nombre_Solucion> Uninstall-SPSolution Desinstalar solución: Uninstall-SPSolution –Identity <Nombre_Solucion>
  • 43. Escenarios de Uso de PowerShell para SharePoint
  • 44. 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
  • 45. Q & A
  • 46. Juan Carlos González MVP de Office 365 | Cloud & Productivity Advisor en MVP CLUSTER @jcgm1978 jcgonzalezmartin1978@hotmail.com https://nl.linkedin.com/in/juagon https://jcgonzalezmartin.wordpress.com/

Editor's Notes

  1. Lado izquierdo: Agregar Foto y Nombre de Speaker
  2. Lado izquierdo: Agregar Foto y Nombre de Speaker