powershell para administradores
TRANSCRIPT
![Page 1: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/1.jpg)
1
Simplificando las tareas de administración mediante el uso de Powershell
Pablo Campos SáezMCT, MCTS, [email protected] http://geeks.ms/blogs/pcampos
Alejandro Pacheco Microsoft [email protected]://blogs.msdn.com/apacheco
![Page 2: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/2.jpg)
2
Agenda
Qué es y para quién es !Objetos, Objetos, Objetos, Objetos! Seguridad Cmdlets y su salida |pipes| Arreglos Estructuras de iteración WMI Remoting Demos Demos Demos
![Page 3: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/3.jpg)
3
PowerShell
Qué?
Shell Interactiva
Nuevo Language de Scripting
Por qué?
Completo set de comandos
Orientada a Objetos
Revolucionaria
![Page 4: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/4.jpg)
4
Objetos“Un objecto es una colección de
partes y cómo usarlas ”
PartesPropiedades
Manubrio
Ruedas
Pedales
Frenos
Marco
UsarlasMetodos
Pedalear
Giro Derecho
Giro Izquierdo
Presionar Freno Delantero
Presionar Freno Delantero
PartesCómo se
Usan
![Page 5: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/5.jpg)
5
Objetos
Nombre del Servicio
PartesPropiedades
Estado
Descripción
Stop()
Cómo UsarlasMétodos
Start()
Pause()WindowsService
![Page 6: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/6.jpg)
6
Ejemplo:Cambiando el aspecto de la shell
GreenGreenForegroundColorForegroundColor
$Host.UI.RawUI$Host.UI.RawUI
$host.UI.RawUI
Real-World ObjectReal-World Object
HandlesHandles DataData
.ForegroundColor = “Green”
GreenGreenForegroundColorForegroundColor
$Host.UI.RawUI$Host.UI.RawUI
$host.UI.RawUI.ForegroundColor = “Green”
![Page 7: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/7.jpg)
7
Los Cmdlets usan una notación estandar cmdlets: Verbos-SustantivoTipos de Parámetros: integer, string, date, etc.
CmdletParameter
NameParameter
Value
Cmdlets y sus parámetros
Get-Process -name lsass
Get-Process lsass (Parameter Name Optional)
![Page 8: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/8.jpg)
8
Demo: Propiedades y métodos de un cmdletGet-Process
Get-Process | Get-Member
Get-Process | Get-Member | more
Get-Process | Get-Member -MemberType Property | more
Get-Process | Get-Member -MemberType Properties | more
Get-Process | Get-Member -MemberType Method | more
![Page 9: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/9.jpg)
9
Demostración: Listar los Cmdlets disponibles (Get-Command)
Get-Command
Get-Command -Verb Get
Get-Command -Noun Variable
Get-Command *Object
![Page 10: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/10.jpg)
10
Salida de un CmdletPowerShell por defecto no emite texto
Cmdlets emiten objetosEl formato de salida de los objetos da la ilusion de que es texto, pero no lo es
ObjectObjectCmdletCmdlet TextTextWindows PowerShell
Default Formatting
Windows PowerShell
Default Formatting
![Page 11: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/11.jpg)
11
Características de Windows PowerShell
TabTab
•History
• Aliases • Profile
Get-CGet-C
Get-ChildItemGet-ChildItem
F7
Get-ProcessGet-Process
![Page 12: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/12.jpg)
12
Qué son los alias?Los alias son atajos, términos fáciles de recordar que hacen referencia a un cmdlet
Refers to
CmdletCmdlet
AliasAlias
Set-Alias GH Get-Help
![Page 13: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/13.jpg)
13
Arreglos
Estructura de datos que contiene más objetosCada objeto tiene su propio conteinerSe accede a los conteiner usando []
$Processes = Get-Process
$Processes[0].name
$Processes[4].name
ObjectObject Object Object Object
![Page 14: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/14.jpg)
14
Dos variantes del foreach: Construct and Cmdletforeach es un alias de un cmdlet
$list = Get-ChildItem -Recurse
foreach ( $file in $list ){
$name = $file.name; $size = $file.length
write-output “$name is $size bytes”
}
Get-ChildItem -Recurse | ForEach-Object {
$name = $_.name; $size = $_.length
write-output “$name is $size bytes”
}
![Page 15: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/15.jpg)
15
Iteración básica
($looping)
{
code
}
{
code
} ($looping)
{
code
} ($done)
while
while
do do
until
do/whiledo/while do/untildo/untilwhilewhile
![Page 16: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/16.jpg)
16
Ejecutando parte de un script con if/else
( $db.Mounted ){ “online”}
if
{ “offline”}
else
![Page 17: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/17.jpg)
17
Usando elseif con if/else
if( $p.ProductVersion -eq “6.0.6000.16386” ){ “first version”}
elseif( $p.ProductVersion -eq “6.1.6150.18432” ){ “second edition”}
else{ “unknown release”}
![Page 18: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/18.jpg)
18
Demos
Comandos más ComunesEstructuras de decisión Estructuras de iteración y Filtros
![Page 19: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/19.jpg)
19
Windows PowerShell Default Security Settings .
PS C:> Get-ExecutionPolicy
RestrictedPS C:> Set-ExecutionPolicy RemoteSigned
![Page 20: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/20.jpg)
20
¿ Qué es WMI?
WMI – Windows Management Instrumentation
Implementación de Microsoft WBEM (“Web-Based Enterprise Management ”)CIM (“Common Information Model”)
Es el método para administrar remotamente las máquinas
![Page 21: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/21.jpg)
21
Arquitectura
Object Provider
CIM Object Manager
WMI Objects
SNMP Objects
Win32 Objects
DMI Objects
Aplicación
Repositorio de Datos Estáticos, dinámicamente referenciados
WMI SNMP WIN32 RPC
COM/DCOM Wbem Services
COM/DCOM Wbem Services
![Page 22: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/22.jpg)
22
WMI y PowerShell
CIMV2Namespace
VirtualizationNamespace
Class
Class
Class
Class
PowerShell
![Page 23: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/23.jpg)
23
Get-WMIObject
Parámetros Básicos-Namespace – Especifíca el repositorio WMI donde esta almacenada la clase-Class – Especifíca el nombre de la clase WMI a consultar-List – Muestra todas las clases del espacio de nombre-ComputerName – Especifíca el computador a conectar-Credential – Especifíca las credenciales del host remoto
Get-WMIObject
![Page 24: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/24.jpg)
24
Demos
![Page 25: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/25.jpg)
25
Habilitar remoting
PS C:\> Enable-PSRemoting1. Iniciar o reiniciar (si ya esta iniciado) el servicio WinRM 2. Establecer el tipo del servicio WinRM en inicio automático 3. Crear una escucha para aceptar solicitudes en cualquier dirección IP 4. Habilitar una excepción de firewall para el tráfico WS-Management (sólo para http).
![Page 26: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/26.jpg)
26
Sitios de Interés
Facebook: www.facebook.com/ComunidadesMS
Twitter: www.twitter.com/ComunidadesMS
Sitio Technet: www.technetchile.cl
Eventos y Webcast: www.eventosms.cl
![Page 27: PowerShell para administradores](https://reader036.vdocuments.net/reader036/viewer/2022062300/5562086dd8b42a7d028b484b/html5/thumbnails/27.jpg)
27
Gracias
Simplificando las tareas de administración mediante el uso de Powershell
Pablo Campos SáezMCT, MCTS, [email protected] http://geeks.ms/blogs/pcampos
Alejandro Pacheco Microsoft [email protected]://blogs.msdn.com/apacheco