├── README.md ├── Sección 1 - Gestión de usuarios y grupos ├── 1.-Gestion de usuarios y grupos.md ├── CreacionUsuarios.ps1 ├── CrearUsuario.ps1 ├── EliminacionUsuarios.ps1 ├── README.md └── usuarios.csv ├── Sección 2 - Gestión de carpetas compartidas ├── 2.-Gestion de carpetas compartidas.md └── 2.2.- Las ACL.pdf ├── Sección 3 - Gestión de discos ├── 3.-Gestion de discos.md ├── CrearDiscoVirtual1.ps1 ├── CrearDiscoVirtual2.ps1 └── README.md ├── Sección 4.- Gestión de la red ├── 4.-Gestion de la red.md ├── ConectividadServidores.ps1 ├── ConfigurarIp.ps1 ├── README.md └── servidores.csv ├── Sección 5.- Gestión procesos y servicios └── 5.-Gestion de procesos y servicios.md ├── Sección 6.- Gestión de tareas programadas ├── 6.-Gestion de tareas programadas.md ├── ApagarOrdenador.ps1 └── README.md ├── Sección 7.- Gestión de impresoras ├── 7.-Gestion de impresoras.md ├── README.md └── brother-hl-2130-8311.zip ├── Sección 8.- Gestión de eventos └── 8.-Gestion de eventos.md ├── Sección 9.- Gestión de WMI-CIM └── 9.-Gestion de WMI-CIM.md └── material ├── ApagarOrdenador.ps1 ├── ConectividadServidores.ps1 ├── ConfigurarIp.ps1 ├── CreacionUsuarios.ps1 ├── CrearDiscoVirtual1.ps1 ├── CrearDiscoVirtual2.ps1 ├── CrearUsuario.ps1 ├── EliminacionUsuarios.ps1 ├── README.md ├── brother-hl-2130-8311.zip ├── servidores.csv └── usuarios.csv /README.md: -------------------------------------------------------------------------------- 1 | # PowerShellAdministradores 2 | PowerShell para Administradores 3 | ## Descripción 4 | Aquí trataremos los siguientes apartados: 5 | 1. La Gestión de usuarios y grupos. 6 | 2. La Gestión de carpetas compartidas. 7 | 3. La Gestión de discos. 8 | 4. La Gestión de la red. 9 | 5. Procesos y servicios. 10 | 6. Tareas programadas. 11 | 7. Impresoras impresoras. 12 | 8. Eventos. 13 | 9. WMI/CIM 14 | 15 | ## Vídeos: 16 | 1. Comandos PowerShell para administradores 17 | 2. Alias en PowerShell 18 | 3. Depurar scripts con Windows PowerShell ISE 19 | 4. Instalar Windows Terminal 20 | 21 | ## Referencias 22 | [OpenWebinars Sistemas](https://openwebinars.net/cursos/sistemas/) 23 | ## Página Web 24 | [Iniciación a la PowerShell](https://mftienda.github.io/PowerShellPrincipiantes) 25 | ## Mi Blog 26 | [Blog](https://madoti.wordpress.com/) -------------------------------------------------------------------------------- /Sección 1 - Gestión de usuarios y grupos/1.-Gestion de usuarios y grupos.md: -------------------------------------------------------------------------------- 1 | # PowerShell para administradores 2 | ## 1.-Gestión de usuarios y grupos. 3 | 4 | **Gestión de usuarios**: 5 | 6 | Get-LocalUser: muestra las cuentas de usuarios locales. 7 | 8 | New-LocalUser: Crea una nueva cuenta de usuario local. 9 | 10 | Set-LocalUser: Establece o modifica una propiedad de una cuenta de usuario local. 11 | 12 | Rename-LocalUser: Renombra una cuenta de usuario local. 13 | 14 | Disable-LocalUser: Desactiva una cuenta de usuario local. 15 | 16 | Enable-LocalUser: Activa una cuenta de usuario local. 17 | 18 | Remove-LocalUser: Elimina una cuenta de usuario local. 19 | 20 | 21 | **Gestión de grupos** 22 | 23 | Get-LocalGroup: muestra los grupos locales. 24 | 25 | New-LocalGroup: Crea un nuevo grupo local. 26 | 27 | Set-LocalGroup: Establece o modifica una propiedad de un grupo local. 28 | 29 | Rename-LocalGroup: Renombra un grupo local. 30 | 31 | Remove-LocalGroup: Elimina un grupo local. 32 | 33 | Get-LocalGroupMember: Muestra los miembros de un grupo. 34 | 35 | Add-LocalGroupMember: Agrega un miembro a un grupo. 36 | 37 | Remove-LocalGroupMember: Elimina un miembro de un grupo local. 38 | 39 | -------------------------------------------------------------------------------- /Sección 1 - Gestión de usuarios y grupos/CreacionUsuarios.ps1: -------------------------------------------------------------------------------- 1 | #Creación de usuarios de forma masiva 2 | $usuarios= Import-Csv -Path C:\material\usuarios.csv 3 | foreach ($i in $usuarios){ 4 | 5 | $clave= ConvertTo-SecureString $i.contra -AsPlainText -Force 6 | New-LocalUser $i.nombre -Password $clave -AccountNeverExpires -PasswordNeverExpires 7 | Add-LocalGroupMember -Group usuarios -Member $i.nombre 8 | } -------------------------------------------------------------------------------- /Sección 1 - Gestión de usuarios y grupos/CrearUsuario.ps1: -------------------------------------------------------------------------------- 1 | #Creación de un usuario 2 | Clear 3 | $usuario=Read-Host "Introduce nombre de usuario" 4 | $contra=Read-Host "Introduce contraseña" -AsSecureString 5 | New-LocalUser $usuario -Password $contra 6 | Add-LocalGroupMember usuarios -Member $usuario -------------------------------------------------------------------------------- /Sección 1 - Gestión de usuarios y grupos/EliminacionUsuarios.ps1: -------------------------------------------------------------------------------- 1 | #Eliminación de usuarios de forma masiva 2 | $usuarios= Import-Csv -Path C:\material\usuarios.csv 3 | foreach ($i in $usuarios){ 4 | Remove-LocalUser $i.nombre 5 | } -------------------------------------------------------------------------------- /Sección 1 - Gestión de usuarios y grupos/README.md: -------------------------------------------------------------------------------- 1 | # Gestión de Usuarios y Grupos 2 | 3 | ## Ejercicio 1:CrearUsuario.ps1 4 | Creación de un script que nos facilite crear una cuenta de usuario. 5 | Nos pregunta el nombre de usuario y contraseña. 6 | Nos crea la cuenta de usuario y nos añade el usuario al grupo de usuarios. 7 | 8 | ## Ejercicio 2:CreacionUsuarios.ps1 9 | Creación de un script que nos facilite la creación masiva de usuarios. 10 | Tenemos los datos de los usuarios en un archivo llamado: usuarios.csv, que lo podemos realizar con el bloc de notas. 11 | 12 | ## Ejercicio 3:EliminacionUsuarios.ps1 13 | 14 | Creación de un script que nos facilite la eliminación masiva de usuarios. 15 | Tenemos los datos de los usuarios en un archivo llamado: usuarios.csv, que lo podemos realizar con el bloc de notas. 16 | -------------------------------------------------------------------------------- /Sección 1 - Gestión de usuarios y grupos/usuarios.csv: -------------------------------------------------------------------------------- 1 | nombre,contra 2 | usuario01,usuario01 3 | usuario02,usuario02 4 | usuario03,usuario03 5 | usuario04,usuario04 -------------------------------------------------------------------------------- /Sección 2 - Gestión de carpetas compartidas/2.-Gestion de carpetas compartidas.md: -------------------------------------------------------------------------------- 1 | # PowerShell para administradores 2 | ## 2.-Gestión de carpetas compartidas. 3 | 4 | **Gestión de carpetas compartidas**: 5 | 6 | Get-SmbShare: muestra las carpetas compartidas. 7 | 8 | New-SmbShare: Crea una carpeta compartida. La carpeta debe existir. 9 | 10 | Set-SmbShare: Establece o modifica una propiedad de la carpeta comartida. 11 | 12 | Remove-SmbShare: Elimina una carpeta compartida. 13 | 14 | 15 | **Gestión de permisos de acceso a la carpeta compartida** 16 | 17 | Get-SmbShareAccess: muestra los permisos asignados a una carpeta compartida. 18 | 19 | Grant-SmbShareAccess: añade permisos del tipo **Permitir**. 20 | 21 | Revoke-SmbShareAccess: elimina permisos del tipo **Permitir**. 22 | 23 | Block-SmbShareAccess: añade permisos del tipo **Denegar**. 24 | 25 | Unblock-SmbShareAccess: elimina permisos del tipo **Denegar**. -------------------------------------------------------------------------------- /Sección 2 - Gestión de carpetas compartidas/2.2.- Las ACL.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mftienda/PowerShellAdministradores/80bccdf2951eea9695eee3ae0e6f634a231cbf9e/Sección 2 - Gestión de carpetas compartidas/2.2.- Las ACL.pdf -------------------------------------------------------------------------------- /Sección 3 - Gestión de discos/3.-Gestion de discos.md: -------------------------------------------------------------------------------- 1 | # PowerShell para administradores 2 | ## 3.-Gestión de discos. 3 | 4 | **Información de discos y particiones**: 5 | 6 | Get-Disk: muestra los discos detectados por el sistema. 7 | 8 | Get-Partition: muestra las particiones visibles. 9 | 10 | 11 | **Creación de discos virtuales** 12 | 13 | New-VHD: Crea un disco duro virtual. 14 | 15 | Mount-VHD: Monta un disco virtual. 16 | 17 | Dismount-VHD: desmonta un disco virtual. 18 | 19 | 20 | **Administración de discos físicos y virtuales**. 21 | 22 | Initialize-Disk: Inicializar un disco. 23 | 24 | New-Partition: Crea una nueva partición. 25 | 26 | Format-volume: Dar formato a una partición. 27 | 28 | Set-Disk: Modificar las propiedades de un disco. 29 | 30 | Clear-Disk: Limpiar de datos un disco duro y reinicializa el disco. 31 | -------------------------------------------------------------------------------- /Sección 3 - Gestión de discos/CrearDiscoVirtual1.ps1: -------------------------------------------------------------------------------- 1 | #Creación automática de un disco virtual 2 | $Disco=Read-Host "Introduce el nombre del disco (Path)" 3 | [double]$tamano=Read-Host "Tamaño del disco en bytes" 4 | New-VHD -Path $disco -SizeBytes $tamano -Dynamic 5 | Mount-vhd -Path $Disco -Passthru| 6 | Initialize-Disk -PassThru| 7 | New-Partition -AssignDriveLetter -UseMaximumSize| 8 | Format-Volume -FileSystem NTFS -Confirm:$false -------------------------------------------------------------------------------- /Sección 3 - Gestión de discos/CrearDiscoVirtual2.ps1: -------------------------------------------------------------------------------- 1 | #Creación automática de un disco virtual 2 | $Disco=Read-Host "Introduce el nombre del disco (Path)" 3 | [int]$temp = Read-Host “Tamaño del disco en GBytes” 4 | [double]$tamano = $temp * 1000000000 5 | New-VHD -Path $Disco -SizeBytes $tamano –Dynamic 6 | Mount-VHD -Path $Disco -Passthru| 7 | Initialize-Disk -PassThru| 8 | New-Partition -AssignDriveLetter -UseMaximumSize| 9 | Format-Volume -FileSystem NTFS -Confirm:$false 10 | -------------------------------------------------------------------------------- /Sección 3 - Gestión de discos/README.md: -------------------------------------------------------------------------------- 1 | # Gestión de discos 2 | 3 | ## Ejercicio 1:CrearDiscoVirtual.ps1 4 | Creación de un script que nos facilite la creación de un disco virtual. 5 | Nos pregunta el path, y la capacidad. 6 | A partir de esos datos, crea el disco virtual, lo monta, 7 | lo inicializa, crea una partición en el máximo tamaño, 8 | lo formatea y le asigna una unidad. -------------------------------------------------------------------------------- /Sección 4.- Gestión de la red/4.-Gestion de la red.md: -------------------------------------------------------------------------------- 1 | # PowerShell para administradores 2 | ## 4.-Gestión de la red. 3 | 4 | **Información de los adaptadores de red**: 5 | 6 | Get-NetAdapter: muestra información de los adaptadores de red. 7 | 8 | Enable-NetAdapter: Activa el adaptador de red. 9 | 10 | Disable-NetAdapter: Desactiva el adaptador de red. 11 | 12 | 13 | **Información de la configuración de la red** 14 | 15 | Get-NetIPConfiguration: muestra información de IP, DNS y puerta de enlace. 16 | 17 | Get-NetRoute: nos muestra la tabla de enrutamiento. 18 | 19 | Get-DnsClientServerAddress: Nos muestra los servidores DNS. 20 | 21 | 22 | **Configuración estática**. 23 | 24 | Remove-NetIPAddress: Borramos la IP. 25 | 26 | Remove-NetRoute: Borramos la puerta de enlace. 27 | 28 | New-NetIPAddress: Establecemos una nueva IP. 29 | 30 | Set-DnsClientServerAddress: Establecemos los DNS. 31 | 32 | 33 | **Configuración dinámica**. 34 | 35 | Remove-NetIPAddress: Borramos la IP. 36 | 37 | Remove-NetRoute: Borramos la puerta de enlace. 38 | 39 | Set-NetIPInterface: Habilitamos DHCP. 40 | 41 | Set-DnsClientServerAddress: Establecemos los DNS. 42 | 43 | -------------------------------------------------------------------------------- /Sección 4.- Gestión de la red/ConectividadServidores.ps1: -------------------------------------------------------------------------------- 1 | #Conexión con los servidores 2 | # Cabecera 3 | Clear-Host 4 | Write-Host " ----- Conectividad -----" 5 | #Importamos los datos 6 | $datos= Import-Csv -Path C:\material\servidores.csv 7 | #Recorremos los datos 8 | foreach ($i in $datos) { 9 | $respuesta=Test-Connection $i.ip -Count 1 -quiet 10 | if ($respuesta -eq "true") { 11 | Write-Host "$i Conexión establecida" 12 | }else {Write-Host "$i Error de conexión"} 13 | } 14 | 15 | -------------------------------------------------------------------------------- /Sección 4.- Gestión de la red/ConfigurarIp.ps1: -------------------------------------------------------------------------------- 1 | # Configuración de IP 2 | # Definición de funciones 3 | Function Get-Menu{ 4 | Clear-Host 5 | Write-Host "Configuración IP" 6 | Write-host "1.- IP-Fija" 7 | Write-Host "2.- IP-DHCP" 8 | Write-Host "3.- Salir" 9 | } 10 | Function Get-Adaptador { 11 | Write-Host "Configuración de la IP" 12 | Get-NetAdapter|ft -AutoSize 13 | $script:interfaz = Read-Host "Introduzca la interfaz (IfIndex)" 14 | $script:nombre = Read-Host "Introduzca el nombre (name)" 15 | #Borramos datos 16 | Remove-NetIPAddress -InterfaceIndex $interfaz -Confirm:$false 17 | Remove-NetRoute -InterfaceIndex $interfaz -Confirm:$false 18 | } 19 | Function Ip-Fija { 20 | Get-Adaptador 21 | #Creamos la nueva IP 22 | $ip = Read-host "Introduzca IP" 23 | $mascara = Read-Host "Introduca la máscar (nºs de unos)" 24 | $gateway = Read-Host "Introduzca el gateway" 25 | $dns1 = Read-host "Introduzca el primer DNS" 26 | $dns2 = Read-host "Introduzca el segundo DNS" 27 | New-NetIPAddress -InterfaceIndex $interfaz $ip -PrefixLength $mascara -DefaultGateway $gateway 28 | Set-DnsClientServerAddress -InterfaceIndex $interfaz -ServerAddresses ("$dns1","$dns2") 29 | Restart-NetAdapter -Name $nombre 30 | } 31 | Function IP-Dhcp { 32 | Get-Adaptador 33 | #Establecemos IP por Dhcp 34 | Set-NetIPInterface -InterfaceIndex $interfaz -Dhcp enabled 35 | Set-DnsClientServerAddress -InterfaceIndex $interfaz -ResetServerAddresses 36 | #Restablecer el interfaz 37 | Restart-NetAdapter -Name $nombre 38 | } 39 | #Inicio 40 | do{ 41 | Get-Menu 42 | $opcion = Read-Host "Elija una opción" 43 | switch ($opcion){ 44 | '1'{Ip-Fija} 45 | '2'{IP-Dhcp} 46 | '3'{exit} 47 | Default {Write-Host "Opción incorrecta"} 48 | } 49 | $intro = Read-Host "Pulse intro para continuar" 50 | }while ($true) -------------------------------------------------------------------------------- /Sección 4.- Gestión de la red/README.md: -------------------------------------------------------------------------------- 1 | # Gestión de la red 2 | 3 | ## Ejercicio 1:ConectividadServidores.ps1 4 | 5 | Vamos hacer un pequeño script para comprobar conectividad con servidores. 6 | Tenemos los datos de los servidores en un archivo llamado: servidores.csv, que lo podemos realizar con el bloc de notas. 7 | 8 | 9 | ## Ejercicio 2:ConfigurarIP.ps1 10 | Vamos hacer un script que nos permita configurar la IP estática o dinámicamente. 11 | -------------------------------------------------------------------------------- /Sección 4.- Gestión de la red/servidores.csv: -------------------------------------------------------------------------------- 1 | ip,nombre,localizacion 2 | 192.168.0.1,Tauro,Dpto 3 | 192.168.1.1,Capricornio,Aula1 4 | 192.168.2.1,Libra,Aula2 -------------------------------------------------------------------------------- /Sección 5.- Gestión procesos y servicios/5.-Gestion de procesos y servicios.md: -------------------------------------------------------------------------------- 1 | # PowerShell para administradores 2 | ## 5.- Gestion de procesos y servicios. 3 | 4 | **Procesos**: 5 | 6 | Get-Process: muestra información de los procesos. 7 | 8 | Stop-Process: detiene un proceso. 9 | 10 | Start-Process: Inicia un proceso. 11 | 12 | 13 | **Servicios** 14 | 15 | Get-Service: muestra información de los servicios. 16 | -RequiredServices: Servicios necesarios para iniciar el servicio. 17 | -DependentServices: Servicios que dependen. 18 | 19 | Stop-Service: detiene el servicio. 20 | 21 | Start-Service: inicia el servicio. 22 | 23 | Set-Service: Modifica los parámetros de un servicio. 24 | -------------------------------------------------------------------------------- /Sección 6.- Gestión de tareas programadas/6.-Gestion de tareas programadas.md: -------------------------------------------------------------------------------- 1 | # PowerShell para administradores 2 | ## 6.- Gestión de tareas programadas. 3 | 4 | **Información de los tareas programadas**: 5 | 6 | Get-ScheduledTask: muestra información de las tareas programadas. 7 | 8 | 9 | **Creación de una tarea programada** 10 | 11 | New-ScheduledTaskAction: Definimos la acción. 12 | 13 | New-ScheduledTaskTrigger: Definimos el desencadenador. 14 | 15 | Register-ScheduledTask: Registramos la tarea. 16 | 17 | 18 | **Modificar una tarea programada**. 19 | 20 | Set-ScheduledTask: Modifica una tarea programada. 21 | 22 | 23 | **Activar/desactivar una tarea programada**. 24 | 25 | Enable-ScheduledTask: Activa una tarea programada. 26 | 27 | Disable-ScheduledTask: Desactiva una tarea programada. 28 | 29 | 30 | **Eliminar una tarea programada**. 31 | 32 | Unregister-ScheduledTask: Eliminar una tarea programada. -------------------------------------------------------------------------------- /Sección 6.- Gestión de tareas programadas/ApagarOrdenador.ps1: -------------------------------------------------------------------------------- 1 | #Apagar el ordenador 2 | C:\Windows\System32\shutdown.exe /s /t 600 -------------------------------------------------------------------------------- /Sección 6.- Gestión de tareas programadas/README.md: -------------------------------------------------------------------------------- 1 | # Gestión de tareas programadas 2 | 3 | ## Ejercicio 1: 4 | 5 | Crear una tarea programada para que se ejecute todos los días a las 16:00. 6 | La tarea se guarda en el script: ApagarOrdenador.ps1. -------------------------------------------------------------------------------- /Sección 7.- Gestión de impresoras/7.-Gestion de impresoras.md: -------------------------------------------------------------------------------- 1 | # PowerShell para administradores 2 | ## 7.- Gestión de impresoras. 3 | 4 | **Información de impresoras y controladores de impresión**: 5 | 6 | Get-Printer: muestra las impresoras instalados en el equipo. 7 | 8 | Get-PrinterDriver: muestra los controladores de impresión instalados. 9 | 10 | 11 | **Agregar impresora** 12 | 13 | Add-Printerdrive: Instalar un controlador de impresión. 14 | 15 | Add-PrinterPort: Instala un puerto de impresión. 16 | 17 | Add-Printer: Instala una impresora. 18 | 19 | 20 | 21 | **Modificar una impresora**. 22 | 23 | Set-Printer: Modifica/actualiza una propiedad de la impresora. 24 | 25 | 26 | **Eliminar objetos**. 27 | 28 | Remove-Printer: Elimina una impresora. 29 | 30 | Remove-PrinterDriver: Elimina un controlador de impresora. 31 | 32 | Remove-PrinterPort: Elimina un puerto de impresora. 33 | -------------------------------------------------------------------------------- /Sección 7.- Gestión de impresoras/README.md: -------------------------------------------------------------------------------- 1 | # Gestión de impresoras 2 | 3 | ## Ejercicio 1: 4 | 5 | Instalar la impresora Brother-Hl-2130. 6 | -------------------------------------------------------------------------------- /Sección 7.- Gestión de impresoras/brother-hl-2130-8311.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mftienda/PowerShellAdministradores/80bccdf2951eea9695eee3ae0e6f634a231cbf9e/Sección 7.- Gestión de impresoras/brother-hl-2130-8311.zip -------------------------------------------------------------------------------- /Sección 8.- Gestión de eventos/8.-Gestion de eventos.md: -------------------------------------------------------------------------------- 1 | # PowerShell para administradores 2 | ## 8.- Gestión de eventos. 3 | 4 | **Información de eventos**: 5 | 6 | Get-EventLog: muestra las registros principales. 7 | 8 | Get-WinEvent: muestra los registros principales y los generados con la tecnología Windows Event Log. 9 | 10 | 11 | **Filtrado de eventos** 12 | 13 | Get-EventLog -LogName System : muestra eventos relacionados con el sistema. 14 | 15 | Index: número asociado al evento. 16 | Time: Fecha y hora del evento. 17 | EntryType: La importancia del evento: error, warning, etc 18 | Source: Origen del evento. 19 | InstanceID: número asociado a un tipo de evento en concreto. 20 | Message: El mensaje. 21 | 22 | Get-WinEvent -LogName system: muestra eventos relacionados con el sistema. 23 | 24 | TimeCreated: La fecha de creación. 25 | ProviderName: Fuente que escribió el evento. 26 | Id: Número que indica el tipo de evento (equivalente a InstancedID) 27 | Message: El mensaje. 28 | 29 | -FilterHashtable: nos permite hacer consultas más eficientes. -------------------------------------------------------------------------------- /Sección 9.- Gestión de WMI-CIM/9.-Gestion de WMI-CIM.md: -------------------------------------------------------------------------------- 1 | # PowerShell para administradores 2 | ## 9.- Gestión de WMI/CIM. 3 | 4 | **¿Qué es CIM?**: 5 | CIM (Common Information Model). Es un estándar abierto que establece (define) 6 | como intercambiar información entre sistemas, redes, aplicaciones y servicios. 7 | 8 | 9 | **¿Qué es WMI?**: 10 | WMI (Windows Management Instrumentation). Es la implementación de Microsoft del CIM. 11 | 12 | 13 | Podemos decir que WMI/CIM funciona como una base de datos ofreciendo una gran variedad de información. 14 | 15 | WMI/CIM está compuesta por clases, que representa los distintos elementos. 16 | 17 | Utilizaremos PowerShell para comunicarnos con WMI/CIM. 18 | 19 | 20 | **Búsqueda de información** 21 | 22 | Utilizaremos los cmdlets: Get-WmiObject y Get-CimInstance 23 | 24 | **Clases WMI/CIM** 25 | 26 | BIOS: win32_Bios 27 | 28 | CPU: win32_processor 29 | 30 | DISCOS: Win32_DiskDrive 31 | 32 | PLACA BASE: Win32_Baseboard 33 | 34 | ADAPTADOR DE RED: Win32_NetworkAdapter 35 | 36 | MEMORIA: Win32_PhysicalMemory 37 | 38 | SISTEMA OPERATIVO: Win32_OperatingSystem 39 | 40 | RECURSOS COMPARTIDOS: Win32_Share 41 | 42 | EQUIPO(Windows): win32_computersystem 43 | 44 | EQUIPO (Producto): win32_ComputerSystemProduct 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /material/ApagarOrdenador.ps1: -------------------------------------------------------------------------------- 1 | #Apagar el ordenador 2 | C:\Windows\System32\shutdown.exe /s /t 600 -------------------------------------------------------------------------------- /material/ConectividadServidores.ps1: -------------------------------------------------------------------------------- 1 | #Conexión con los servidores 2 | # Cabecera 3 | Clear-Host 4 | Write-Host " ----- Conectividad -----" 5 | #Importamos los datos 6 | $datos= Import-Csv -Path C:\material\servidores.csv 7 | #Recorremos los datos 8 | foreach ($i in $datos) { 9 | $respuesta=Test-Connection $i.ip -Count 1 -quiet 10 | if ($respuesta -eq "true") { 11 | Write-Host "$i Conexión establecida" 12 | }else {Write-Host "$i Error de conexión"} 13 | } 14 | 15 | -------------------------------------------------------------------------------- /material/ConfigurarIp.ps1: -------------------------------------------------------------------------------- 1 | # Configuración de IP 2 | # Definición de funciones 3 | Function Get-Menu{ 4 | Clear-Host 5 | Write-Host "Configuración IP" 6 | Write-host "1.- IP-Fija" 7 | Write-Host "2.- IP-DHCP" 8 | Write-Host "3.- Salir" 9 | } 10 | Function Get-Adaptador { 11 | Write-Host "Configuración de la IP" 12 | Get-NetAdapter|ft -AutoSize 13 | $script:interfaz = Read-Host "Introduzca la interfaz (IfIndex)" 14 | $script:nombre = Read-Host "Introduzca el nombre (name)" 15 | #Borramos datos 16 | Remove-NetIPAddress -InterfaceIndex $interfaz -Confirm:$false 17 | Remove-NetRoute -InterfaceIndex $interfaz -Confirm:$false 18 | } 19 | Function Ip-Fija { 20 | Get-Adaptador 21 | #Creamos la nueva IP 22 | $ip = Read-host "Introduzca IP" 23 | $mascara = Read-Host "Introduca la máscar (nºs de unos)" 24 | $gateway = Read-Host "Introduzca el gateway" 25 | $dns1 = Read-host "Introduzca el primer DNS" 26 | $dns2 = Read-host "Introduzca el segundo DNS" 27 | New-NetIPAddress -InterfaceIndex $interfaz $ip -PrefixLength $mascara -DefaultGateway $gateway 28 | Set-DnsClientServerAddress -InterfaceIndex $interfaz -ServerAddresses ("$dns1","$dns2") 29 | Restart-NetAdapter -Name $nombre 30 | } 31 | Function IP-Dhcp { 32 | Get-Adaptador 33 | #Establecemos IP por Dhcp 34 | Set-NetIPInterface -InterfaceIndex $interfaz -Dhcp enabled 35 | Set-DnsClientServerAddress -InterfaceIndex $interfaz -ResetServerAddresses 36 | #Restablecer el interfaz 37 | Restart-NetAdapter -Name $nombre 38 | } 39 | #Inicio 40 | do{ 41 | Get-Menu 42 | $opcion = Read-Host "Elija una opción" 43 | switch ($opcion){ 44 | '1'{Ip-Fija} 45 | '2'{IP-Dhcp} 46 | '3'{exit} 47 | Default {Write-Host "Opción incorrecta"} 48 | } 49 | $intro = Read-Host "Pulse intro para continuar" 50 | }while ($true) -------------------------------------------------------------------------------- /material/CreacionUsuarios.ps1: -------------------------------------------------------------------------------- 1 | #Creación de usuarios de forma masiva 2 | $usuarios= Import-Csv -Path C:\material\usuarios.csv 3 | foreach ($i in $usuarios){ 4 | 5 | $clave= ConvertTo-SecureString $i.contra -AsPlainText -Force 6 | New-LocalUser $i.nombre -Password $clave -AccountNeverExpires -PasswordNeverExpires 7 | Add-LocalGroupMember -Group usuarios -Member $i.nombre 8 | } -------------------------------------------------------------------------------- /material/CrearDiscoVirtual1.ps1: -------------------------------------------------------------------------------- 1 | #Creación automática de un disco virtual 2 | $Disco=Read-Host "Introduce el nombre del disco (Path)" 3 | [double]$tamano=Read-Host "Tamaño del disco en bytes" 4 | New-VHD -Path $disco -SizeBytes $tamano -Dynamic 5 | Mount-vhd -Path $Disco -Passthru| 6 | Initialize-Disk -PassThru| 7 | New-Partition -AssignDriveLetter -UseMaximumSize| 8 | Format-Volume -FileSystem NTFS -Confirm:$false -------------------------------------------------------------------------------- /material/CrearDiscoVirtual2.ps1: -------------------------------------------------------------------------------- 1 | #Creación automática de un disco virtual 2 | $Disco=Read-Host "Introduce el nombre del disco (Path)" 3 | [int]$temp = Read-Host “Tamaño del disco en GBytes” 4 | [double]$tamano = $temp * 1000000000 5 | New-VHD -Path $Disco -SizeBytes $tamano –Dynamic 6 | Mount-VHD -Path $Disco -Passthru| 7 | Initialize-Disk -PassThru| 8 | New-Partition -AssignDriveLetter -UseMaximumSize| 9 | Format-Volume -FileSystem NTFS -Confirm:$false 10 | -------------------------------------------------------------------------------- /material/CrearUsuario.ps1: -------------------------------------------------------------------------------- 1 | #Creación de un usuario 2 | Clear 3 | $usuario=Read-Host "Introduce nombre de usuario" 4 | $contra=Read-Host "Introduce contraseña" -AsSecureString 5 | New-LocalUser $usuario -Password $contra 6 | Add-LocalGroupMember usuarios -Member $usuario -------------------------------------------------------------------------------- /material/EliminacionUsuarios.ps1: -------------------------------------------------------------------------------- 1 | #Eliminación de usuarios de forma masiva 2 | $usuarios= Import-Csv -Path C:\material\usuarios.csv 3 | foreach ($i in $usuarios){ 4 | Remove-LocalUser $i.nombre 5 | } -------------------------------------------------------------------------------- /material/README.md: -------------------------------------------------------------------------------- 1 | # PowerShellAdministradores 2 | 3 | Aquí encontrarás material para realizar las prácticas. -------------------------------------------------------------------------------- /material/brother-hl-2130-8311.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mftienda/PowerShellAdministradores/80bccdf2951eea9695eee3ae0e6f634a231cbf9e/material/brother-hl-2130-8311.zip -------------------------------------------------------------------------------- /material/servidores.csv: -------------------------------------------------------------------------------- 1 | ip,nombre,localizacion 2 | 192.168.0.1,Tauro,Dpto 3 | 192.168.1.1,Capricornio,Aula1 4 | 192.168.2.1,Libra,Aula2 -------------------------------------------------------------------------------- /material/usuarios.csv: -------------------------------------------------------------------------------- 1 | nombre,contra 2 | usuario01,usuario01 3 | usuario02,usuario02 4 | usuario03,usuario03 5 | usuario04,usuario04 --------------------------------------------------------------------------------