La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Administrador de Redes 1 Antonio J. Emperador Sau Administrador de Redes Julio 2011 Módulo 3. Programación en PowerShell.

Presentaciones similares


Presentación del tema: "Administrador de Redes 1 Antonio J. Emperador Sau Administrador de Redes Julio 2011 Módulo 3. Programación en PowerShell."— Transcripción de la presentación:

1 Administrador de Redes 1 Antonio J. Emperador Sau Administrador de Redes Julio 2011 Módulo 3. Programación en PowerShell

2 Administrador de Redes 2 1. Introducción a la programación

3 Administrador de Redes 3 1. Introducción a la programación Estructura de un ordenador Representación de la información en un ordenador Sistema binario y otros sistemas de numeración Números con signo, con decimales y con coma flotante Representación de caracteres Software y lenguajes de programación Software De sistema De aplicación Lenguajes Máquina Ensamblador Alto nivel Scripting Fundamentos

4 Administrador de Redes 4 Principios básicos de la programación estructurada Dividir en módulos Dividir la funcionalidad en funciones para una sola tarea Programar funciones en estructura de bloques Cada bloque solo puede tener un punto de entrada y de salida Al finalizar un bloque debe continuar con otro o finalizar Representación = Diagramas de flujo proceso decisión terminador datos imprimir entrada datos disco Fundamentos 1. Introducción a la programación

5 Administrador de Redes 5 Bloques: Secuencial Repetitivo De selección o bifurcación Pasos para resolver un problema de programación Análisis de requisitos Diseño del programa Codificación Prueba del programa Validación del programa Optimización Fundamentos 1. Introducción a la programación

6 Administrador de Redes 6 Algoritmos Programación estructurada vs. Programación orientada a objetos Elementos básicos de un programa Los datos En variables (definidas por nombre, tipo y valor) Las instrucciones De asignación ( Variable = Expresión o mejor Variable Expresión ) Expresiones numéricas suma, resta, multiplicación, división y resto de div. entera +, -, *, /, % Expresiones condicionales o lógicas Operadores de relación:,=, =,<> (!=) Operadores lógicos: AND, OR, NOT (&&, ||, !) Fundamentos 1. Introducción a la programación

7 Administrador de Redes 7 Elementos básicos de un programa Estructuras básicas de control Instrucciones condicionales (SI) Instrucciones repetitivas MIENTRAS REPETIR MIENTRAS Bucle PARA Fundamentos 1. Introducción a la programación

8 Administrador de Redes 8 Diseño Descendente (top-down): división en módulos Ascendente (bottom-up): reutilización de código Codificación Editor: creación del código Compilador: del fuente al objeto y de él al ejecutable Montaje o enlazado: división en ficheros y reensamble Ejecutar Depurar Uso de ayuda y manuales Documentación de aplicaciones Manuales de desarrollo (requisitos, diseño, código comentado, plan de pruebas, plan de calidad y control de configuración) Manuales para usuarios (manuales de instalación, de usuario y calidad) Pruebas de software Metodología 1. Introducción a la programación

9 Administrador de Redes 9 Manuales de usuario: Descripción general Tipo de usuarios a los que va dirigida Diferencia con versiones anteriores (csv) Métodos de arranque y ejecución Restricciones y comportamiento Comportamiento por tipología de usuario Errores que pueden producirse Índice alfabético Ejercicios (a realizar en dos grupos) Realizar la división en módulos de una aplicación para gestionar un instituto. Se considerarán los grupos, las aulas y demás recintos, los profesores, alumnos, asignaturas, calificaciones, etc. Realizar el manual de usuario de: Grupo 1: aplicación de un cajero automático Grupo 2: aplicación que suma valores hasta que se mete 0 Metodología 1. Introducción a la programación

10 Administrador de Redes 10 Clasificaciones: Por tamaño en memoria fija o variable (estáticos y dinámicos) Por número de elementos (básicos y complejos) Identificadores, variables y constantes Tipos de datos elementales: Tipos elementales Operadores Tipos numéricos enteros Tipos numéricos reales Números complejos Tipo carácter (ASCII) Tipo lógico Tipos avanzados Arrays Cadena de caracteres Estructuras y punteros Conversión de tipos Tipos de datos 1. Introducción a la programación

11 Administrador de Redes Introducción a la programación Tipos de datos

12 Administrador de Redes Introducción a la programación Tipos de estructuras: De secuencia De selección De iteración Sentencias: If If-else While For Do-while Switch Break y continue Estructuras

13 Administrador de Redes Introducción a la programación Motivación : Complejidad: división en módulos más pequeños Localización más simple de errores en código Permite trabajar a varias personas Reutilización de código Subrutinas, subprogramas o procedimientos (Sub) Llamados por su nombre Realizan acciones pero no retornan valores Claves en programación estructurada Funciones (Function) Invocados como asignación a una variable o cálculo Realizan acciones aunque lo más importante es que retornan valores (de diverso tipo, incluso matrices) En el código debe encontrarse una asignación de valor al nombre de la función o, en otros lenguajes, una expresión return Argumentos Funciones y subrutinas

14 Administrador de Redes Introducción a la programación Matrices: Motivación: Almacenar múltiples valores con un solo nombre Series de valores Valores interrelacionados Utilización Declaración Definición Uso Unidimensionales y multidimensionales Redimensionamiento Cadenas: Definición Funciones de tratamiento de cadenas de string: Len, Right, Left, Instr, … Matrices y cadenas

15 Administrador de Redes Generalidades

16 Administrador de Redes 16 Microsoft PowerShell: ¿Qué es? Shell de línea de comandos y lenguaje de script Basado en.NET Framework Usado para la administración y automatización de tareas en Windows ¿Dónde? Sitio del producto: Sitio de descarga ver. 2: Ayudas Ayuda de PowerShell: En línea: get-help comando Desde el archivo de ayuda del ISE Manuales, temas de ayuda, comandos, etc. en es/library/bb aspxhttp://technet.microsoft.com/es- es/library/bb aspx Repositorios de scripts: Arranque Desde Inicio – Programas – Accesorios Escribiendo en el interfaz de comandos powershell Si hay que ejecutar determinados scripts o preferencias, arrancar en modo administrador Si hay problemas, modificar Executionpolicy (con Set-ExecutionPolicy -ExecutionPolicy Unrestricted ) 2. Generalidades de PowerShell

17 Administrador de Redes 17 Microsoft PowerShell: ¿Cómo usarlo? Como interfaz de comandos, al igual que cmd Incluye muchos comandos cmd conodidos (dir, copy, move, ipconfig…) Como interfaz de programación Creando scripts (extensión.ps1) con cualquier editor y ejecutándolos Mediante el entorno de programación PowerShell ISE Manejo del entorno Se escriben los comandos, pudiendo usar autocompletion con el [Tab] Mantiene un amplio historial de comandos: Mediante el uso de flechas de cursor (arriba/abajo) Con [F7] Comando Get-History Cmdlets Son los comandos ampliados de PowerShell Constan de verbo-nombre parámetros Ejemplos: get-help dir, get-process w* Canalizaciones Muy importantes: redirigen la salida a otro comando Ejemplos: get-process |format-list, get-process |Out-GridView 2. Generalidades de PowerShell

18 Administrador de Redes 18 Lenguaje: Comentarios con # Si queremos un mismo comando en dos líneas, acabar la primera con ` (acento grave francés) Varios comandos en una línea separados por ; (punto y coma) Para escribir una respuesta, basta con escribir el comando o variable Para pedir datos: Mediante parámetros del script que hagamos (directiva param) Mediante ventana interactiva (cmdlet Read-host) Variables: Empiezan por el símbolo $ y contienen letras, números o subrayado (_) Su declaración y tipo no es necesaria, pero pueden almacenar cualquier tipo de información, incluidos objetos Constantes: No hay una expresión fija, debe utilizarse Set-Variable –name nom_const –option readonly –value valor Hay variables predefinidas ($true, $false, $home, $pshome, $host, $error… ) Ver las variables: Get-Variable La última variable utilizada puede invocarse por $_ 2. Generalidades de PowerShell

19 Administrador de Redes 19 Variables Tipos 2. Generalidades de PowerShell

20 Administrador de Redes 20 Instrucciones: Operadores: Aritméticos: +, -, *, /, % De asignación; =, +=, -=, *=, /=, %= De comparación: -eq, -ne, -gt, -lt, -le, -ge También coincidencia ( -match, -nomatch ), sustitución ( -replace ) y de patrones ( -like, -nolike ) Lógicos: -and, -or, -xor, -not, ! De redirección: >, >> De división y combinación: - split, -join De tipo: -is, -isnot, -as… … Operador de comparaciónSignificadoEjemplo (devuelve el valor True) -eqEs igual a1 -eq 1 -neEs distinto de1 -ne 2 -ltEs menor que1 -lt 2 -leEs menor o igual que1 -le 2 -gtEs mayor que2 -gt 1 -geEs mayor o igual que2 -ge 1 -likeEs como (comparación de caracteres comodín para texto) "file.doc" -like "f*.do?" -notlikeNo es como (comparación de caracteres comodín para texto) "file.doc" -notlike "p*.doc" -containsContiene1,2,3 -contains 1 -notcontainsNo contiene1,2,3 -notcontains 4 2. Generalidades de PowerShell

21 Administrador de Redes 21 Estructuras: Condicionales: Condicional if: if… then… elseif… else… Ejemplo: $a = 1; if ($a –eq 1){Es 1}else{No es 1} Múltiple switch Ejemplo: $b="c"; switch($b){"a"{"Es a"} "b"{"Es b"} "c"{"Es c"}} Iteración: bucles Bucle while: while ( ){ } Bucle do: do { } while ( ) do { } until ( } Bucle for: for ( ; ; ) { } Ejemplo: for ($i = 1; $i -le 10; $i++) {$i} Bucle foreach: foreach ($ in $ ){ } Ejemplo: $letras=a,b,c,d; foreach($letra in $letras){$letra} 2. Generalidades de PowerShell

22 Administrador de Redes 22 Práctica 1: 1.1. Calcular la media de 3 números a introducir (como parámetros o por petición) 1.2. Intercambiar 2 variables 1.3. Sumar los 20 primeros números naturales 1.4. Leer dos números y escribir el mayor 1.5. Calcular el factorial de un número 1.6. Escribir la tabla de multiplicar de un número que se pida 1.7. Calcular los divisores de un número Práctica 2: 2.1. Calcular las raíces de una ecuación de 2º grado 2.2. Calcular el área de un círculo 2.3. Indicar el número de horas y responder semanas, días y horas 2.4. Solicitar una letra e informar si es vocal 2.5. Decir si un número es o no primo 2. Generalidades de PowerShell

23 Administrador de Redes Command Lets (cmdlets)

24 Administrador de Redes 24 Comandos de PowerShell = cmdlets Convención de nomenclatura: verbo-sustantivo param1 arg1 param2 arg2 Verbo = acción Sustantivo = objeto sobre el que recae la acción Opcionalmente, se especifican parámetros con argumentos Ejemplos: Get-Help Get-Help –detailed Get-Command Get-Command –Verb Get Get-Command –Noun Service Get-Service Acciones: Get: obtener información o listado Set: escribir un valor Stop/Start/Suspend/Restart New, Resume… 3. cmdlets

25 Administrador de Redes 25 Parámetros comunes -WhatIf (qué pasaría si…) -Confirm (pregunta antes de ejecutar) -Detailed (más detalles) -Debug (información sobre depuración) -ErrorAction (realiza una acción cuando se producen errores) -ErrorVariable (usa una variable para mantener información de error = $Error) -OutVariable (variable que almacena la información de salida -OutBuffer (mantener nº de objetos antes de llamar al cmdlet siguiente) Ejemplos: Set-ExecutionPolicy Unrestricted –WhatIf Set-ExecutionPolicy Unrestricted –Confirm 3. cmdlets

26 Administrador de Redes 26 Get-Command Da información básica de los cmdlets y otros comandos u objetos Sintaxis: Get-Command –param1 arg1… Parámetros: -Verb: cmdlets con el verbo indicado -Noun: cmdlets con el sustantivo indicado Get-ChildItem Muestra los elementos (principales y secundarios) de una o varias ubicaciones Se utiliza para sistema de archivos (alias dir, registro, certificados, AD…) Sintaxis: Get-ChildItem –param1 arg1… Parámetros: -Path string (con comodines) -Include string / -Exclude String -Name (solo el nombre) -Recurse (recursivo) Alias: gci, ls, dir 3. cmdlets

27 Administrador de Redes 27 Get-Member Da información acerca de los miembros de objetos Por ejemplo métodos y propiedades Ejemplo: Get-ChildItem |Get-Member Parámetro importante: -MemberType Valores posibles: Aliasproperty, Codeproperty, Property, Noteproperty, Scriptproperty, Properties, PropertySet, Method, Codemethod, Scriptmethod, Methods, Parametrizedproperty, Memberset y All Get-Executionpolicy Indica la directiva de seguridad de ejecución de PowerShell Puede tener los valores: Restricted, allsigned, remotesigned o unrestricted Set-ExecutionPolicy Cambia la directiva de ejecución El parámetro –executionpolicy define la directiva con su argumento 3. cmdlets

28 Administrador de Redes 28 Práctica 3: 3.1. Obtener un listado de los comandos cuyo verbo sea new 3.2. Obtener un listado de comandos de Process 3.3. Listado de comandos cuyo verbo sea Set y el nombre empiece por L 3.4. Mostrar los servicios, detener el servicio Audio de Windows confirmando la acción, mostrar los servicios (tanto en PowerShell como en Services de Windows) y arrancar de nuevo el servicio en modo Debug Práctica 4: 4.1. Listar el directorio c:\windows\system32\drivers\etc 4.2. Mostrar los archivos de c:\windows que empiecen por a 4.3. Listar los archivos de texto (.txt) que se encuentren en c:\windows y sus subdirectorios 4.4. Crear un fichero listado.txt en el que se incluyan todos los ficheros ejecutables (.exe) que haya en el disco duro y en otra unidad (CD, por ejemplo) 4.5. Mostrar los objetos del registro hkcu:\HKEY_CURRENT_USER\Software\Macromedia" 3. cmdlets

29 Administrador de Redes Formatear la salida

30 Administrador de Redes 30 Trabajar con tuberías (sin ser fontanero) Ejemplo: Get-Command -verb "Set"|Format-List Dar formato a la salida: Format-Table (ft): Presenta la salida en filas y columnas Opción por defecto si lo puede presentar Ejemplo: Get-ChildItem C:\Windows |Format-Table Parámetro –Autosize Format-List (fl) Presentación en lista con más información y sin contar (si queremos todos agregamos * Por defecto los elementos : Name, CreationTime, LastWriteTime y LastAccessTime Personalizable mediante el parámetro –property para añadir otra información (por ejemplo, FullName, CreationTime, LastWriteTime, …) Ejemplo: Get-ChildItem C:\Windows -Recurse | Format-List -Property FullName,CreationTime,LastWriteTime Format-Wide (fw) Lista comprimida a varias columnas Parámetros: Autosize, Column, Groupby… Format-Custom (personalizada) 4. Formatear la salida

31 Administrador de Redes 31 Filtrando y ordenando Group-Object Permite formatear la salida agrupando por alguna propiedad Muestra el nombre, el número y el grupo Ejemplos: Get-Process |Group-Object Company Get-EventLog System |Group-Object EventId Sort-Object Ordena la salida por la columna o propiedad indicada Pueden indicarse varias separadas por comas Parámetros: -property, -casesensitive, descending… Ejemplos Get-Command |Sort-Object –descending Get-EventLog System | Group-Object eventid | Sort-Object Count –descending get-childitem | sort-object -property LastWriteTime > ordenado.txt Where-Object Filtra la salida con los elementos que cumplen la condición Sintaxis: cmd-let | where-objetc {$_.propiedad –comparador expresión*} Ejemplos get-command | where-object {$_.Name -like get-*} get-childitem | where-object {$_.Length -ge 10000} 4. Formatear la salida

32 Administrador de Redes 32 Salida ConvertTo-HTML La salida se genera en HTML Se puede reenviar a un archivo, bien con el redireccionador > o con | out-file name.html Puedes abrir el archivo con Invoke-Item name.html Ejemplos: Get-Process | ConvertTo-html | out-file Processes.html Export-CSV La salida del comando se exporta a un archivo de texto separado por comas (CSV) Ejemplos Get-Process | Export-CSV Processes.csv Out-GridView La salida se obtiene en un objeto gráfico de tipo rejilla (gridview) Ejemplos get-Process | Out-GridView Out-Printer La salida se envía a una impresora que debe especificarse como argumento Ejemplos get-Process | Out-Printer PDFCreator 4. Formatear la salida

33 Administrador de Redes 33 Práctica 5: 5.1. Obtener un listado de los archivos de c:\archivos de programa que empiecen por A en todos los subdirectorios y presentarlo en forma de tabla autoajustada 5.2. Obtener un listado de los archivos *.txt que haya en c:\windows en forma tabular autoajustada, incluyendo el nombre, tamaño, fecha de creación, extensión y su nombre completo 5.3. Presentar en forma de lista los archivos de c:\windows\system32 que sean ejecutables (exe, com, bat, …) mostrando el nombre, tamaño, extensión y si es de solo lectura 5.4. Mostrar en forma de lista los archivos de c:\archivos de programa y todos sus subdirectorios que tengan extensión.exe,.dll o.ini, agrupándolos por su extensión 5.5. Presentar en 4 columnas el nombre de los archivos de c:\Windows que empiecen por A o por E, incluyendo sus subdirectorios 4. Formatear la salida

34 Administrador de Redes 34 Práctica 6: 6.1. Mostrar el número de eventos de aplicación agrupados por el tipo de entrada Pista: Get-EventLog 6.2. Listar en forma de tabla el número de archivos de cada tipo de extensión que hay en el directorio c:\windows\system32, ordenados por la extensión 6.3. Listar los archivos que hay en el directorio c:\windows\log y sus subdirectorios que tengan un tamaño mayor de 100 kB, en forma de lista con las propiedades nombre, tamaño, extensión y fecha de creación 6.4. Obtener un listado a 3 columnas de los archivos de c:\windows y sus subdirectorios que tengan tamaño mayor de 2 MB y la fecha de último acceso esté entre los últimos 7 días 6.5. Mostrar agrupados por la categoría del evento, los eventos de seguridad de nuestra máquina que han sucedido en los últimos 3 días, ordenados de mayor a menor por el número que se haya producido (prueba también a agrupar por el mensaje) 4. Formatear la salida

35 Administrador de Redes 35 Práctica 7: 7.1. Obtener un listado de los archivos de c:\windows\ con extensión.ini o.log y generarlo en HTML para lanzarlo en un navegador 7.2. Sacar un listado en formato CSV de los procesos que se están corriendo en la máquina ordenados de forma descendente por el uso de procesador. Abrirlo en Excel Sacar la lista de los servicios que estén detenidos ordenados por el site y mostrados en un objeto GridView 7.4. Imprimir en un PDF el listado en forma de tabla de los programas que aparecen en Agregar/Quitar programas de Windows, quitando las actualizaciones. Pistas: esta opción está en la clave de registro HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\ Las actualizaciones tienen la clave comanzando por { 7.5. Listar las unidades de disco (reales) que tenga tu equipo y generar con ellas una página web Pista (Get-PSDrive da las unidades) 4. Formatear la salida

36 Administrador de Redes Proveedores PowerShell

37 Administrador de Redes 37 ¿Qué es esto? Son programas que nos permiten trabajar con almacenes de datos como si fueran unidades montadas. Sistema de archivos, registro, certificados… ¿Con qué? 5. Proveedores de PowerShell This translates to being able to use the same cmdlets as working with files and folders, which are shown in the table below.

38 Administrador de Redes 38 Get-PSProvider Obtiene una lista de los proveedores Get-PSDrive: Unidades PSDrive Para unidades de disco Get-PSDrive Muestra las unidades disponibles Ejemplo: Get-PSDrive –Provider FileSystem Alias Lo podemos tratar como otro proveedor (ya lo veremos) Ejemplos: Set-Localtion Alias: Get-ChildItem Get-ChildItem | Get-Member Variables de entorno (Proveedor env) Accede a las variables de entorno del sistema (propiedades de Mi PC) Ejemplo: Set-Location Env: ; Get-ChildItem Obtener una variable: Get-ChildItem OS Crear una variable: New-Item -Path. –Name Variable1 – Value Texto de la variable 5. Proveedores de PowerShell

39 Administrador de Redes 39 Proveedor Sistema de Archivos De forma predeterminada Permite trabajar con el sistema de archivos (crear, modificar, eliminar archivos y carpetas) Get-ChildItem, 1ª columna: d = directorio a = archivo r = sólo lectura h = oculto s = de sistema Get-ChildItem –force : muestra los ocultos también Creando: Directorios: New-Item –Path C:\Nuevo – Type Directory Archivo: New-Item –Path C:\Nuevo\Archivo.txt –Type File Si no indicas el tipo te lo pregunta Moviendo: Move-Item –Path C:\Nuevo\Archivo.txt C:\ Move-Item –Path C:\Nuevo C:\NuevoDir 5. Proveedores de PowerShell

40 Administrador de Redes 40 Proveedor Sistema de Archivos Renombrando (también con Move) Rename-Item –Path C:\Archivo.txt C:\NuevoFile.txt Rename-Item –Path C:\NuevoDir C:\Direc Borrando archivos y directorios Remove-Item –Path C:\NuevoFile.txt –Confirm Remove-Item –Path C:\Direc Contenido de un archivo Obtener el contenido: Get-content C:\Windows\System32\drivers\etc\services Obtener el contenido línea a línea: Get-content C:\Windows\System32\drivers\etc\services |ForEach-Object {write-host $i "" $_; $i++} Escribir en un archivo: Set-Content –Path C:\Archivo.txt –Value Hola, caracola Añadir a un archivo: Add-Content –Path C:\Archivo.txt –Value Adios 5. Proveedores de PowerShell

41 Administrador de Redes 41 Proveedor Funciones Accede a las funciones de PowerShell Set-Location Function: Get-ChildItem Viendo el código de una función Get-Content Path El proveedor de Registro de Windows Podemos conectar con dos ramas: HKCU: HKEY_CURRENT_USER HKLM: HKEY_LOCAL_MACHINE Para: navegar, buscar, crear claves, eliminar claves, añadir valores, modificar valores y administrar ACL (Access Control Lists) Navegar Set-Location HKLM: Get-ChildItem Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion Obtener entradas Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion 5. Proveedores de PowerShell

42 Administrador de Redes 42 El proveedor de Registro de Windows Podemos conectar con dos ramas: HKCU: HKEY_CURRENT_USER HKLM: HKEY_LOCAL_MACHINE Para: navegar, buscar, crear claves, eliminar claves, añadir valores, modificar valores y administrar ACL (Access Control Lists) Navegar Set-Location HKLM: Get-ChildItem Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion Obtener entradas Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion Crear una entrada: New-Item –path HKLM:\SOFTWARE\Test –Value Hola caracola Verificar su existencia: Get-ChildItem HKLM:\SOFTWARE\T* Verla: Get-ItemProperty –Path HKLM:\SOFTWARE\Test Borrar una entrada: Remove-Item HKLM:\SOFTWARE\Test 5. Proveedores de PowerShell

43 Administrador de Redes 43 Proveedor Variables Conectar: Set-Location Variable: Get-ChildItem Listar información de una variable: Poner su nombre: $PSHome Crear una variable definida por el usuario New-Item Variable –Value Valor Equivalente a Set-Variable Variable2 –value Valor 2 O $Variable3 = Valor 3 Borrar variables Remove-Item Variable,Variable2,Variable3 Proveedor Certificados Accede al almacén de certificados Set-Location Cert: Get-ChildItem Get-ChildItem –Recurse |Export-CSV C:\Certificados.csv ; Invoke-Item C:\Certificados.csv 5. Proveedores de PowerShell

44 Administrador de Redes 44 Práctica 8: 8.1. Mostrar todos los proveedores y todas las unidades accesibles 8.2. Mostrar todos los alias que trabajen con Object e Item, ordenados por su nombre 8.3. Indicar el nombre de la máquina, el sistema operativo, el identificador de procesador, número de procesadores y nombre de usuario 8.4. Crear una variable de entorno llamada HoraAct que contenga la hora de ese momento. Mostrarla, borrarla y volver a mostrar todas las variables de entorno. Práctica 9: 9.1. Bajo C:\ crear la estructura de directorios siguiente: C:\PRACTICASENEROSISTEMASDESARROLLOTEMA1TEMA2FEBREROPROGRAMACIONPRACTICA1PRACTICA2SISTEMASTEMA8TEMA9TEMA10 5. Proveedores de PowerShell

45 Administrador de Redes 45 Práctica 10: Crear un archivo de texto llamado Ejemplo1.txt en el directorio PRACTICA Renombrar el archivo creado a Ej_1_1.txt y moverlo al directorio FEBRERO Crear otro archivo de texto llamado Ej_2_1.txt que tenga el texto Hola, caracola en el directorio TEMA Mover el directorio PROGRAMACION de FEBRERO a ENERO, incluyendo sus subdirectorios, claro Copiar el archivo Ej_2_1.txt al directorio SISTEMAS de ENERO, con el nombre Ej_3.1.txt Añadir el texto Adios, caraculo al Ej_3.1.txt Borrar el archivo Ej_2.1.txt confirmando el borrado Renombrar los directorios PRACTICA1 y PRACTICA2 por LABORES1 y LABORES Borrar el directorio SISTEMAS con todos los subdirectorios y archivos que contenga 5. Proveedores de PowerShell

46 Administrador de Redes 46 Práctica 11: Indicar cuantos servicios aparecen listados en el fichero C:\Windows\System32\drivers\etc\services Contar la cantidad de servicios TCP y UDP hay en el fichero indicado anteriormente Trabajo con un fichero de log: Descargar el fichero access_log de gestion.com/PdeS/access_log.gzhttp://cursos.integra- gestion.com/PdeS/access_log.gz Indicar los días que comprende el fichero, mostrando el primer y último acceso Decir cuántas petición GET hay y cuántas POST Indicar cuántas visitas hay por sistema operativo (Windows, Linux u otros) Mostrar cuáles son las 10 páginas más visitadas Indicar el número de entradas según el código de respuesta del servidor Calcular la suma de bytes transferidos por día Con todos los puntos anteriores, hacer un informe en HTML que se mostrará en el navegador. 5. Proveedores de PowerShell

47 Administrador de Redes 47 Práctica 12: Indicar las ramas que tiene el registro en HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion Mostrar los programas que se inician cuando arranca tu ordenador (valores de la rama HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run) Crear una entrada en el registro llamada Clave en la rama HKLM:\SOFTWARE\Microsoft con el valor Hola, caracola Mostrar las variables actualmente en uso, crear una nueva MiVariable con el valor 4 y después borrarla. Comprobar que ya no aparece Mostrar un listado en página web de todos los objetos que se encuentren en el almacén de certificados. 5. Proveedores de PowerShell

48 Administrador de Redes El objeto WMI

49 Administrador de Redes 49 WMI = Windows Management Instrumentation (Instrumental de administración de Windows Tecnología de administración en Windows Base de datos de información del sistema Espacio de nombres para scripting, por defecto, root/cimv2 Para ver las clases, propiedades y métodos: WMI Administrative Tool (http://www.microsoft.com/downloads/details.aspx?FamilyID=6430f db-8cc5-f2abdc3ed314&DisplayLang=en)http://www.microsoft.com/downloads/details.aspx?FamilyID=6430f db-8cc5-f2abdc3ed314&DisplayLang=en 6. WMI

50 Administrador de Redes 50 Buscar Clases, Propiedades y Métodos Get-WmiObject –List –Namespace root\cimv2 También para máquina remota Get-WmiObject –List –Namespace root\cimv2 –ComputerName WIN2008 Mostrar propiedades y métodos de una clase Get-WmiObject -Class Win32_Processor -Namespace root\CIMV2 | Get-Member Ejemplo de uso (Práctica 13) Me piden los datos de fabricante, modelo y número de serie de una máquina, la información de la BIOS, el tipo de Sistema Operativo, la información de la CPU (fabricante, tipo, velocidad,…), cantidad de memoria, información de disco, red… Sintaxis: Get-WmiObject -Class [classname] -NameSpace [namespace] -ComputerName [ComputerName] Clases: Win32_ComputerSystem, Win32_BIOS, Win32_OperatingSystem, Win32_Processor, Win32_DiskDrive, Win32_NetworkAdapterConfiguration Ver Ej_13.ps1 6. WMI

51 Administrador de Redes 51 Trabajar con métodos Realizan acciones Práctica 14.1 Modificar el adaptador de red para que obtenga la dirección IP automáticamente por DHCP Métodos de la clase Win32_NetworkAdapterConfiguration: DisableIPSec, EnableDHCP, EnableIPSec, EnableStatic, ReleaseDHCPLease, RenewDHCPLease, SetDNSDomain, SetDNSServerSearchOrder, SetDynamicDNSRegistration, SetGateways, SetIPConnectionMetric, SetIPXFrameTypeNetworkPairs, SetTcpipNetbios, SetWINSServer, ConvertFromDateTime, ConvertToDateTime, Delete, GetType, Put Ver Ej_14.1.ps1 Práctica 14.2 Modificar el adaptador de red para incluirle todos los datos IP (dirección, máscara, gateway, DNS, …) Recordar ver métodos y propiedades: Get-WmiObject Win32_NetworkAdapterConfiguration|Get-Member Realizar informes con los datos Recordar el reenvío a archivos (Práctica 15.1) Realizar un informe completo de los adaptadores de red y crear con él un fichero de texto Informes a Excel (Práctica 15.2) Realizar un informe de los discos en celdas de una hoja de cálculo 6. WMI

52 Administrador de Redes Trabajar con Active Directory

53 Administrador de Redes 53 Objeto Active Directory: La forma de acceso más sencilla es con el ADSI (Active Directory Service Interfaces) Conectamos con ADSI a través de proveedores: WinNT (locales) LDAP (Servidores, Exchange o AD) 7. Trabajar con Active Directory

54 Administrador de Redes 54 Cuentas locales: Conectaremos con el proveedor WinNT: Datos de conexión: $conexion = [ADSI]WinNT://MAQUINA Trabajo con grupos locales Listar los grupos locales $conexion = [ADSI]WinNT://. $conexion.PSBase.Children | Where {$_.PSBase.SchemaClassName –eq group} | foreach{$_.Name} Listar miembros de un grupo $conexion = [ADSI]WinNT://./Administradores,group $conexion.PSBase.Invoke(Members) | foreach{$_.GetType().InvokeMember(Name,GetProperty,$null,$_,$null)} (o AdsPath) Añadir un miembro a un grupo $conexion = [ADSI]WinNT://./Administradores,group $conexion.Add(WinNT://UsuarioX) Eliminar un miembro de un grupo $conexion = [ADSI]WinNT://./Administradores,group $conexion.Remove(WinNT://UsuarioX) 7. Trabajar con Active Directory

55 Administrador de Redes 55 Trabajo con grupos locales (continuación) Crear un grupo local $conexion = [ADSI]WinNT://. $objGrupo = $conexion.Create(group, Nombre_Grupo) $objGrupo.Put(Description, Descripción que quieras) $objGrupo.SetInfo() Eliminar un grupo $conexion = [ADSI]WinNT://. $conexion.Delete(group, Nombre_Grupo) Modificar un grupo: Renombrar: $conexion = [ADSI]WinNT://./GrupoViejo,group $conexion.psbase.Rename(GrupoNuevo) $conexion.SetInfo() Otras propiedades: $conexion = [ADSI]WinNT://./NombreGrupo,group $conexion.Put(Description,Texto de la descripción) $conexion.SetInfo() 7. Trabajar con Active Directory

56 Administrador de Redes 56 Trabajo con usuarios locales Listado de usuarios $conexion = [ADSI]WinNT://. $conexion.PSBase.Children | Where ($_.PsBase.SchemaClassName –eq user} | ForEach{$_.Name} Crear un usario local $conexion = [ADSI]WinNT://. $objUser = $conexion.Create(user, Nombre_Usuario) $objUser.SetPassword(contraseña) $objUser.PSBase.InvokeSet(Description, Descripción a rellenar) $objUser.SetInfo() Modificar un usuario local Algunas propiedades: $conexion = [ADSI]WinNT://./Usuario,user $conexion.PSBase.InvokeSet(Propiedad,Valor) $conexion.SetInfo() Propiedades: Description, FullName, UserFlags, HomeDirectory, HomeDirDrive, Profile, LoginScript, PasswordAge, PasswordExpired, … Hay más propiedades, podemos intentar ver sus nombres con: $conexion = [ADSI]WinNT://./Usuario,user Sconexion.PSAdapted 7. Trabajar con Active Directory

57 Administrador de Redes 57 Trabajo con usuarios locales (continuación) Activar/Desactivar una cuenta $user = [ADSI]WinNT://./NombreUsuario,user $user.PSBase.InvokeSet(AccountDisabled, $True) $user.PSBase.CommitChanges() Eliminar un usario local $conexion = [ADSI]WinNT://. $conexion.Delete(user,NombreUsuario) 7. Trabajar con Active Directory

58 Administrador de Redes 58 Práctica 16. Grupos locales Listar todos los grupos locales Mostrar los miembros del grupo Administradores local Crear el grupo local Contabilidad Modificar la descripción del grupo Contabilidad poniendo Grupo de usuarios del programa de Contabilidad Renombrar el grupo Contabilidad por Finanzas Práctica 17. Cuentas locales Mostrar todos los usuarios locales Crear el usuario local aperez, con nombre completo Antonio Pérez y contraseña Pa$$w0rd Añadir el usuario aperez al grupo Finanzas Mostrar todas las propiedades del usuario aperez Cambiar el directorio de usuario a C:\Users\aperez e indicar que su script de inicio de sesión es C:\Users\scripts\aperez.cmd Añadir a aperez al grupo Administradores y quitarlo de Finanzas 7. Trabajar con Active Directory

59 Administrador de Redes 59 Práctica 18. Usuarios y grupos locales Crear los grupos, con su descripción, que se presentan en el fichero Crear los usuarios locales indicados en el fichero gestion.com/AdeR/material/Usuarios_KKFU_SA.txt, teniendo en cuenta que el fichero presenta la separación de campos por el carácter | y que los campos están delimitados por gestion.com/AdeR/material/Usuarios_KKFU_SA.txt Asignar a cada usuario un script de inicio de sesión con el nombre usuario.cmd en el directorio C:\Users\scripts Asignar a cada usuario los grupos a los que pertenece (fichero delimitado por ;) Crear los scripts de inicio de sesión de cada uno, teniendo en cuenta que tendrán que conectarse a un recurso compartido denominado con el nombre del grupo al que pertenecen 7. Trabajar con Active Directory

60 Administrador de Redes 60 Práctica 18. Usuarios y grupos locales (continuación) Desactivar las cuentas de los usuarios que pertenecen al grupo Logística Eliminar las cuentas de los usuarios del grupo Servicios Desasignar los usuarios del grupo Ingeniería y luego renombrar el grupo por Ingeniería e Imasdé Cambiar el nombre de inicio de sesión de los siguientes usuarios: Cristóbal Carbajal (ccarbajal) cristobal Manuel Rodríguez (mrodriguez) manolo Remedios Iglesias (riglesias) queremedio Realizar los siguientes listados: Usuarios de los grupos Administración y Contabilidad Grupos a los que pertenece Berta Asensio Todos los usuarios en un fichero de texto separado por ; Todos los grupos en un fichero de texto separado por tabulador Cada usuario con sus grupos en un fichero de texto separado por | y delimitado por Eliminar a los usuarios cuyo nombre empieza por M Eliminar el grupo Servicios 7. Trabajar con Active Directory

61 Administrador de Redes 61 Cuentas en Active Directory Domain Services (AD DS) Acceso al servicio y a sus objetos Usaremos LDAP: en vez de WinNT: Podemos acceder a UO, grupos y usuarios Debemos conocer el DN (Distinguished Name) de los objetos Tipos de acceso: Local: $conexion = [ADSI]LDAP://dominio_IP/… Remoto: $conexion = New-Object System.DirectoryServices.DirectoryEntry(LDAP://dominio_IP/…,usuario,contraseña) Espacio de nombres de AD Nombres en la estructura jerárquica LDAP Nombre completo (DN): CN= Pepe Pérez,OU=Dirección,DC:nombredominio,DC=com Nombre relativo (RDN): Pepe Pérez Nombre común (CN): Pepe Pérez Nombre en versión canónica (DC): DC=com/DC=nombredominio/OU=Dirección/CN=Pepe Pérez Nombre en versión canónica 2: nombredominio.com/Dirección/Pepe Pérez Nombre de usuario principal (UPN): Nombre de bajo nivel (Cuenta SAM): Nombredominio\pperez o pperez 7. Trabajar con Active Directory

62 Administrador de Redes 62 Cuentas en Active Directory Domain Services (AD DS) Acceso a usuarios: $objUser = [ADSI]LDAP://CN=Usuario,CN=Users,DC=dominio,DC=com $objUser = [ADSI]LDAP://CN=User,OU=Bilbao,OU=Admon,DC=dominio,DC=com $objUser = New-Object System.DirectoryServices.DirectoryEntry ('LDAP://IP_Dom/CN=Usuario,CN=Users,DC=ps,DC=dom','Administrador','Pa$$w0rd') Acceso al raíz del dominio: $objDom = [ADSI]LDAP://DC=dominio,DC=com Si es local: $objDom = [ADSI] $objDom = New-Object System.DirectoryServices.DirectoryEntry ('LDAP://IP_Dom','Administrador','Pa$$w0rd') Acceso al catálogo global: $objCat = [ADSI]GC://DC=dominio,DC=com $objCat = New-Object System.DirectoryServices.DirectoryEntry (GC://IP_Dom','Administrador','Pa$$w0rd') 7. Trabajar con Active Directory

63 Administrador de Redes 63 Cuentas en Active Directory Domain Services (AD DS) El acceso se efectúa fundamentalmente buscando objetos con la clase.NET DirectorySearcher $objDom = [ADSI]LDAP://dom_IP $objBusqueda = New-Object System.DirectoryServices.DirectorySearcher($objDom) DirectorySearcher: Propiedades: CacheResults, ServerTimeLimit, Filter, SearchScope, PageSize, PropertiesToLoad Métodos: FindOne, FindAll Ejemplo: Mostrar todos los objetos del Directorio: $objDom = [ADSI]LDAP://dom_IP $objBusqueda = New-Object System.DirectoryServices.DirectorySearcher($objDom) $objBusqueda.FindAll() Lista de Unidades Organizativas: $objDom = [ADSI]LDAP://dom_IP $objBusqueda = New-Object System.DirectoryServices.DirectorySearcher($objDom) $objBusqueda.Filter=(objectCategory=OrganizationalUnit) $objBusqueda.FindAll() |Format-List ¿Sintaxis de los filtros? 7. Trabajar con Active Directory

64 Administrador de Redes 64 Cuentas en Active Directory Domain Services (AD DS) Lista de Usuarios: $objDom = [ADSI]LDAP://dom_IP $objBusqueda = New-Object System.DirectoryServices.DirectorySearcher($objDom) $objBusqueda.Filter=(&(objectCategory=Person)(objectClass=user)) $objBusqueda.FindAll() |Format-List Lista de Grupos: $objDom = [ADSI]LDAP://dom_IP $objBusqueda = New-Object System.DirectoryServices.DirectorySearcher($objDom) $objBusqueda.Filter=(objectCategory=group) $objBusqueda.FindAll() |Format-List Tipos de grupo: 2 Grupo Global 4 Grupo Local 8 Grupo Universal Grupo de Seguridad $objBusqueda.Filter=(&(objectCategory=group)(GroupType= )) 7. Trabajar con Active Directory

65 Administrador de Redes 65 Cuentas en Active Directory Domain Services (AD DS) Administración de Unidades Organizativas (OU) Crear Unidades Organizativas $objDom = [ADSI]LDAP://dom_IP $objOU = $objDom.Create(organizationalUnit,OU=Aragón) $objOU.Put(description,Comunidad Aragonesa) $objOU.SetInfo() Renombrar Unidades Organizativas: $objDom = [ADSI]LDAP://dom_IP $objDom.MoveHere(LDAP://OU=Aragón,DC=ps,DC=dom,OU=Comunidad Aragón) Mover un grupo a una Unidad Organizativa $objOU = [ADSI]LDAP://dom_IP/OU=Comunidad Aragón,DC=ps,DC=dom $objOU.MoveHere('LDAP://CN=Grupo,OU=Zaragoza,DC=ps,DC=dom','CN=Gropusculo') Mover un usuario a una Unidad Organizativa $objOU = [ADSI]LDAP://dom_IP/OU=Comunidad Aragón,DC=ps,DC=dom $objOU.MoveHere('LDAP://CN=Usuario,OU=Zaragoza,DC=ps,DC=dom','CN=User') Mover una Unidad Organizativa a otra $objOU = [ADSI]LDAP://dom_IP/OU=Comunidad Aragón,DC=ps,DC=dom $objOU.MoveHere('LDAP://OU=Zaragoza,DC=ps,DC=dom',OU=Zaragoza') Eliminar una Unidad Organizativa $objOU = [ADSI]LDAP://dom_IP $objOU.Delete('LDAP://OU=Comunidad Aragón,DC=ps,DC=dom') 7. Trabajar con Active Directory

66 Administrador de Redes 66 Cuentas en Active Directory Domain Services (AD DS) Administración de Grupos Sobre grupos: Clasificación en cuanto a finalidad: Grupos de distribución: sólo para listas de correo Grupos de seguridad: además de distribución, permisos de acceso y derechos Clasificación en cuanto a ámbito de visibilidad (en W2003 o posterior): Grupos locales: se refiere a locales de una máquina y no pueden pasar de ahí Grupos locales de dominio: visibles en su propio dominio; pueden tener como miembros a usuarios y equipos, y grupos globales y universales u otros grupos locales de dominio. No pueden tener de otros dominios. Se ven en todos los equipos del dominio (no en W2000 o anterior) Grupos globales: miembros de su propio dominio (usuarios, equipos y grupos globales); pueden pertenecer a grupos locales (de equipo y de dominio) y se les puede asignar derechos y permisos en recursos de otros dominios. Grupos universales: miembros de cualquier dominio del bosque (usuarios, equipos, grupos universales y globales). Se puede dar permisos y derechos en recursos de cualquier dominio. Pueden pertenecer a grupos locales o universales de cualquier dominio del bosque. Uso: Hacer pertenecer a usuarios y equipos a grupos globales Incluir los grupos globales en locales Asignar permisos a los grupos locales 7. Trabajar con Active Directory

67 Administrador de Redes 67 Cuentas en Active Directory Domain Services (AD DS) Administración de Grupos Crear un Grupo Global $objOU = [ADSI]LDAP://dom_IP/OU=Comunidad Aragón,DC=ps,DC=dom $objGrupo = $objOU.Create(group,CN=Teruel) $objGrupo.Put(SAMaccountname,Teruel) $objGrupo.Put(description,Provincia de Teruel) $objGrupo.SetInfo() Crear un Grupo Local de dominio $objOU = [ADSI]LDAP://dom_IP/OU=Comunidad Aragón,DC=ps,DC=dom $objGrupo = $objOU.Create(group,CN=Huesca) $objGrupo.Put(SAMaccountname,Huesca) $objGrupo.Put(groupType, ) $objGrupo.Put(description,Provincia de Huesca) $objGrupo.SetInfo() Crear un Grupo Universal Igual con groupType Trabajar con Active Directory

68 Administrador de Redes 68 Cuentas en Active Directory Domain Services (AD DS) Administración de Grupos Añadir un miembro a un grupo $objGrupo = [ADSI]LDAP://CN=Zaragoza,OU=Comunidad Aragón,DC=ps,DC=dom $objGrupo.Add(LDAP://CN=Manolito,CN=Users,DC=ps,DC=dom) $objGrupo.SetInfo() Añadir varios miembros a un grupo $objGrupo = [ADSI]LDAP://CN=Zaragoza,OU=Comunidad Aragón,DC=ps,DC=dom $objGrupo.Add(LDAP://CN=Manolito,CN=Users,DC=ps,DC=dom) $objGrupo.Add(LDAP://CN=Mafalda,CN=Users,DC=ps,DC=dom) $objGrupo.SetInfo() Renombrar un grupo $objGrupo = [ADSI]LDAP://OU=Comunidad Aragón,DC=ps,DC=dom $objGrupo.MoveHere(LDAP://CN=Teruel,OU=Comunidad Aragón,DC=ps,DC=dom,CN=Teruel) Eliminar un grupo $objGrupo = [ADSI]LDAP://OU=Comunidad Aragón,DC=ps,DC=dom $objGrupo.Delete(group,CN=Teruel) 7. Trabajar con Active Directory

69 Administrador de Redes 69 Cuentas en Active Directory Domain Services (AD DS) Administración de Usuarios Algunas propiedades importantes (General) 7. Trabajar con Active Directory

70 Administrador de Redes 70 Cuentas en Active Directory Domain Services (AD DS) Administración de Usuarios Algunas propiedades importantes (Cuenta) 7. Trabajar con Active Directory

71 Administrador de Redes 71 Cuentas en Active Directory Domain Services (AD DS) Administración de Usuarios Algunas propiedades importantes (Perfil) 7. Trabajar con Active Directory

72 Administrador de Redes 72 Cuentas en Active Directory Domain Services (AD DS) Administración de Usuarios Crear un usuario $objOU = [ADSI]LDAP://OU=Comunidad Aragón,DC=ps,DC=dom $objUser=$objOU.Create(user,CN=Pepe Pérez) $objUser.Put(SAMAccountName,Pperez) $objUser.SetInfo() Asignar una contraseña $objUser = [ADSI]LDAP://CN=Pepe Pérez,OU=Comunidad Aragón,DC=ps,DC=dom $objUser.SetPassword(Pa$$w0rd) $objUser.SetInfo() Activación de una cuenta $objUser = [ADSI]LDAP://CN=Pepe Pérez,OU=Comunidad Aragón,DC=ps,DC=dom $objUser.PSBase.InvokeSet(AccountDisabled,$False) $objUser.SetInfo Lectura y cambio de atributos de cuenta $objUser = [ADSI]LDAP://CN=Pepe Pérez,OU=Comunidad Aragón,DC=ps,DC=dom $objUser.Put(Description,José María Pérez Pérez) $objUser.SetInfo $objUser.Get(Description) $objUser.Description 7. Trabajar con Active Directory

73 Administrador de Redes 73 Cuentas en Active Directory Domain Services (AD DS) Administración de Usuarios Eliminar atributos o escribir atributos multivalor Se hace con PutEx, con los siguientes argumentos: 1º) Acción: 1=eliminar, 2=reemplaza el o los valores especificados, 3=añadir, 4=borra el valor especificado 2º) Nombre del atributo 3º) Valor o valores a definir $objUser = [ADSI]LDAP://CN=Pepe Pérez,OU=Comunidad Aragón,DC=ps,DC=dom $objUser.PutEx(1,Description,$null) $objUser.SetInfo() $objUser = [ADSI]LDAP://CN=Pepe Pérez,OU=Comunidad Aragón,DC=ps,DC=dom $objUser.SetInfo() Eliminar un usuario $objOU = [ADSI]LDAP://OU=Comunidad Aragón,DC=ps,DC=dom $objOU.Delete(user,CN=Pepe Pérez) $usuario = Pepe Pérez $objDom = [ADSI]LDAP://dom_IP $objBus = New-Object System.DirectoryServices.DirectorySearcher($objDom) $objBus.Filter = (&(objectCategory=user)(cn=$usuario)) $resultado = $objBus.FindOne() $OU = $($($resultado.path) – replace CN=$usuario,,) $objOU = [ADSI]LDAP://$OU $objOU.Delete(user,CN=$usuario) 7. Trabajar con Active Directory

74 Administrador de Redes 74 Partimos de trabajar contra un equipo Windows Server 2008 con Directorio Activo ubicado en determinada dirección IP y la administración con PS la haremos de forma remota Práctica 19. Enumeración Conectar con el AD del servidor Mostrar las distintas Unidades Organizativas Listar los grupos de seguridad existentes Listar los grupos globales existentes Mostrar todos los usuarios Práctica 20. Trabajo con Unidades Organizativas Crear las Unidades Organizativas incluidas en el fichero Ej_20_OU.txt. Dicho fichero tiene dos posibles valores por fila, separados por punto y coma (;): el primero presenta el nombre de la OU a crear y el segundo, si existe, la OU en la que debe incluirse (si no está es que cuelga del dominio principal raíz) 7. Trabajar con Active Directory

75 Administrador de Redes 75 Práctica 21. Trabajo con Grupos Crear los Grupos de Seguridad Globales enumerados en el fichero Ej_21_Grupos.txt, que dispone de tres datos en cada fila: nombre del grupo, descripción y OU a la que pertenece. Estos datos están separados por pipeline (|) Práctica 22. Usuarios de AD Crear los Usuarios enumerados en el fichero Ej_22_Usuarios.txt. El fichero contiene un usuario por fila y en cada una de ellas los siguientes datos separados por tabulador: Nombre completo Nombre Apellidos Nombre de usuario Contraseña OU a la que pertenece 7. Trabajar con Active Directory

76 Administrador de Redes 76 Práctica 23. Asignación de usuarios a grupos Asignar los grupos a los usuarios indicados en el fichero Ej_23_Asig.txt. El fichero está compuesto por filas en las que aparece cada usuario con los grupos a los que pertenece (separados por * y entrecomillados). Práctica 24. Trabajo combinado con OU, usuarios y grupos Renombrar la OU Alicante como Zuera y moverla a la OU Zaragoza Mover el grupo Ingeniería del País Vasco a Navarra Mover los usuarios de la OU Calanda a la de Teruel Eliminar la OU Calanda Renombrar el grupo Ingeniería por Ingeniería e I+D+i y mover el grupo a la OU Huesca Práctica 25. Propiedades de los usuarios Indicar como correo electrónico de cada usuario, su nombre de usuario y la OU seguidad de kkfu.com (es decir, del tipo Asignar una contraseña aleatoria de 10 caracteres a los de la OU Navarra Poner como teléfonos de Administración, , y Trabajar con Active Directory

77 Administrador de Redes 77 Práctica 26. Trabajo con usuarios Poner en la descripción de los usuarios del Grupo de Contabilidad una indicación que señale esa pertenencia y la página web Desactivar las cuentas de los usuarios de la OU Teruel y las que cuelgan de ella Indicar como script de inicio de sesión de los usuarios de la OU Aragón (y sus dependientes) un archivo con su nombre de inicio de sesión acabado en.cmd (del tipo usuario.cmd) Crear un grupo llamado Comercial que estará en la OU Zaragoza y cuyos miembros sean los de Utebo Eliminar el grupo Castellón y los usuarios que pertenzcan 7. Trabajar con Active Directory


Descargar ppt "Administrador de Redes 1 Antonio J. Emperador Sau Administrador de Redes Julio 2011 Módulo 3. Programación en PowerShell."

Presentaciones similares


Anuncios Google