1 / 63

Windows Script

Windows Script. Administración de Sistemas Windows 2003 Server. Santiago González Tortosa. ¿Por qué Windows Script?. Automatizar backups o RI del sistema. Apagar o Reiniciar Windows o cualquier tarea con un click de ratón Relacionar documentos, aplicaciones y automatizar operaciones.

sahara
Download Presentation

Windows Script

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Windows Script Administración de Sistemas Windows 2003 Server Santiago González Tortosa

  2. ¿Por qué Windows Script? • Automatizar backups o RI del sistema. • Apagar o Reiniciar Windows o cualquier tarea con un click de ratón • Relacionar documentos, aplicaciones y automatizar operaciones. • Controlar y automatizar tareas administrativas • Generar conexiones de red de forma automática • …

  3. Contenidos • Conceptos • Introducción a VBScript • Windows Script Host • Conclusiones • Ejercicio Práctico común con Directivas de grupo

  4. Windows Script Conceptos

  5. Conceptos Básicos • Computador Von Neuman Almacenamiento (Mem. Secund) Memoria Principal UC ALU entrada Unidad de Control de Procesos (CPU) salida

  6. Lenguaje de Programación • Técnica estándar de comunicación que permite expresar las instrucciones que han de ser ejecutadas en un computador. • Conjunto de reglas sintácticas y semánticas que definen un programa informático. • Permite a un programador especificar: • datos a operar, • Almacenamiento y transmisión • Acciones a realizar según circunstancias

  7. Clasificación de Lenguajes • Lenguajes Compilados • Pascal, Ada, COBOL, Fortran, C/C++, C#, … • Lenguajes Interpretados • PHP, ASP, VBScript, Python,… • Lenguajes Compilados e Interpretados • Haskell, Prolog, …

  8. Compilación • CPU solo entiende binario, también llamado código máquina (110010110) • Proceso ejecutándose en binario • Programa en binario • ¿Se programa en binario? NO compilador

  9. Programa VS Proceso • Programa • “conjunto de instrucciones que llevan a cabo una operación en un computador” • Texto en un fichero • Proceso • Programa en ejecución • Se almacena en Memoria (prim. o sec.) proceso programa

  10. Paradigmas de Programación • Forma de representar y manipular el conocimiento. • Filosofía para la construcción del software. • Cada uno tiene ventajas y desventajas. • Situaciones donde un paradigma resulta más apropiado que otro. • Tipos: • Imperativo • Sentencias que cambian el estado del programa • Declarativo o Funcional • Uso de funciones matemáticas y predicados formales

  11. Esquema de un Programa ALGORITMO ENTRADA SALIDA ALGORITMO: Conjunto de operaciones que, secuencialmente, conducen a la respuesta de una pregunta, en un numero finito de pasos.

  12. Metodología de Programación • Pasos en la resolución • Análisis del problema • Realización de la estrategia ideada para su solución • Verificación y análisis del rendimiento del procedimiento.

  13. Análisis del Problema • Comprensión del problema • Especificación de los datos de entrada • Estudio de los resultados que se desean obtener • Estudio del tipo de problema

  14. Estrategia ideada • Estudio del algoritmo a utilizar • Casos básicos • Casos generales • Casos extremos • Lectura de datos de entrada • Uso de estructuras de datos • Presentación de resultados

  15. Verificación y validación • Prueba con casos sencillos • Prueba con casos complejos • Prueba con casos extremos • Estudio del rendimiento • Tiempo • Uso de memoria • Refinamiento del algoritmo

  16. Posibles ejemplos • Mínimo entre dos números • Suma entre dos números • Saber si un numero es cuadrado perfecto • Calcular soluciones de una ecuacion de 2º orden • Calcular si una fecha (N,N,N) es correcta o no • Devolver el valor máximo de una secuencia • Calcular el numero de cifras de un numero natural • Indicar si una secuencia esta ordenada de mayor a menor • Devolver el numero de elementos de una secuencia.

  17. Problema de Josefo • Un grupo de personas prefieren el suicidio a la esclavitud y deciden colocarse en círculo eligiendo siempre al siguiente como ejecutor y asesinando al situado después del ejecutor. Así sucesivamente hasta que quede un sólo ciudadano que debería suicidarse. El problema de Josefo es conocer en qué lugar ha de colocarse en el corro para quedar el último y reflexionar libremente sobre la decisión colectiva.

  18. Windows Script Introducción a VBScript

  19. VBScript • ¿Qué es? ¿Qué formato tiene? • Fichero de texto • ¿Qué extensión tiene? • fichero.vbs • ¿Cómo editarlo? • Con cualquier editor de texto • Microsoft Visual Studio • ¿Cómo ejecutarlo? • Con el comando WScript (“WScript fichero.vbs”) • Doble click al fichero

  20. Estructura de VBScript • Estructura general de un programa • Sentencias, líneas continuas, comentarios • Constantes y variables • Operadores • Estructuras de control • Bucles • Funciones y Procedimientos • Clases

  21. Estructura de un Programa ‘ ***************************************** ‘ Programa de prueba ‘ Creado: 10/01/2006 ‘ ***************************************** ‘ declaro variable Dim mensaje ‘ inicializo la variable mensaje = “hola, que tal? Estoy aprendiendo a programar en VBScript” ‘ imprimo el mensaje Wscript.Echo mensaje ‘ **** Fin del programa

  22. Constantes y Variables • Constantes Const pi = 3.14159, beta = 0.3 • Variables pr = 200 precio = precio + 10 nombre = “Santi” • Declaración explicita (con valor) Dim precio, iva, precio_total

  23. Constantes y Variables • Array Dim secuencia(10) secuencia(0) = 11 Dim matriz(2, 2) • Objetos Set obj = Wscript.Arguments

  24. Constantes y Variables Ejemplo 1: Calcular el precio real de dos ordenadores, que cuestan: • 1123 euros • 1326 euros Ambos sin iva. El programa debe devolver un mensaje personalizado. Santi, el precio total del ordenador 1 es: XXX euros Santi, el precio total del ordenador 2 es: YYY euros

  25. Operadores • Aritméticos • +, -, *, /, \ (entera), Mod, ^ • Lógicos • And, Or, Xor, Imp, Not • Comparación • <, >, =, <=, >=, <> • Precedencia de operador

  26. Condición IF if condición then sentencias elseif condición2 then sentencias2 else sentencias3 end if Condición Case select case variable case valor sentencias case valor2 sentencias2 case else sentencias3 end select Estructuras de Control

  27. Estructuras de Control • Ejemplo 2: Ejecutar un programa que escriba una frase distinta cuando se cumpla una determinada condición, según el siguiente valor: • Valor 1 • Valor 2 • Otro valor

  28. Bucles • Do while/until • Do...loop while/until • For…Next • For Each…Next • While • Exit Do • Exit For

  29. Do While do while condición sentencias loop Ejemplo do while a <= 10 a = a + 1 loop Do Until do until condición sentencias loop Ejemplo do until a > 10 a = a + 1 loop Do while/until

  30. Do…loop While do sentencias loop while condición Ejemplo do a = a + 1 loop while a <= 10 Do…loop Until do sentencias loop until condición Ejemplo do a = a + 1 loop until a > 10 Do…loop while/until

  31. For…Next For variable = inicio to fin sentencias Next Ejemplo For i = 1 to 10 a = a + 1 Next For each…Next For each variable in seq sentencias Next Ejemplo For each persona in cola contador = contador + 1 Next For (each)…Next

  32. While • For each…Next While condición sentencias Wend • Ejemplo Dim value Value = 1 While value < 10 value = value + 1 Wend

  33. Funciones y Procedimientos • Función function nombre (parametros) … ‘ nombre es variable resultado end function • Ejemplo 3a: Realizar la suma de los 100 primeros números (número triangular)

  34. Funciones y Procedimientos • Procedimiento sub nombre (parametros) … ‘ No se retorna valor end sub • Ejemplo 3b: Realizar la suma de los 100 primeros números (número triangular)

  35. Clases • Formato: class nombre declaraciones funciones o procedimientos end class • Ejemplo 4: Almacenar los siguientes datos de un comprador: • Nombre • Calle • Código postal • Teléfono

  36. Clases • Atributos publicos y privados • Propiedad get: el usuario me pide atributo “virtual”, que le devuelvo? • Propiedad let: el usuario da valor a un atributo “virtual”, que hago con el? property getvar_virtual property let var_virtual acciones acciones end property end property • Ejemplo 5: Se desea tener los siguientes datos de cada unos de los usuarios: • Nombre completo • Correo electrónico • Login • Password

  37. Windows Script Windows Script Host

  38. Windows Script Host • Método ECHO • Cuadros de Mensaje • Objeto WScript • Variables de Entorno • Ejecución de programas • Interacción de entrada con el usuario • Creación de accesos directos • Uso de Sistemas de Fichero y Entrada/Salida • Control de Red • Control de Windows y otras aplicaciones

  39. Método ECHO Wscript.Echo “Hola, Mundo” Wscript.Echo “Hola, ”, “Mundo” Wscript.Echo “El precio es ”, precio, _ “ pero se puede rebajar a ”, rebaja

  40. Cuadros de Mensaje • Formato: MsgBox texto, botones, titulo • Ejemplo: MsgBox “esto es una prueba”, 0, “prueba” • Posibilidades: • Botones • 0: Boton OK • 1: Ok y Cancel • 2: Abort, Retry y Ignore • 3: Yes, No y Cancel • 4: Yes y No • 5: Retry y Cancel

  41. Cuadros de Mensaje • Iconos • 0: Sin icono • 16: Parada • 32: Pregunta • 48: Exclamación • 64: Información • Foco • 0: Primer botón • 256: Segundo botón • 512: Tercer botón

  42. Cuadros de Mensaje • Resultado del Cuadro (res = función MsgBox): • 1: OK • 2: Cancel • 3: Abort • 4: Retry • 5: Ignore • 6: Yes • 7: No • Ejemplo 6: Hacer un cuadro de mensaje que pregunte si deseamos un viaje al Caribe. El programa debe contestar a cada posibilidad.

  43. Objeto WScript • Permite acceder a argumentos For each arg in Wscript.Arguments ,,, Next • Permite control de variables de Entorno Set sh = CreateObject(“Wscript.Shell”) Set env = sh.Enviroment(“Process”) … texto = env(“PATH”) env(“PATH”) = “c:/windows” env.remove(“PATH”)

  44. Objeto WScript • Permite ejecutar otros programas sh.Run mandato [, estilo] [, espera] • Estilo Ventana • 0: Oculta • 1: Normal • 2: Minimizada • 3: Maximizada • 4: Normal pero sin foco • 6: Minimizada pero sin foco • Espera: True o False • Ejemplo 7: Ejecutar el programa Notepad maximizado.

  45. Interacción de entrada • Caja de entrada res = InputBox (prompt, [titulo], [defecto], [x], [y]) • Si resultado es “”, cancelación de inserción • Ejemplo 8: Ejecutar un acceso a un programa en el que el usuario tenga que indicar su username. Por cada usuario, debe contestar algo distinto. Hay tres usuarios registrados: • “Luis”, “Juan” y “Maria”

  46. Creación de accesos directos set sh = WScript.CreateObject("WScript.Shell") set lnk = sh.CreateShortcut(nombre) … lnk.save • Path del Escritorio: path = sh.SpecialFolders("Desktop") • Ejemplo 9: Creación de un acceso directo del Script en el escritorio.

  47. Uso de Sistemas de Fichero y E/S set fs = WScript.CreateObject(“Scripting.FileSystemObject”) • Acceso a todas las unidades de discos (Ejemplo 10) setdiscos = fs.Drives for each d in discos … next • Propiedades de una unidad if (NOT fs.DriveExists(“H”)) then Wscript.Quit else set drive = fs.GetDrive(“H”) if (drive.IsReady) then drive.DriveLetter drive.DriveType ‘ (Desconocido, Borrable, Duro, Remoto, CD, RAM) drive.VolumeName (ShareName) drive.TotalSize drive.FreeSpace end if end if

  48. Uso de Sistemas de Fichero y E/S • Acceso a carpetas set carpeta = fs.GetFolder (path) set carpetas = carpeta.SubFolders for each c in carpetas … c.Name Next • Crear nueva carpeta Set nc = fs.CreateFolder(path) • Renombrarc.Rename(nombre) • Copiar carpeta fs.CopyFolder path1 path2 • Mover carpeta fs.MoveFolder path1 path2< • Borrar carpeta fs.DeleteFolder(path) • Existencia Carpeta fs.FolderExists(path)

  49. Uso de Sistemas de Fichero y E/S • Acceso a ficheros set ficheros = carpeta.Files for each f in ficheros … f.Name f.Size f.DateCreated f.DateLastModified Next • Ejemplo 11: Mostrar el contenido de la carpeta System • Existencia de fichero fs.FileExists(fichero) • Copiar ficheros fs.CopyFile path1 path2 • Borrar ficheros fs.DeleteFile(fichero) • Ejemplo 12: Sistema Backup

  50. Uso de Sistemas de Fichero y E/S • Acceso a un fichero de texto OpenTextFile(nombre [, modo[, crear[, formato]]] ) • Modo: (1) ForReading, (2) ForWriting, (3) ForAppending • Crear: True si se va a crear nuevo. False en caso contrario • Formato: TristateTrue si es Unicode, TristateFalse si es ASCII • Lectura de fichero de texto set entrada = fs.OpenTextFile(“fichero.txt”) Do While Not (entrada.atEndOfStream) Texto = Texto & entrada.ReadLine & vbCrLf Loop • Escritura (con/sin reemplazo) en fichero set salida = fs.OpenTextFile(“fichero.txt”, 2, True) Do While Not (entrada.atEndOfStream) texto = entrada.ReadLine salida.WriteLine texto Loop • Ejemplo 13: Copiar el contenido de un fichero en otro

More Related