windows script

63
Windows Script Administración de Sistemas Windows 2003 Server Alberto López Martínez

Upload: btotco

Post on 26-Nov-2015

20 views

Category:

Documents


0 download

TRANSCRIPT

Windows Script

Windows ScriptAdministracin de Sistemas Windows 2003 ServerAlberto Lpez MartnezPor qu Windows Script?Automatizar backups o RI del sistema.Apagar o Reiniciar Windows o cualquier tarea con un click de ratnRelacionar documentos, aplicaciones y automatizar operaciones.Controlar y automatizar tareas administrativasGenerar conexiones de red de forma automticaContenidosConceptosIntroduccin a VBScriptWindows Script HostConclusionesEjercicio Prctico comn con Directivas de grupoWindows ScriptConceptosConceptos BsicosComputador Von Neuman

entradaUnidad de Control de Procesos (CPU)

salidaUCALUMemoria Principal

Almacenamiento (Mem. Secund)Lenguaje de ProgramacinTcnica estndar de comunicacin que permite expresar las instrucciones que han de ser ejecutadas en un computador. Conjunto de reglas sintcticas y semnticas que definen un programa informtico. Permite a un programador especificar: datos a operar, Almacenamiento y transmisin Acciones a realizar segn circunstancias Clasificacin de LenguajesLenguajes CompiladosPascal, Ada, COBOL, Fortran, C/C++, C#, Lenguajes InterpretadosPHP, ASP, VBScript, Python,Lenguajes Compilados e InterpretadosHaskell, Prolog, CompilacinCPU solo entiende binario, tambin llamado cdigo mquina (110010110)Proceso ejecutndose en binarioPrograma en binarioSe programa en binario? NO

compiladorPrograma VS ProcesoProgramaconjunto de instrucciones que llevan a cabo una operacin en un computadorTexto en un ficheroProcesoPrograma en ejecucinSe almacena en Memoria (prim. o sec.) procesoprogramaParadigmas de ProgramacinForma de representar y manipular el conocimiento. Filosofa para la construccin del software. Cada uno tiene ventajas y desventajas. Situaciones donde un paradigma resulta ms apropiado que otro.Tipos:ImperativoSentencias que cambian el estado del programaDeclarativo o FuncionalUso de funciones matemticas y predicados formales

Esquema de un ProgramaENTRADAALGORITMOSALIDAALGORITMO: Conjunto de operaciones que, secuencialmente, conducen a la respuesta de una pregunta, en un numero finito de pasos.Metodologa de ProgramacinPasos en la resolucinAnlisis del problemaRealizacin de la estrategia ideada para su solucinVerificacin y anlisis del rendimiento del procedimiento.Anlisis del ProblemaComprensin del problemaEspecificacin de los datos de entradaEstudio de los resultados que se desean obtenerEstudio del tipo de problemaEstrategia ideadaEstudio del algoritmo a utilizarCasos bsicosCasos generalesCasos extremosLectura de datos de entradaUso de estructuras de datosPresentacin de resultadosVerificacin y validacinPrueba con casos sencillosPrueba con casos complejosPrueba con casos extremosEstudio del rendimientoTiempoUso de memoriaRefinamiento del algoritmoPosibles ejemplosMnimo entre dos nmerosSuma entre dos nmerosSaber si un numero es cuadrado perfectoCalcular soluciones de una ecuacion de 2 ordenCalcular si una fecha (N,N,N) es correcta o noDevolver el valor mximo de una secuenciaCalcular el numero de cifras de un numero naturalIndicar si una secuencia esta ordenada de mayor a menorDevolver el numero de elementos de una secuencia.Problema de JosefoUn grupo de personas prefieren el suicidio a la esclavitud y deciden colocarse en crculo eligiendo siempre al siguiente como ejecutor y asesinando al situado despus del ejecutor. As sucesivamente hasta que quede un slo ciudadano que debera 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 decisin colectiva. Windows ScriptIntroduccin a VBScriptVBScriptQu es? Qu formato tiene?Fichero de textoQu extensin tiene?fichero.vbsCmo editarlo?Con cualquier editor de textoMicrosoft Visual StudioCmo ejecutarlo?Con el comando WScript (WScript fichero.vbs)Doble click al ficheroEstructura de VBScriptEstructura general de un programaSentencias, lneas continuas, comentariosConstantes y variablesOperadoresEstructuras de controlBuclesFunciones y ProcedimientosClasesEstructura de un Programa ***************************************** Programa de prueba Creado: 10/01/2006 ***************************************** declaro variableDim mensaje

inicializo la variablemensaje = hola, que tal? Estoy aprendiendo a programar en VBScript

imprimo el mensajeWscript.Echo mensaje

**** Fin del programa Constantes y VariablesConstantesConst pi = 3.14159, beta = 0.3Variablespr = 200 precio = precio + 10nombre = SantiDeclaracin explicita (con valor)Dim precio, iva, precio_totalConstantes y VariablesArrayDim secuencia(10)secuencia(0) = 11Dim matriz(2, 2)ObjetosSet obj = Wscript.ArgumentsConstantes y VariablesEjemplo 1: Calcular el precio real de dos ordenadores, que cuestan:1123 euros 1326 eurosAmbos sin iva. El programa debe devolver un mensaje personalizado.

Santi, el precio total del ordenador 1 es: XXX eurosSanti, el precio total del ordenador 2 es: YYY euros

OperadoresAritmticos+, -, *, /, \ (entera), Mod, ^LgicosAnd, Or, Xor, Imp, NotComparacin, =, =,

Precedencia de operadorEstructuras de ControlCondicin IFif condicin thensentenciaselseif condicin2 thensentencias2elsesentencias3end ifCondicin Caseselect case variablecase valorsentenciascase valor2sentencias2case elsesentencias3end selectEstructuras de ControlEjemplo 2: Ejecutar un programa que escriba una frase distinta cuando se cumpla una determinada condicin, segn el siguiente valor:Valor 1Valor 2Otro valorBuclesDo while/untilDo...loop while/untilForNextFor EachNextWhile

Exit DoExit ForDo while/untilDo Whiledo while condicinsentenciasloop

Ejemplodo while a 10a = a + 1loopDoloop while/untilDoloop Whiledosentenciasloop while condicin

Ejemplodoa = a + 1loop while a 10For (each)NextForNextFor variable = inicio to finsentenciasNext

EjemploFor i = 1 to 10a = a + 1NextFor eachNextFor each variable in seqsentenciasNext

EjemploFor each persona in colacontador = contador + 1NextWhileFor eachNextWhile condicinsentenciasWend

EjemploDim valueValue = 1While value < 10value = value + 1WendFunciones y ProcedimientosFuncinfunction nombre (parametros) nombre es variable resultadoend functionEjemplo 3a: Realizar la suma de los 100 primeros nmeros (nmero triangular)Funciones y ProcedimientosProcedimientosub nombre (parametros) No se retorna valorend subEjemplo 3b: Realizar la suma de los 100 primeros nmeros (nmero triangular)ClasesFormato:class nombredeclaracionesfunciones o procedimientosend class

Ejemplo 4: Almacenar los siguientes datos de un comprador:NombreCalleCdigo postalTelfonoClasesAtributos publicos y privadosPropiedad 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 get var_virtualproperty let var_virtualacciones accionesend propertyend property

Ejemplo 5: Se desea tener los siguientes datos de cada unos de los usuarios:Nombre completoCorreo electrnicoLoginPasswordWindows ScriptWindows Script HostWindows Script HostMtodo ECHOCuadros de MensajeObjeto WScriptVariables de EntornoEjecucin de programasInteraccin de entrada con el usuarioCreacin de accesos directosUso de Sistemas de Fichero y Entrada/SalidaControl de RedControl de Windows y otras aplicacionesMtodo ECHOWscript.Echo Hola, MundoWscript.Echo Hola, , MundoWscript.Echo El precio es , precio, _ pero se puede rebajar a , rebaja

Cuadros de MensajeFormato:MsgBox texto, botones, tituloEjemplo:MsgBox esto es una prueba, 0, pruebaPosibilidades:Botones0: Boton OK1: Ok y Cancel2: Abort, Retry y Ignore3: Yes, No y Cancel4: Yes y No5: Retry y CancelCuadros de MensajeIconos0: Sin icono16: Parada32: Pregunta48: Exclamacin64: InformacinFoco0: Primer botn256: Segundo botn512: Tercer botnCuadros de MensajeResultado del Cuadro (res = funcin MsgBox):1: OK2: Cancel3: Abort4: Retry5: Ignore6: Yes7: NoEjemplo 6: Hacer un cuadro de mensaje que pregunte si deseamos un viaje al Caribe. El programa debe contestar a cada posibilidad.

Objeto WScriptPermite acceder a argumentosFor each arg in Wscript.Arguments,,,NextPermite control de variables de EntornoSet sh = CreateObject(Wscript.Shell)Set env = sh.Enviroment(Process)texto = env(PATH)env(PATH) = c:/windowsenv.remove(PATH)Objeto WScriptPermite ejecutar otros programassh.Run mandato [, estilo] [, espera]Estilo Ventana0: Oculta1: Normal2: Minimizada3: Maximizada4: Normal pero sin foco6: Minimizada pero sin focoEspera: True o FalseEjemplo 7: Ejecutar el programa Notepad maximizado.Interaccin de entradaCaja de entradares = InputBox (prompt, [titulo], [defecto], [x], [y])Si resultado es , cancelacin de insercinEjemplo 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 MariaCreacin de accesos directosset sh = WScript.CreateObject("WScript.Shell")set lnk = sh.CreateShortcut(nombre)lnk.savePath del Escritorio:path = sh.SpecialFolders("Desktop")Ejemplo 9: Creacin de un acceso directo del Script en el escritorio.Uso de Sistemas de Fichero y E/Sset fs = WScript.CreateObject(Scripting.FileSystemObject)Acceso a todas las unidades de discos (Ejemplo 10)set discos = fs.Drivesfor each d in discosnextPropiedades de una unidadif (NOT fs.DriveExists(H)) then Wscript.Quitelseset drive = fs.GetDrive(H)if (drive.IsReady) thendrive.DriveLetterdrive.DriveType (Desconocido, Borrable, Duro, Remoto, CD, RAM)drive.VolumeName (ShareName)drive.TotalSizedrive.FreeSpaceend ifend ifUso de Sistemas de Fichero y E/SAcceso a carpetasset carpeta = fs.GetFolder (path)set carpetas = carpeta.SubFoldersfor each c in carpetasc.NameNextCrear nueva carpeta Set nc = fs.CreateFolder(path)Renombrar c.Rename(nombre)Copiar carpetafs.CopyFolder path1 path2Mover carpetafs.MoveFolder path1 path2