El sitio web www.vuestroslibros.com utiliza cookies propias y de terceros para recopilar información que ayuda a optimizar su visita a sus páginas web.
No se utilizarán las cookies para recoger información de carácter personal. Usted puede permitir su uso o rechazarlo; también puede cambiar su configuración siempre que lo desee.
Encontrará mas información en nuestra política de Cookies.

ACEPTAR Leer más

 
PowerShell Core y Windows PowerShell | 9782409017322 | Portada

POWERSHELL CORE Y WINDOWS POWERSHELL

Los fundamentos del lenguaje

Arnaud PETITJEAN - Robin LEMESLE

Precio: 38.00€

Oferta: 36.10€ (-5%)

Añadir a la cesta

Datos técnicos

  • Edición
  • ISBN 9782409017322
  • Año Edición 2018
  • Páginas 663
  • Encuadernación Rústica
  • Idioma Español
 

Sinopsis

Este libro sobre los fundamentos de Windows PowerShell (todas las versiones) y de PowerShell Core (versión multiplataforma y Open Source) lo han escrito dos de los fundadores de la comunidad PowerShell francófona (www.powershell-scripting.com). Se dirige a los profesionales del sector informático que deseen iniciarse en las técnicas de scripting. Este libro propone un acercamiento progresivo y didáctico para que los debutantes de verdad, es decir los que nunca han utilizado PowerShell, puedan iniciar suavemente el aprendizaje y adquirir bases sólidas que les permitirán ser autónomos. Los "falsos debutantes" también encontrarán el libro interesante ya que podrán perfeccionar sus conocimientos a través de numerosas buenas prácticas que los autores han depurado a lo largo de los capítulos.

Este libro habla de las bases del lenguaje y por lo tanto no depende de una determinada versión de PowerShell. Cuando existen diferencias de implementación, estas se ponen de manifiesto explícitamente con el objetivo de que los scripts puedan ser compatibles con versiones anteriores.

En los nueve primeros capítulos, el lector descubrirá las nociones esenciales para arrancar con fuerza, tales como: la manipulación de los objetos, los tipos de variables, los operadores, los arrays, los bucles y las estructuras condicionales, las funciones, los perfiles, etc. A continuación, el capítulo dedicado a los snap-ins, los módulos y el acceso a la PowerShell Gallery explicará cómo enriquecer PowerShell con comandos adicionales. Un capítulo importante trata sobre la gestión de errores y la depuración. Este dará al lector las técnicas adecuadas así como los trucos que debe conocer para conseguir que sus scripts sean robustos. Siendo la seguridad una preocupación permanente, la detallaremos en un capítulo específico. El capítulo sobre el Framework .NET y .NET Core mostrará que las capacidades de PowerShell son prácticamente ilimitadas. Se consagra un capítulo a las tecnologías llamadas de remoting, que permiten ejecutar comandos y scripts PowerShell de manera remota: este capítulo explicará cómo abordar estas tecnologías de la manera adecuada, preocupándose especialmente del aspecto de la parametrización (tanto con WinRM como sobre SSH) y de las trampas a evitar (rebote, etc.).

Para finalizar, los últimos capítulos permitirán al lector utilizar PowerShell en el mundo empresarial con la ayuda de numerosos casos prácticos, y descubrir el ecosistema PowerShell con la presentación de herramientas de terceros y de los principales actores del mercado.

Existen contenidos complementarios al libro que se pueden descargar del sitio web www.ediciones-eni.com y del sitio web de la comunidad PowerShell francófona: PowerShell-Scripting.com.

Índice

Prólogo

1. Sobre PowerShell
2. Sobre este libro
3. Sobre los autores

Introducción

1. ¿Para qué utilizar los scripts?
2. Histórico de los lenguajes de script
3. Interés de los scripts frente a los lenguajes de programación
4. En resumen...

Descubrimiento de PowerShell

1. Presentación de PowerShell
2. Histórico de versiones
3. Plataformas soportadas
3.1 Plataformas cliente
3.2 Plataformas servidor
4. Comenzando con PowerShell
4.1 Consola Windows PowerShell clásica
4.1.1 Arranque de la consola
4.1.2 Descubrir la conola
4.2 El entorno integrado de escritura de scripts (ISE)
4.3 Visual Studio Code
5. Una transición suave con el pasado
6. Sistema de ayuda integrado
6.1 Actualización de los archivos de ayuda
6.2 Configuración del sistema de ayuda en empresa
6.2.1 Copiar la ayuda en una carpeta compartida en red
6.2.2 Actualización de la ayuda desde una carpeta de red compartida
6.2.3 Forzar Update-Help para que utilice la ubicación de red
7. Comandos básicos
7.1 Estructura de los comandos
7.2 Get-Command
7.3 Get-Help
7.3.1 Ayuda sobre los comandos
7.3.2 Ayuda conceptual
7.4 Get-Member
8. Gestión de carpetas y archivos
8.1 Get-ChildItem (alias: gci, ls, dir)
8.2 Set-Location (alias: sl, cd, chdir)
8.3 Get-Location (alias: gl, pwd)
8.4 New-Item (alias: ni, md)
8.4.1 Crear una carpeta
8.4.2 Crear un archivo
8.5 Remove-Item (alias: ri, rm, rmdir, rd, erase, del)
8.6 Move-Item (alias: mi, move, mv)
8.6.1 Mover archivos
8.6.2 Mover carpetas
8.7 Rename-Item (alias: ren, rni)
8.7.1 Renombrar un archivo
8.7.2 Renombrar una carpeta
8.8 Copy-Item (alias: cpi, cp, copy)
9. Proveedores PowerShell

Manipulación de objetos

1. ¿Qué es la noción de objeto?
2. Manipulación de objetos
2.1 Las colecciones
2.2 Diferencias de comportamiento entre versiones de PowerShell
2.2.1 Colecciones de objetos
2.2.2 Expansión automática de las propiedades de los elementos de una colección
2.2.3 Where-Object y Foreach-Object simplificados
2.3 Selección/recuperación de resultados
2.3.1 Recuperación de los n primeros objetos
2.3.2 Recuperación de los n últimos objetos
2.3.3 Recuperación de objetos únicos
2.3.4 Recuperación de una propiedad determinada
2.3.5 Selección de objetos de un array basado en el valor del índice
2.3.6 Examen de todos los objetos de una colección
2.3.7 Agrupación de objetos
2.3.8 Ordenación de objetos
2.3.9 Enumeración/cantidad de objetos
2.3.10 Comparación de objetos
2.4 Filtrar los objetos
3. Formateo de objetos para la visualización
3.1 Format-List
3.1.1 Visualización selectiva de las propiedades de un objeto
3.1.2 Visualización de todas las propiedades disponibles de un objeto
3.2 Format-Table
3.2.1 Tamaño automático de una tabla
4. Creación de objetos personalizados
4.1 Transformación de un objeto existente
4.2 Creación de un objeto desde la nada
4.3 Añadir miembros
4.3.1 Añadir una propiedad
4.3.2 Añadir un método
4.4 Creación de una colección de objetos personalizados

Variables y tipos de datos

1. Las variables
1.1 Creación y asignación
1.2 Determinar el tipo de una variable
1.3 Acceder al contenido de una variable
2. Las constantes
3. Tipos de datos
4. Asignación manual de tipos y tipado
4.1 Conversión de un número decimal en hexadecimal
4.2 Conversión de un número decimal en octal (base 8)
4.3 Conversión de un número decimal en binario (base 2)
5. Hacer obligatoria la declaración e inicialización de variables
6. Variables predefinidas
6.1 Variables automáticas
6.2 Variables de configuración
7. Ámbito de las variables
7.1 Ámbito global (global:)
7.2 Ámbito local (local:)
7.3 Ámbito script (script:)
7.4 Ámbito privado (private:)
7.5 Ámbito using (using:)
7.6 Ámbito workflow (workflow:)
8. Cuantificadores de bytes

Operadores

1. Introducción
1.1 Operadores aritméticos
2. Operadores de comparación
2.1 Comparación sobre escalares
2.2 Comparación sobre arrays
3. Operadores de comparación genéricos
4. Operador de comparación de expresiones regulares
4.1 Operaciones sobre escalares
4.2 Operaciones sobre arrays
5. Operador de rango
6. Operadores de pertenencia
7. Operador de sustitución
7.1 Sustitución con la ayuda de una expresión regular
7.2 Sustitución aplicada sobre un array
8. Operadores de tipo
9. Operadores lógicos
10. Operadores binarios
11. Operadores de asignación
12. Operadores de redirección
13. Operadores de partición y de concatenación
14. Operador de formato -f
14.1 Nociones básicas
14.2 Ir más allá con los formatos de cadenas
15. Resumen de operadores

Arrays

1. Introducción
2. Arrays de una dimensión
2.1 Inicializar un array vacío
2.2 Inicializar un array con valores
2.3 Leer un array de una dimensión
2.4 Concatenar dos arrays
2.5 Añadir un elemento a un array
2.6 Modificar el valor de un elemento
2.7 Eliminar un elemento
2.8 Determinar el número de elementos de un array
2.9 Convertir en cadena el contenido de un array
3. Arrays de varias dimensiones
4. Arrays asociativos
4.1 Arrays asociativos estándares
4.1.1 Declarar un array asociativo vacío
4.1.2 Inicializar un array asociativo con datos
4.1.3 Añadir datos a un array asociativo
4.1.4 Recorrer un array asociativo
4.2 Arrays asociativos ordenados

Bucles y condiciones

1. Los bucles
1.1 Bucle While
1.2 Bucle Do-While
1.3 Bucle Do-Until
1.4 Bucle For
1.5 Bucle Foreach
1.5.1 Primera técnica
1.5.2 Segunda técnica
2. Estructura condicional If, Else, ElseIf
3. Switch
3.1 Estructura simple
3.2 Estructura a base de subexpresiones
3.3 Estructura a base de expresiones regulares

Funciones y scripts

1. Funciones
1.1 Estructura de una función
1.2 Uso de argumentos
1.3 Uso de parámetros
1.4 Retorno de valores
1.4.1 Devolver un valor escalar
1.4.2 Devolver un objeto
1.5 Introducción a las «funciones avanzadas»
1.5.1 Diferencias entre las funciones clásicas y las funciones avanzadas
1.5.2 Atributos de validación de parámetros
2. Scripts
2.1 Estructuración de un script
2.2 Comentarios
2.3 Ejecución de un script
2.4 La directiva #Requires
2.5 Toma de contacto del entorno de ejecución (contexto)
2.6 Internacionalización
3. DotSourcing
4. Ayuda integrada a los scripts y funciones

Gestión de archivos y fechas

1. La gestión de archivos
1.1 Formatos de codificación de los archivos de texto
1.2 Diferencias entre Windows PowerShell 5.x / PowerShell Core
1.3 Buenas prácticas
1.4 Escritura de datos en un archivo
1.4.1 Archivos de texto con Out-File
1.4.2 Redirección del flujo estándar
1.4.3 Creación de archivos binarios con Set-Content
1.5 Lectura de datos con Get-Content
1.6 Búsqueda en el contenido de un archivo con Select-String
1.7 Gestión de archivos CSV
1.7.1 Importación/exportación de datos
1.7.2 Conversión de datos al formato CSV
1.7.3 Conversión de datos a partir del formato CSV
1.8 Gestión de archivos XML
1.8.1 Carga de un archivo XML
1.8.2 Gestión del contenido
1.8.3 Exportar objetos en formato XML
1.8.4 Serialización/deserialización con los comandos *-CliXML
1.9 Importar/exportar datos en formato JSON
1.9.1 Exportar datos
1.9.2 Importar datos
1.10 Exportar datos como página HTML
1.11 Exportar datos con Out-GridView
2. Fechas
2.1 Manipulación de los objetos DateTime
2.2 Formateo de fechas
2.2.1 Formatos estándares
2.2.2 Formatos personalizados
2.3 Manipulación de fechas
2.3.1 Crear una fecha
2.3.2 Modificar una fecha
2.3.3 Comparar fechas
2.3.4 Calcular un intervalo entre dos fechas
2.3.5 Conversión de una fecha expresada en ticks

Perfiles PowerShell

1. Introducción
2. Perfiles disponibles
3. Orden de aplicación de perfiles
4. Creación de un perfil
5. Personalización del entorno
5.1 Modificación del prompt
5.1.1 Un prompt con mucho color
5.1.2 Un prompt siempre en hora
5.2 Modificación del tamaño de la ventana
5.3 Modificación de los colores
5.4 Modificación del título de la ventana
5.5 Ejemplo de perfil completo
6. Ejecutar PowerShell sin perfil

Snap-ins, módulos y PowerShell Gallery

1. Introducción
2. Los snap-ins
2.1 Enumerar los snap-ins instalados
2.2 Importar un snap-in
2.3 Enumerar los comandos de un snap-in
2.4 Descargar un snap-in
3. Los módulos
3.1 Instalar un módulo
3.2 Mostrar los módulos disponibles
3.3 Cargar/importar un módulo
3.4 Prefijar los comandos de un módulo
3.5 Enumerar los comandos de un módulo
3.6 Seguir el uso de los módulos
3.7 Descargar un módulo
4. PowerShell Gallery
4.1 ¿Qué es?
4.2 ¿Quid de la seguridad?
4.3 ¿Cómo acceder a la galería?
4.3.1 El sitio web www.powershellgallery.com
4.3.2 El módulo PowerShellGet
4.4 Buscar un módulo
4.5 Guardar un módulo
4.6 Instalar un módulo
4.7 Desinstalar un módulo
4.8 Recuperar la lista de módulos instalados
4.9 Actualizar un módulo
4.10 Publicar un módulo
4.10.1 Obtener la clave de API
4.10.2 Crear el manifiesto del módulo
4.10.3 Publicar el módulo en la galería

Gestión de errores y depuración

1. Introducción a la gestión de errores y a la depuración
2. La gestión de los errores
3. Los errores no críticos
3.1 Variable de opciones: $ErrorActionPreference
3.2 Parámetro -ErrorAction y los parámetros comunes
3.3 Almacenamiento de errores
3.4 El tipo ErrorRecord
3.5 Redirección de la visualización de los mensajes de error
3.5.1 Redirección a un archivo de texto
3.5.2 Redirección a una variable
3.5.3 Redirección de errores hacia $null
3.6 Intercepción de errores no críticos
3.6.1 Caso general
3.6.2 Caso de ejecutables externos
4. Los errores críticos
4.1 Intercepción de errores críticos con Try-Catch-Finally
4.2 Determinar el tipo de errores críticos
4.3 Generar excepciones personalizadas
5. La depuración
5.1 Mostrar información en tiempo de ejecución
5.1.1 Mostrar mensajes en modo verbose
5.1.2 Visualización de mensajes en modo debug
5.1.3 Visualización de mensajes en modo warning
5.1.4 Mostrar mensajes de información
5.2 Forzar la declaración de variables
5.3 Ejecución paso a paso
5.3.1 En la consola PowerShell clásica
5.3.2 En la consola PowerShell ISE
5.4 Modo traza de Set-PSDebug
5.5 Trace-Command

Seguridad

1. La seguridad: ¿para quién? ¿Por qué?
2. Los riesgos vinculados al scripting
3. Optimizar la seguridad de PowerShell
3.1 La seguridad de PowerShell por defecto
3.2 Las directivas de ejecución
3.2.1 Las diferentes directivas de ejecución
3.2.2 Los ámbitos de las directivas de ejecución
3.2.3 Identificar la directiva de ejecución actual
3.2.4 Aplicar una directiva de ejecución
3.3 Scripts descargados de Internet
3.4 Los Alternate Data Streams (ADS)
3.4.1 Los origines
3.4.2 Crear y leer los ADS
3.4.3 Observar y comprender los ADS de sus archivos .ps1
3.4.4 Modificar el ZoneId o cómo transformar un script remoto en un script local
3.5 Cadenas securizadas
3.5.1 Securizar una cadena
3.5.2 Leer una cadena securizada
3.6 Cifrado
3.6.1 Cifrar una cadena
3.6.2 Descifrar una cadena
3.7 Gestión de credenciales
3.8 Solicitar la introducción de una contraseña de forma segura
3.8.1 Uso del comando Read-Host
3.8.2 Uso del comando Get-Credential
4. Firma de scripts
4.1 Las firmas digitales
4.2 Los certificados
4.2.1 Comprar un certificado
4.2.2 Crear un certificado auto firmado
4.3 Firmar su primer script
4.4 Ejecutar scripts firmados
5. Gestionar las directivas de ejecución de PowerShell mediante las directivas de grupo

Framework .NET y .NET Core

1. Introducción a .NET
2. El framework .NET
3. .NET Core
4. PowerShell Core frente a Windows PowerShell, ¿cuál elegir?
5. Utilizar objetos .NET con PowerShell
5.1 Crear una instancia de clase (Objeto)
5.2 Los assemblies
5.3 Cargar un assembly
5.4 Enumerar los tipos contenidos en los assemblies
6. Sacar partido de la potencia de .NET
6.1 Wake-on-LAN
6.2 Comprimir/descomprimir una carpeta
6.3 Crear un tooltip con información contextual (Balloon Tip)

CIM/WMI

1. Introducción
2. Estándares y más estándares, pero ¿para hacer qué?
2.1 ¿Qué es WMI?
2.2 ¿Qué es CIM?
2.3 CIM frente a WMI
2.4 Y concretamente, ¿qué podemos hacer?
2.4.1 Configuración de servidores DELL mediante iDRAC
2.4.2 Gestión de sistemas operativos Linux desde Windows
2.4.3 Gestión de Windows Server 2012/R2 desde Linux
2.5 Dificultades que superar
3. Arquitectura general y terminología
4. Comandos de la familia CIM
4.1 Conjunto de comandos
4.2 Descubrimiento de clases
4.2.1 Enumerar todas las clases
4.2.2 Buscar clases con una determinada palabra
4.3 Descubrimiento de los miembros de una clase
4.3.1 Enumerar los miembros de una clase
4.3.2 Buscar miembros de una clase
4.4 Recuperar una o varias instancias
4.5 Recuperar una o varias instancias con un filtro QL/CQL
4.6 Invocar un método
5. Comandos de la familia WMI
5.1 Búsqueda de clases y miembros
5.2 Recuperar una o varias instancias
6. Establecer sesiones con equipos remotos
6.1 Comando New-CimSession
6.2 Comando New-CimSessionOption
6.3 Comando Get-CimSession
6.4 Comando Remove-CimSession
7. Monitoring de los recursos con la gestión de eventos
7.1 Vigilar la creación de un proceso local
7.2 Vigilar la creación de un proceso en un equipo remoto
7.3 Vigilar el espacio ocupado de un disco duro en un servidor remoto
7.4 Monitorizar la supresión de archivos
7.5 Algunas explicaciones complementarias
8. Gestión basada en las URI (Uniform Resource Identifier)
8.1 Anatomía de una URI
8.2 Conjunto de comandos PowerShell
8.2.1 Conjunto de comandos de la familia WSMan
8.2.2 Conjunto de comandos de la familia CIM
8.3 Prueba de la correcta configuración de un sistema
8.4 Envío de consultas CIM/WMI mediante una URI
8.4.1 Enumerar los servicios de un equipo remoto
8.4.2 Determinar la fecha de instalación de un equipo remoto
9. Caja de herramientas gráfica para la exploración de la base CIM/WMI
9.1 Tester WMI (Wbemtest.exe)
9.2 CIM Studio
9.3 SAPIEN WMI Explorer 2015

Ejecución remota

1. Introducción
2. Comunicaciones remotas del Framework .NET
2.1 Requisitos
2.2 Determinar los comandos remotos del Framework .NET
2.3 Juego de comandos
2.4 Envío de comandos remotos
3. Comunicaciones remotas de Windows PowerShell (WinRM)
3.1 Autenticación y cifrado de las comunicaciones
3.1.1 En un dominio Active Directory
3.1.2 Fuera de un dominio Active Directory
3.1.3 Modificación del tipo de autenticación WinRM
3.2 Requisitos
3.3 WinRM Configuración manual del servicio en un entorno Active Directory
3.3.1 Configuración manual
3.3.2 Activación del servicio WinRM
3.4 Configuración del servicio WinRM por GPO
3.5 WinRM en un entorno fuera de dominio
3.5.1 Configuración de la lista de equipos de confianza (trusted hosts list)
3.5.2 Desactivación de la UAC
3.5.3 Comunicarse con HTTPS
3.6 Problemática del «doble salto» (noción de rebote)
3.6.1 CredSSP
3.6.2 Doble autenticación
3.6.3 Punto de terminación delegado (modo RunAs)
3.6.4 Delegación Kerberos restringida basada en un recurso
3.7 Gestión de las configuraciones de sesiones
3.7.1 Generalidades
3.7.2 Configuraciones de sesión por defecto
3.7.3 Modificación de permisos
3.7.4 Creación de una configuración de sesión personalizada
3.7.5 Creación de una configuración de sesión delegada (RunAs)
3.8 Sesiones remotas
3.9 Ejecución de comandos remotos
3.10 Sesiones WinRM en modo desconectado
3.11 Ejecución de scripts remotos
3.12 Copia de archivos mediante una sesión de comunicación
3.13 Apertura de una sesión remota interactiva PowerShell
3.13.1 Enter-PSSession
3.13.2 PowerShell ISE (Integrated Scripting Environment)
3.14 Importación de comandos remotos
4. Comunicación remota sobre SSH (PowerShell Core únicamente)
4.1 Instalación de OpenSSH en Windows
4.2 Instalación de OpenSSH en Linux
4.3 Ejecución de comandos y scripts remotos
4.3.1 Establecer una sesión de comunicación
4.3.2 Envío de comandos remotos
4.3.3 Ejecución remota de un script
4.4 Inicio de una sesión interactiva remota
4.5 Copia de archivos a través de una sesión de comunicación
5. Conclusión

Casos de estudio

1. Encontrar las cuentas de equipo caducadas dentro del AD DS
1.1 Problemática
1.2 Dificultades que superar
1.3 Solución
2. Enumerar las cuentas de usuario inactivas en el AD DS
2.1 Problemática
2.2 Solución: ¡hacer limpieza!
3. Cambiar la contraseña de Administrador local remotamente
3.1 Problemática
3.2 Dificultades que superar
3.3 Solución 1: DCOM/RPC
3.4 Solución 2: WSMan/WinRM
4. Vigilar el registro de un evento en el log
4.1 Problemática
4.2 Solución
5. Crear cuentas de usuarios por lote
5.1 Problemática
5.2 Solución
6. Verificar la versión software de una aplicación remota
6.1 Problemática
6.2 Solución
7. Actualizar la configuración de red de un conjunto de equipos
7.1 Problemática
7.2 Solución
7.3 Prueba de la solución
8. Encontrar los certificados caducados
8.1 Problemática
8.2 Solución 1: Tarea planificada local PowerShell
8.3 Solución 2: Consulta desde un punto central
9. Delegar la gestión de un servidor (solamente algunos comandos)
9.1 Problemática
9.2 Solución

Recursos adicionales

1. Recursos web
1.1 Sitios Web en español
1.1.1 IT Pro.es: comunidad de profesionales de Infraestructura
1.1.2 Aprende Informática Conmigo
1.2 Sitios Web en inglés
1.2.1 PowerShell Team Blog
1.2.2 Repositorio GitHub PowerShell
1.2.3 PowerShell Magazine
2. Herramientas de terceros
2.1 PowerShell Plus
2.2 PowerShell Studio 2017
2.3 PowerGadget
2.4 PowerShell Universal Dashboard

Anexos

1. Sintaxis de las expresiones regulares
2. Lista de verbos aprobados (Get-Verb)
3. Lista de orígenes de trace (Get-TraceSource)
índice

 

2019 © Vuestros Libros Siglo XXI | Desarrollo Web Factor Ideas

Producto añadido al carrito.

Si desea ver la cesta de la compra haga click aquí.