powershell para administradores

Post on 25-May-2015

3.293 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Simplificando las tareas de administración mediante el uso de Powershell

Pablo Campos SáezMCT, MCTS, RHCTpacampos@alx.cl http://geeks.ms/blogs/pcampos

Alejandro Pacheco Microsoft ChileAlejandro.pacheco@microsoft.comhttp://blogs.msdn.com/apacheco

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

3

PowerShell

Qué?

Shell Interactiva

Nuevo Language de Scripting

Por qué?

Completo set de comandos

Orientada a Objetos

Revolucionaria

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

5

Objetos

Nombre del Servicio

PartesPropiedades

Estado

Descripción

Stop()

Cómo UsarlasMétodos

Start()

Pause()WindowsService

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”

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)

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

9

Demostración: Listar los Cmdlets disponibles (Get-Command)

Get-Command

Get-Command -Verb Get

Get-Command -Noun Variable

Get-Command *Object

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

11

Características de Windows PowerShell

TabTab

•History

• Aliases • Profile

Get-CGet-C

Get-ChildItemGet-ChildItem

F7

Get-ProcessGet-Process

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

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

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”

}

15

Iteración básica

($looping)

{

code

}

{

code

} ($looping)

{

code

} ($done)

while

while

do do

until

do/whiledo/while do/untildo/untilwhilewhile

16

Ejecutando parte de un script con if/else

( $db.Mounted ){ “online”}

if

{ “offline”}

else

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”}

18

Demos

Comandos más ComunesEstructuras de decisión Estructuras de iteración y Filtros

19

Windows PowerShell Default Security Settings .

PS C:> Get-ExecutionPolicy

RestrictedPS C:> Set-ExecutionPolicy RemoteSigned

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

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

22

WMI y PowerShell

CIMV2Namespace

VirtualizationNamespace

Class

Class

Class

Class

PowerShell

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

24

Demos

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).

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

27

Gracias

Simplificando las tareas de administración mediante el uso de Powershell

Pablo Campos SáezMCT, MCTS, RHCTpacampos@alx.cl http://geeks.ms/blogs/pcampos

Alejandro Pacheco Microsoft ChileAlejandro.pacheco@microsoft.comhttp://blogs.msdn.com/apacheco

top related