Este documento presenta una sesión sobre el uso de Windows PowerShell para desarrollar aplicaciones en SharePoint. Explica por qué surgió PowerShell, cómo se integra con SharePoint 2010 y ofrece más de 600 comandos exclusivos. También cubre conceptos clave como variables, tuberías y filtros, y demuestra cómo acceder de forma remota a SharePoint y automatizar tareas mediante scripts de PowerShell.
Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012
1. CyB200001
Windows PowerShell para desarrolladores
SharePoint: Tu nuevo mejor amigo.
Cristian M. Zaragoza Gómez
Desarrollador SharePoint – Colaboración y Búsqueda
MCTS, SharePoint 2010, Configuración & Desarrollo
czaragoza@solidq.com
2. 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.
3. Agenda
Windows PowerShell para desarrolladores SharePoint
¿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
4. Agenda
Windows PowerShell para desarrolladores SharePoint
¿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?
5. Windows PowerShell: Pasado, presente y futuro
¿Por qué Windows PowerShell? (1)
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.
7. Windows PowerShell: Pasado, presente y futuro
¿Qué es Windows PowerShell? (1)
Un intérprete de comandos (Shell)
“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.”
8. Windows PowerShell: Pasado, presente y futuro
¿Qué es Windows PowerShell? (2)
Windows PowerShell es un paso más:
SQL Server
Exchange
BizTalk
IIS
Azure
Office 365
SharePoint 2010
Etc.
9. Windows PowerShell: Pasado, presente y futuro
¿Qué es Windows PowerShell? (3)
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.
11. Windows PowerShell: Pasado, presente y futuro.
Mientras tanto, en SharePoint 2007…
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)
12. Windows PowerShell: Pasado, presente y futuro.
SharePoint 2010 + Windows PowerShell: “!Qué bueno que viniste¡”
600+ comandos (cmdlets) exclusivos de SharePoint 2010
Todo el potencial de PowerShell.
Acceso remoto.
Curva de aprendizaje moderada para desarrolladores
13. Windows PowerShell: Pasado, presente y futuro.
¿En qué nivel estamos?
Nivel 3: Crear
cmdlets
Nivel 2: Diseñar
scripts
Nivel 1: Usar cmdlets
14. Windows PowerShell: Pasado, presente y futuro.
Las cuatro cosas que debes saber (1)
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.
$myvar = Get-Process
$num = 5
$num
5
$Num
5
15. Windows PowerShell: Pasado, presente y futuro.
Las cuatro cosas que debes saber (2)
Pipelines (tuberías)
Concatenar los resultados de un comando, con la entrada de otro.
Mediante el carácter |
$_ para referimos al objeto actual (“this”)
#Get-Figuras: Devuelve colección.
Get-Figuras | Where-Object
{$_.Color –eq “Azul”}
16. 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”}
17. Windows PowerShell: Pasado, presente y futuro.
Las cuatro cosas que debes saber (4)
ForEach-Object.
Permite iterar entre una colección de objetos.
No confundir con el comando ForEach.
Get-Figuras | Where-Object {$_.Color –eq “Naranja”} |
ForEach-Object {$_.SetColor –color “Verde”}
19. Windows PowerShell: Pasado, presente y futuro.
¿Dónde empiezo a escribir? (1)
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
20. Windows PowerShell: Pasado, presente y futuro.
¿Qué son los snapins?
DLL instalada en la GAC (Global Assembly Cache)
Microsoft.SharePoint.PowerShell.dll
Implementan una interfaz.
Posibilita crear snapins propios.
Add-PSSnapin
Add-PSSnapin Microsoft.SharePoint.PowerShell
21. Windows PowerShell: Pasado, presente y futuro.
¿Dónde empiezo a escribir? (2)
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.
22. Windows PowerShell: Pasado, presente y futuro.
¿Dónde empiezo a escribir? (3)
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.
23. Windows PowerShell: Pasado, presente y futuro.
Acceso remoto con Windows PowerShell (1)
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.
24. Windows PowerShell: Pasado, presente y futuro.
Acceso remoto con Windows PowerShell (2)
¿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
Get-SPDatabase | Where-Object {$_.Name -eq
"WSS_Content"} | Add-SPShellAdmin –Username
CONTOSOUser1
26. Windows PowerShell: Pasado, presente y futuro.
Caso práctico: Salida a producción de un portal de BI
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.
28. 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: