02 aso - aplicación de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

Upload: ismael-iglesias

Post on 18-Oct-2015

73 views

Category:

Documents


0 download

TRANSCRIPT

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    1/104

    Administracin de Sistemas Operativos

    (ASO)

    Aplicacin descripting en

    sistemas operativos

    libres y propietarios

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    2/104

    06 - Aplicacin de scripting en sistemas operativos libres y

    propietarios

    Estructuras del lenguaje.

    Creacin y depuracin descripts.

    Interpretacin descriptsdel sistema. Adaptaciones.

    Utilizacin de extensiones de comandos para tareas de

    administracin.

    Scriptspara la administracin de cuentas de usuario,

    procesos y servicios del sistema operativo

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    3/104

    06 - Aplicacin de scripting en sistemas operativos propietarios

    POWERSHELL

    Introduccin a Powershell

    Creacin y depuracin descripts.

    Estructuras del lenguaje.

    Interpretacin descriptsdel sistema. Adaptaciones.

    Scriptspara la administracin de cuentas de usuario,

    procesos y servicios del sistema operativo

    Utilizacin de extensiones de comandos para tareas de

    administracin: POWERCLI

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    4/104

    Introduccin a Powershell

    - Windows PowerShelles una interfaz de consola (CLI,

    Command Line Interface) con posibilidad de escritura yconjuncin de comandos por medio de guiones (scripts

    en ingls).

    - Est diseada para su uso por parte de administradores

    de sistemas, con el propsito de automatizar tareas o

    realizarlas de forma ms controlada.

    Versiones: 1.0 - 20062.0

    3.0Dic 2011

    Acceso: Inicio -> Windows Powershell

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    5/104

    Introduccin a Powershell (2)

    Windows PowerShell se ha creado sobre Common

    Language Runtime (CLR) de .NET Framework.

    Acepta y devuelve objetos .NET

    Powershell se basa en escasos comandos integrados

    (cmdlets, function y alias), que se integran en distintas

    utilidades que los combinan:cmdlets (command-let) : comando de una sla funcin

    que manipula objetos en powershell. Siempre tienen

    formato: verbosustantivo (Get-Help,Start-Service)

    Verbos: Get: obtiene dato

    Set: establece o modifica dato

    Format: aplica formato a datos

    out: dirigen salida a un destino.

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    6/104

    Todos los cmdlets disponen de ficheros de ayuda,

    accesibles mediante:

    get-help -detailed

    Powershell puede ejecutar programas de lnea de

    comandos tradicional (cmd.exe) y/o aplicaciones

    windows, e interactuar con ellos. Ejemplo:

    ipconfig | select-string -pattern puerta

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    7/104

    Creacin y depuracin descripts

    Herramientas para manejar powershell:

    Integrados en Windows: (vista y posteriores)

    Windows Powershell

    Windows Powershell ISE

    Software de terceros

    Quest PowerGUI: Script Editor

    Administrative Console

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    8/104

    Reglas bsicas de codificacin:

    - Las lneas se separan por ;(No se distinguen espacios. )

    - NO distingue MAYUSCULAS y minsculas.

    Get-Help GET-HELP; //ok

    - Comentarios mediante #misma lnea

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    9/104

    Windows Powershell: Probarget-command

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    10/104

    Windows Powershell ISE

    Quest PowerGUI: Script Editor

    Administrative Console

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    11/104

    Quest PowerGUI: Script Editor

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    12/104

    Quest PowerGUI: Consola Administrativa

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    13/104

    Error comn: ejecucin de scripts deshabilitada:

    Para habilitar la ejecucin de scripts:Set-ExecutionPolicy Unrestr icted

    - Scope CurrentUser

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    14/104

    Generacin de script bsico (con ISE):

    holamundo.ps1

    $texto=Hola Mundo Powershell!

    Write-Host $texto

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    15/104

    Generacin de script bsico (directo en Shell):

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    16/104

    Generacin de script bsico (PoweGUI):

    Ventana de depuracin!

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    17/104

    Informacin sobre objetos: Get-Member

    Muestra informacin sobre el objeto de servicio,incluidos el nombre del tipo del objeto y una lista

    de sus propiedades y mtodos.

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    18/104

    El editor Power-Gui, nos permite ver:

    A travs del editor, mediante Intelisense, mtodos y

    propiedades del objeto.A travs de su depurador: las propiedades de los

    objetos y sus valores

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    19/104

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    20/104

    Estructuras del lenguaje

    Variables y tipos de datos.

    Operadores

    Algoritmos y programas

    Controles de flujoEstructura secuencial. Tuberas.

    Estructura Alternativa

    Estructura IterativaFunciones

    Programacion orientada a objetos (intro)

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    21/104

    Estructuras del lenguaje: Variables y tipos de datos

    Variable: Posicin de memoria reservada

    para almacenar un determinado valor durante la

    ejecucin de un programa.

    Tipo de Datos: identifica los valores y

    operaciones permitidas sobre una determinada

    variable.

    Tipos de Datos en VBA (principales tipos)

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    22/104

    Tipos de Datos en VBA (principales tipos)

    TIPOS DE DATOS

    [bool]: ( binaria). Valores $true $false

    [int]: Enteros 32 bits entre +/- 32.768

    [long]: Enteros 64 bits entre +/-2.147.483.648[double]: Decimal con doble precisin (+/-1E308)

    [char] Carcter individual

    [string] Cadena de caracteres[date]: Fecha y hora

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    23/104

    Estructuras del lenguaje: Variables y tipos de datos

    Para declarar una variable en powershell, slo se tiene que

    utilizar el identificador $, y colocar un nombre a lavariable.

    Asignando un valor a la variable, automticamente sta

    toma el tipo de datos correspondiente a se valor

    $a= 5 # $a se convierte en un [int]

    $a=texto # ahora es un [string]

    Se puede asignar especficamente el tipo, de forma

    que ste nunca cambie.[int] $a=5

    $a=cadena #aqu devolver un error!.

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    24/104

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    25/104

    Las variables del entorno pueden ser consultadas

    como si de una unidad se tratara.

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    26/104

    Variables de entorno:adems de las variables

    predefinidas, se puede acceder a parmetros del

    sistema operativo a travs de env:

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    27/104

    Arrays Permiten almacenar varios datos bajo una misma variable, de forma

    equivalente a una tabla.

    Cada elemento del array se identifica por un ndice.

    El primer elemento es el elemento 0. (zero-index)

    Simplificando, nos podemos encontrar 3 tipos de arrays:

    Vectores:$vector= C1,C2,C3

    $vector=@(C1,C2,C3)

    Array Multidimensional:

    $matriz2d= New-Object object[,]3,3

    Arrays Irregular(jagged arrays):

    $aspero= 1,2, (1,2,3), 3

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    28/104

    Arrays(2)

    Los arrays no slo pueden ser sperosen dimensin, sino tambin

    en el tipo de datos que contienen:

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    29/104

    Arrays(3)

    Los arrays mas habituales son los devueltos por los propios

    comandos.

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    30/104

    Arrays(3)

    Un tipo especial de array son las Tablas Hash, quepermiten almacenar pares clave-valor:

    $hash=@{clave1=valor1; .; claven=valorn}

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    31/104

    Operadores:

    Smbolos que indican el tipo de operacin a realizar sobre

    variables o datos.Aritmticos: + -*/% ++ (aumentar) --(disminuir)

    Lgicos: -and(y) -or () -not (distinto)

    Relacionales: -eqIgual que -ne Distinto

    -lt Menor que (-lemenor o igual que)

    -gt Mayor que (-gemayor o igual que)

    Otros: -match -like (busquedas en texto)

    ..(rango) #(comentario) -as(convierte tipo)

    &. (llamadas a operador) -F(Fomatea)

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    32/104

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    33/104

    Ejemplo de uso de operadores de llamada:

    . Ejecuta en el contexto actual.

    & No debe confundirse con el operador -and

    NOTA: Tienen ms sentido en los objetos.

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    34/104

    Estructuras del lenguaje: Algoritmos y programas

    Algoritmo:

    Lista finita de instrucciones que especifica lasecuencia de operaciones a realizar para resolver

    un problema, en el cual, los resultados

    dependern de unas entradas especficas.

    Programa

    Conjunto de instrucciones o sentencias querepresentan a un algoritmo

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    35/104

    Estructuras del lenguaje: Controles de flujo

    Control de Flujo:

    Los algoritmos se organizan combinando tres estructurasde control distintas :

    Secuencial Alternativa Iterativa

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    36/104

    Secuencial

    Se ejecutan una detrs de otra todaslas instrucciones.

    $cateto1=$cateto1*$cateto1

    $cateto2=$cateto2*$cateto2

    $Hipotenusa=$cateto1+$cateto2

    $Hipotenusa=[Math]::sqrt($Hipotenusa)

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    37/104

    Alternativa

    Dependiendo de una condicin, se

    realiza una accin de entre dos (oms) posibles.

    if (condicion){ InstruccionesSiCierto }

    elseif (condicion)

    { InstruccionesSiCierto }

    else

    { InstruccionesSiFalso }

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    38/104

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    39/104

    Alternativa Mltiple:

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    40/104

    Iterativa

    Repeticin de una o ms operaciones un

    nmero de veces, mientras se cumplauna determinada condicin Dos tipos

    tradicionales: FOR - WHILE

    for (; ; )

    {}

    while ()

    {}

    foreach( )

    { }

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    41/104

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    42/104

    BUCLES ANIDADOS

    Problemilla: generar los numeros de 1 a 9

    colocados en una tabla de 3 por 3 (ascendente odescendente).

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    43/104

    Solucin con FOR:

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    44/104

    Solucin con FOREACH

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    45/104

    Solucin con WHILE

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    46/104

    Ejercicio:

    - Creacin de carpetas ASIR1, ASIR2, DAW1,

    DAW2, DAM1,DAM2, SMR1, SMR2, SMRd1,SMRd2, a partir de un vector de nombres.

    - Creacin de 20 subcarpetas de usuarios por cadacarpeta creada.

    Solucin con FOR , FOREACH, y WHILE

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    47/104

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    48/104

    Canalizaciones (Pipes)

    Las canalizaciones actan como una serie de tubos

    conectados. (Ejecucin secuencial).

    Los elementos que se desplazan por la canalizacin

    pasan a travs de cada tubo. Los comandos se conectan entre s con el operador

    de canalizacin "|". El resultado de cada comando se

    utiliza como entrada en el siguiente comando.

    Ej:

    dir c:\ -r | Out-Host -Paging

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    49/104

    Canalizaciones (Pipes) (2)

    Cada paso de la canalizacin puede devolver un arrayde resultados. Para actuar sobre cada uno de los

    elementos del array se recurre a $_

    Es muy til realizar filtrados mediante where-object (

    o sus alias where ?)

    Get-Service | where {$_.status -eq "Running" }

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    50/104

    Canalizaciones (Pipes) (3)

    Podemos almacenar los resultados de una canalizacinen una variable para procesarlos despus con un bucle

    foreach

    $updates=get-service | where {$_.DisplayName -like "*Update*}

    foreach($update in $updates)

    { write-host $update.name

    }

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    51/104

    Canalizaciones (Pipes) (3)

    El ejemplo anterior es vlido, pero no muy lgico. Laspropias canalizaciones nos permiten simplificar eso.

    (Escribir en na sla lnea):

    get-service

    | where {$_.DisplayName -like "*Windows*}

    | format-table -property name,status

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    52/104

    Canalizaciones (Pipes) (4)

    El orden de las canalizaciones no es trivial. Siqueremos que se ordenen las listas, mediante sort-

    object, deberemos hacerlo antes de formatear la tabla:

    (Escribir en na sla lnea, y CORREGIR el ERROR):

    get-service

    | where {$_.DisplayName -like "*Windows*}

    | format-table -property name,status

    | sort-object -property status

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    53/104

    Funciones: function

    Conjunto de instrucciones (identificadas por un nombrey agrupadas entre llaves { }), que pueden reutilizarse a

    travs de una llamada (su nombre), y alterar su

    comportamiento mediante parmetros.

    Ejemplo de definicin :

    functionSuma($a, $b)

    { $res=$a+$bWrite-Host La suma es $res

    }

    Suma 2 2

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    54/104

    Funciones: function

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    55/104

    Funciones: function

    No es necesario el uso explicito de argumentos. Dentro de la

    funcin, el array $args, contiene todos los parmetros quepasemos. Return (opcional), devuelve el resultado generado (si le

    hubiera)

    Ejemplo:functionSumaTodo

    { $res=0

    foreach($s in $args)

    {$res=$res+ $s}return $res

    }

    SumaTodo 1 2 3 4 5 6

    Funciones: function

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    56/104

    Funciones: function

    Lo que devuelve una function, puede ser utilizado para ms

    cosas.function suma($a, $b)

    { $a+$b } #sin return, nos devolver la ltima operacin

    #los parmetros se separan con espacios. Encerramos todo#entre prntesis, para distinguir parametros de la siguiente

    #operacin

    $a= (suma 10 20) *2

    Funciones: function

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    57/104

    Funciones: function

    Las Function se pueden guardar en ficheros y ser reutilizados.

    Desde otro script se incluyen con . [NombreFichero] Fichero: Discos.ps1

    Funciones: function

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    58/104

    Funciones: function

    Hecho Discos.ps1, desde un segundo fichero llamo al primero.

    Fichero Re-Usando.ps1

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    59/104

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    60/104

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    61/104

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    62/104

    Computer PerformanceTodo tipo de scripts , incluso Powershellhttp://www.computerperformance.co.uk/powershell/index.htm

    LINKS tiles

    http://www.computerperformance.co.uk/powershell/index.htmhttp://www.computerperformance.co.uk/powershell/index.htmhttp://www.computerperformance.co.uk/powershell/index.htm
  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    63/104

    Programacin orientada a objetos (intro)

    Las tecnologas orientadas a objetos se han convertidoen uno de los motores claves de la industria del

    software.

    Implican la creacin de modelos del mundo real, y la

    construccin de programas basados en esos modelos. Un sistema de software se plantea como una secuencia

    de transformacionesen un conjunto de objetos, donde

    stos, conocen cosas (atributos) y hacen cosas

    (mtodos).

    Programacin orientada a objetos (intro)

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    64/104

    Programacin orientada a objetos (intro)

    Conceptos principales:

    Clase: descripcin abstracta de un grupo de objetos, quecontiene datos (atributos) y procedimientos que son

    capaces de actuar sobre esos datos (mtodos).

    Todo objeto es instancia directa de una clase.

    Atributos: describen el estado de un objeto. Son variablesde tipo simple (numricos, caracteres) o bien

    complejos (otros objetos).

    Mtodos: Representan las acciones que pueden realizarsepor el objeto, sobre el objeto, o datos locales del objeto.

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    65/104

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    66/104

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    67/104

    Programacin orientada a objetos (intro)

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    68/104

    g j ( )

    Conceptos principales:

    Herencia: propiedad que permite a los objetos ser construidos a

    partir de otros objetos, utilizando las estructuras de datos ymtodos previstos en antepasados.

    Las clases se suelen agrupar en jerarquas, con una clase

    principal [Object] de la que dependen la mayor parte del

    resto.Por ello, casi todos los objetos suelen tener propiedades

    comunes (derivadas de la clase origen)

    06 - Aplicacin de scripting en sistemas operativos propietarios

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    69/104

    06 - Aplicacin de scripting en sistemas operativos propietarios

    POWERSHELL

    Introduccin a Powershell

    Creacin y depuracin descripts.

    Estructuras del lenguaje.

    Interpretacin descriptsdel sistema. Adaptaciones.

    Scriptspara la administracin de cuentas de usuario,

    procesos y servicios del sistema operativo

    Utilizacin de extensiones de comandos para tareas deadministracin: POWERCLI

    Interpretacin de scripts del sistema Adaptaciones

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    70/104

    Interpretacin descriptsdel sistema. Adaptaciones.

    WMIWindows Management Instrumentation

    Conjunto de objetos y procedimientos que permitentener acceso y compartir la informacin de

    administracin de los equipos de una red.

    Acceso a la totalidad del sistema operativo de cualquier

    equipo de la red

    La totalidad de objetos WMI accesibles se puede

    obtener mediante:Get-WmiObject -list (ms de 1000)

    Get-WmiObject -list | Where-Object {$_.name -match "Win32"} (ms de 600)

    Interpretacin descriptsdel sistema. Adaptaciones: WMI

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    71/104

    p p p

    Ejemplo: Discos del sistema: Win32_LogicalDisk

    Interpretacin descriptsdel sistema. Adaptaciones: WMI

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    72/104

    p p p

    Win32_LogicalDisk Discos del sistema, y tamao.

    Interpretacin descriptsdel sistema. Adaptaciones: WMI

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    73/104

    Parmetros tiles de Get-WMIobject

    - class: parmetro por defecto (se puede omitir).

    Indica el tipo de objeto a escoger.

    - namespace: espacio de nombres en el que buscar el

    objeto. Por defecto: root\cimv2- computername: equipo en el que ejecutar la bsqueda. Por

    defecto . (equipo local).

    - filter: permite restringir el nmero de objetos devueltos

    segn un determinado filtro (por defecto: todos)- query: permite establecer la bsqueda a travs de consultas

    sql.

    - list

    Interpretacin descriptsdel sistema. Adaptaciones: WMI

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    74/104

    Parmetros tiles de Wmiobject. Ejemplos:-class

    Interpretacin descriptsdel sistema. Adaptaciones: WMI

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    75/104

    Parmetros tiles de Wmiobject. Ejemplos:namespace,

    Lista de espacios disponibles:

    Get-WmiObjectNamespace rootclass __Namespace

    Interpretacin descriptsdel sistema. Adaptaciones: WMI

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    76/104

    Parmetros tiles de Wmiobject. Ejemplos:namespace (2)

    Lista de elementos en otro namespace

    Get-WmiObjectNamespace root\directory\ldap -list

    Interpretacin descriptsdel sistema. Adaptaciones: WMI

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    77/104

    Parmetros tiles de Wmiobject. Ejemplos: namespace (3)

    Ejemplo de objetos Office12

    Interpretacin descriptsdel sistema. Adaptaciones: WMI

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    78/104

    Parmetros tiles de Wmiobject.

    Ejemplos:filter, query

    Cmo obtener tamao disponible total de todos los discos no pticos del equipo?

    Ad t d d d ( filt )

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    79/104

    Adaptadores de red en uso: (con filter o con query)

    http://technet.microsoft.com/es-es/library/dd315292.aspx

    1) Qu hace ste cdigo?

    http://technet.microsoft.com/es-es/library/dd315292.aspxhttp://technet.microsoft.com/es-es/library/dd315292.aspxhttp://technet.microsoft.com/es-es/library/dd315292.aspxhttp://technet.microsoft.com/es-es/library/dd315292.aspxhttp://technet.microsoft.com/es-es/library/dd315292.aspxhttp://technet.microsoft.com/es-es/library/dd315292.aspx
  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    80/104

    1) Qu hace ste cdigo?

    2) Convirtelo en funcin.

    3) Crea una funcin que acepte por parmetro una carpeta de red y

    cree una unidad de red conectada a esa carpeta.

    Ej: ConectaCarpeta \\192.168.0.10\Musica

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    81/104

    Interpretacin descriptsdel sistema. Adaptaciones.

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    82/104

    p p p

    COMComponent Object Model

    - Plataforma de Microsoft para componentes desoftware.

    - Permite la comunicacin entre procesos y la creacin

    dinmica de objetos, en cualquier lenguaje de

    programacin que soporte dicha tecnologa.

    - Abarca las tecnologas OLE, OLE Automation,

    ActiveX, COM+ y DCOM

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    83/104

    Los objetos COM son otro mtodo de automatizar aplicaciones:

    Interpretacin descriptsdel sistema. Adaptaciones.

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    84/104

    VBA: Visual Basic for Applications: plataforma de

    desarrollo para automatizacin de aplicaciones office.

    Ejemplo de solucin idntica en VBA:

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    85/104

    Podemos exportar datos a excel va VBA (mtodo 1)

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    86/104

    Podemos exportar/importar datos va CSV (mtodo 2)

    - CSV es un formato donde las columnas se separan por comas

    - Al importar en excel, crea una sola columna. Es necesario:

    Seleccionar la columaDatos -> Texto en Columnas

    Delimitados-> Tabulacin, Coma

    Finalizar

    Scriptspara la administracin de cuentas de usuario (en

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    87/104

    p p (

    dominio)Nota: servicios y procesos se han visto ya en otras diapositivas.

    - Mtodo de conexin a un dominio: (con y sin usuario)

    Scriptspara la administracin de cuentas de usuario (en dominio)

    P d d i l d di dil t d

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    88/104

    - Para no guardar credenciales, se pueden pedir va dilogo estndar

    de peticin de credenciales:

    - (PtrToStringAuto, y SecureStringToBSTR) convierten el password

    encriptado en un texto plano, y se lo pasa a la funcin para construir

    el objeto dominio.

    A partir de ahora, haremos ejemplos sencillos, en los que o nos conectamos

    ya como un usuario del dominio, o se pasa el password como texto plano:

    SOLO COMO EJEMPLO, nunca en produccin!.

    Scriptspara la administracin de cuentas de usuario (en dominio)

    A l t d d i id d i ti

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    89/104

    - Acceso al contenedor de usuarios, y a una unidad organizativa en

    concreto (desde el propio dominio)

    Scriptspara la administracin de cuentas de usuario (en dominio)

    Li t d d i d id d i ti

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    90/104

    - Listado de usuarios de una unidad organizativa

    Scriptspara la administracin de cuentas de usuario (en dominio)

    C id d i ti i

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    91/104

    - Crear unidades organizativas y usuarios

    - Variacin de lo anterior (importando de CSV)

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    92/104 Scriptspara la administracin de cuentas de usuario (en dominio)

    Bsqueda de usuarios

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    93/104

    - Bsqueda de usuarios.

    Scriptspara la administracin de cuentas de usuario (en dominio)

    Librera ActiveDirectory:

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    94/104

    - Librera ActiveDirectory:

    Para ver la librera, lo mejor es activarla desde del Powergui:

    File->PowerShell Libraries- Una vez activado, el intelisense

    tendr incluido todos los

    cmdlets *-AD*

    Scriptspara la administracin de cuentas de usuario (en dominio) Librera ActiveDirectory:

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    95/104

    - Para incluirlo desde el cdigo, directamente escribiremos:

    Scriptspara la administracin de cuentas de usuario (en dominio) Librera ActiveDirectory:- Unidades organizativas:

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    96/104 Scriptspara la administracin de cuentas de usuario (en dominio) Librera ActiveDirectory:

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    97/104

    - Unidades organizativas (bsqueda y modificacin):

    Scriptspara la administracin de cuentas de usuario (en dominio) rer a c ve rec ory:- Usuarios: creacin de usuario.

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    98/104

    Scriptspara la administracin de cuentas de usuario (en dominio) Librera ActiveDirectory:- Usuarios: bsqueda de usuarios.

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    99/104

    Scriptspara la administracin de cuentas de usuario (en dominio) Librera ActiveDirectory:- Usuarios: modificacin de usuario.

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    100/104

    Ej: Deshabilitar todos los usuarios de una OU

    Scriptspara la administracin de cuentas de usuario (en dominio) Librera ActiveDirectory:- Grupos: creacin de grupos y membresas.

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    101/104

    Scriptspara la administracin de cuentas de usuario (en dominio) Librera ActiveDirectory:- Eliminacin de elementos.

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    102/104

    Scriptspara la administracin de cuentas de usuario (en dominio) Librera ActiveDirectory:- Ejemplo de modularizacin: funcin para crear grupo.

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    103/104

  • 5/27/2018 02 ASO - Aplicaci n de scripting en sistemas operativos libres y propietarios - 24-02-2014 1800

    104/104

    EJEMPLOS POWERSHELL