28
Windows PowerShell para desarrolladores SharePoint: Tu nuevo mejor amigo. Cristian M. Zaragoza Gómez CyB200001 Desarrollador SharePoint – Colaboración y Búsqueda MCTS, SharePoint 2010, Configuración & Desarrollo [email protected]

Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

  • Upload
    solidq

  • View
    664

  • Download
    0

Embed Size (px)

DESCRIPTION

Página oficial del SolidQ Summit: http://summit.solidq.com/madrid/2013/ A lo largo de esta sesión, veremos como puede Windows PowerShell ayudar en tareas de desarrollo para SharePoint 2010. Empezaremos con un breve repaso a la programación en Windows PowerShell, para seguidamente poner todo en práctica, desarrollando scripts con los que resolver en segundos, problemas cotidianos que pueden llevar horas.

Citation preview

Page 1: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

Windows PowerShell para desarrolladores SharePoint: Tu nuevo mejor amigo.

Cristian M. Zaragoza Gómez

CyB200001

Desarrollador SharePoint – Colaboración y Búsqueda MCTS, SharePoint 2010, Configuración & Desarrollo

[email protected]

Page 2: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

Objetivos de la sesión

Saber por qué surge Windows PowerShell.

Conocer qué es exactamente y sus posibilidades.

Cómo se integra con SharePoint 2010.

Ver qué entornos de desarrollo existen.

Adquirir habilidades para desarrollar Scripts.

Page 3: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

¿Por qué Windows PowerShell?

Demo 1: VBScript vs Windows PowerShell

Mientras tanto, en SharePoint 2007…

SharePoint 2010 + Windows PowerShell: “!Qué bueno que viniste¡”

¿En qué nivel estamos?

Las cuatro cosas que debes saber.

Demo 2: ForEach-Object vs ForEach

Agenda

Windows PowerShell para desarrolladores SharePoint

Page 4: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

¿Dónde empiezo a escribir?

¿Qué son los snapins?

Acceso remoto con Windows PowerShell

Demo 3: Acceso remoto a SharePoint 2010

Caso práctico: Salida a producción de un portal de BI

Demo 4: Caso práctico

¿ Preguntas?

Agenda

Windows PowerShell para desarrolladores SharePoint

Page 5: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

UNIX vs Windows.

Microsoft ha priorizado interfaz gráfica.

Grandes resultados comerciales pero…

¿Qué pasa con los administradores?

Cambio de estrategia en Microsoft:

Reforzar los puntos débiles.

Windows PowerShell: Pasado, presente y futuro

¿Por qué Windows PowerShell? (1)

Page 6: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

Windows PowerShell: Pasado, presente y futuro

¿Por qué Windows PowerShell? (2)

Page 7: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

Un intérprete de comandos (Shell)

Windows PowerShell: Pasado, presente y futuro

¿Qué es Windows PowerShell? (1)

“En informática, un intérprete de comandos (Shell) es una pieza de software que provee una interfaz para usuarios. Generalmente el término se refiere al intérprete de comandos del sistema operativo que provee acceso a los servicios del Kernel. Los intérpretes de comandos de sistemas operativos generalmente se dividen en dos grupos atendiendo a su interfaz: línea de comandos (CLI), o gráficos (GUI). Así pues, Windows utiliza Explorer como intérprete de comandos gráfico.”

Page 8: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

Windows PowerShell es un paso más: SQL Server

Exchange

BizTalk

IIS

Azure

Office 365

SharePoint 2010

Etc.

Windows PowerShell: Pasado, presente y futuro

¿Qué es Windows PowerShell? (2)

Page 9: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

También un lenguaje de scripting

Comentarios (#)

Declaración de variables (carácter reservado $)

Lógica condicional (if, elseif, else, y switch)

Bucles (do–while, while, for, ForEach)

Definifición de funciones (functions)

Etc.

Windows PowerShell: Pasado, presente y futuro

¿Qué es Windows PowerShell? (3)

Page 10: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

DEMO Demo 1: VBScript vs Windows PowerShell

Page 11: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

STSADM.EXE

Herramienta de línea de comandos para administrar SharePoint 2007 (MOSS)

182 comandos disponibles

No es una herramienta interactiva.

Pobre rendimiento en “operaciones por lotes” (batch operations)

Entrada y salida texto plano.

Apoyo en otros lenguaje para crear scripts (VBScript)

Windows PowerShell: Pasado, presente y futuro. Mientras tanto, en SharePoint 2007…

Page 12: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

600+ comandos (cmdlets) exclusivos de SharePoint 2010

Todo el potencial de PowerShell.

Acceso remoto.

Curva de aprendizaje moderada para desarrolladores

Windows PowerShell: Pasado, presente y futuro. SharePoint 2010 + Windows PowerShell: “!Qué bueno que viniste¡”

Page 13: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

Windows PowerShell: Pasado, presente y futuro. ¿En qué nivel estamos?

Nivel 3: Crear

cmdlets

Nivel 2: Diseñar

scripts

Nivel 1: Usar cmdlets

Page 14: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

Windows PowerShell: Pasado, presente y futuro.

Las cuatro cosas que debes saber (1)

$myvar = Get-Process

$num = 5

$num

5

$Num

5

Definición de variables.

Empieza con el carácter reservado $

No distingue entre mayúsculas/minúsculas.

Se puede almacenar cualquier cosa: objetos, colecciones de objetos, texto. etc.

Page 15: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

Windows PowerShell: Pasado, presente y futuro.

Las cuatro cosas que debes saber (2)

#Get-Figuras: Devuelve colección.

Get-Figuras | Where-Object {$_.Color –eq “Azul”}

Pipelines (tuberías)

Concatenar los resultados de un comando, con la entrada de otro.

Mediante el carácter |

$_ para referimos al objeto actual (“this”)

Page 16: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

Windows PowerShell: Pasado, presente y futuro.

Las cuatro cosas que debes saber (3)

Where-Object.

Dada un colección de objetos, permite filtrar entre ellos.

Uso de los operadores de comparación y lógicos.

#Get-Figuras: Devuelve colección.

Get-Figuras | Where-Object

{$_.Color –eq “Azul”}

Page 17: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

Windows PowerShell: Pasado, presente y futuro.

Las cuatro cosas que debes saber (4)

Get-Figuras | Where-Object {$_.Color –eq “Naranja”} | ForEach-Object {$_.SetColor –color “Verde”}

ForEach-Object.

Permite iterar entre una colección de objetos.

No confundir con el comando ForEach.

Page 18: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

DEMO Demo 3: ForEach-Object vs ForEach

Page 19: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

SharePoint 2010 Management Shell Viene con la instalación de SharePoint 2010.

Carga automáticamente los snapins de SharePoint 2010.

Look & Feel muy similar a CMD.exe

Windows PowerShell: Pasado, presente y futuro.

¿Dónde empiezo a escribir? (1)

Page 20: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

Windows PowerShell: Pasado, presente y futuro.

¿Qué son los snapins?

Add-PSSnapin Microsoft.SharePoint.PowerShell

DLL instalada en la GAC (Global Assembly Cache) Microsoft.SharePoint.PowerShell.dll

Implementan una interfaz. Posibilita crear snapins propios.

Add-PSSnapin

Page 21: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

Windows PowerShell

Incluido en Windows 7 y Windows 2008/R2.

Entorno más “amigable”.

Facilidades de edición: copiar, pegar, posicionar el curso, etc.

No incluye los cmdlets de SharePoint 2010.

Windows PowerShell: Pasado, presente y futuro.

¿Dónde empiezo a escribir? (2)

Page 22: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

Windows PowerShell ISE (Integrated Scripting Environment)

Característica (feature) en Windows Server 2008/R2.

Tampoco incluye los snapins de SharePoint 2010, pero…

Permite crear perfiles de configuración.

Depuración con puntos de ruptura.

Windows PowerShell: Pasado, presente y futuro.

¿Dónde empiezo a escribir? (3)

Page 23: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

Novedad en PowerShell 2.0

Se basa en WinRM (Windows Remote Management) Nuevo estándar sobre HTTP/S en vez de RPC

Permite trabajar fuera del servidor.

Configuración no trivial.

Windows PowerShell: Pasado, presente y futuro.

Acceso remoto con Windows PowerShell (1)

Page 24: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

Windows PowerShell: Pasado, presente y futuro.

Acceso remoto con Windows PowerShell (2)

Get-SPDatabase | Where-Object {$_.Name -eq "WSS_Content"} | Add-SPShellAdmin –Username CONTOSO\User1

¿Quién puede ejecutar scripts contra SharePoint 2010?

Miembro del grupo WSS_ADM_WGP

Miembro del rol SharePoint_Shell_Acess en base de datos de configuración.

Acceso a la base de datos de contenidos.

Add-SPShellAdmin

Page 25: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

DEMO Demo 4: Acceso remoto a SharePoint 2010

Page 26: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

1. Crear una estructura de sitios completa con plantilla de BI.

2. Activar las características (features ) necesarias.

3. Crear las páginas de inicio, y generales, de cada sitio.

4. Añadir WebParts de Imagen en cada página.

5. Replicar páginas maestras en cada sub-sitio.

Windows PowerShell: Pasado, presente y futuro.

Caso práctico: Salida a producción de un portal de BI

Page 27: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

DEMO Demo 5: Caso práctico

Page 28: Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012

Si quieres disfrutar de las mejores sesiones de

nuestros mentores de España y Latino América,

ésta es tu oportunidad.

http://summit.solidq.com/madrid/

Síguenos: