Está en la página 1de 54

IES Siete Palmas – PNI Profesor: Efrén León Juan Vidal Belza Medina

HActividad 04
“Resolución de problemas TCP/IP y PowerShell ISE”
PNI – 1º ASI – I.E.S. Siete Palmas

Juan Vidal Belza Medina

-1-
IES Siete Palmas – PNI Profesor: Efrén León

Índice de contenidos
1. Comandos del protocolo TCP/IP y
ficheros...........................................................................................1 1.1. Preguntas
básicas............................................................................................................................1
1.2. Comprueba tu dirección
IP.............................................................................................................2 1.3. IP de la red
169.254........................................................................................................................2 1.4.
Pasos para utilizar los comandos IPConfig y
Ping.........................................................................2 1.5. Comando
ARP................................................................................................................................2 1.6.
Lista las conexiones establecidas en tu
equipo..............................................................................3 1.7. Ruta de los
paquetes.......................................................................................................................3 1.8.
Hostname................................................................................................................................
........3 1.9. Fichero
hosts...................................................................................................................................3
2. PowerShell
ISE......................................................................................................................................4 2.1
Gestión de usuarios y
grupos...........................................................................................................4 2.1.1. Gestión de
usuarios.................................................................................................................4 2.1.2.
Gestión de grupos...................................................................................................................6
2.1.3. Creación y eliminación masiva de
usuarios............................................................................9 2.2. Gestión de carpetas
compartidas..................................................................................................10 2.3. Gestión de
la red...........................................................................................................................14 2.3.1.
Información de la red............................................................................................................14
2.3.2.
Conectividad.........................................................................................................................17
2.3.3. Configuración estática y
dinámica........................................................................................18 2.3.4. Configurar la red a
través de un script..................................................................................20

1. Comandos del protocolo TCP/IP y ficheros.

1.1. Preguntas básicas.


• El objetivo de este apartado es determinar posibles problemas que surjan tanto en
nuestro puesto de trabajo como a otros usuarios de la red. Recuerda que antes de
solucionar un problema hay que resolver una serie de preguntas básicas que nos
servirán como punto de partida.
• ¿Cuáles son esas preguntas?
◦ ¿Qué funciona?
◦ ¿Qué no funciona?
◦ ¿Cuál es la relación entre los elementos que funcionan y los que no?
◦ Los elementos que no funcionan, ¿Funcionaron algunas vez en este equipo y en
esta red? ◦ Si la respuesta en sí, ¿Qué ha cambiado desde la última vez que
funcionaron?

-2-
IES Siete Palmas – PNI Profesor: Efrén León

1.2. Comprueba tu dirección IP.

1.3. IP de la red 169.254.


• ¿Cómo sabes si no tienes red?
Para saber si no hay red basta con mandar un ping a la puerta de enlace y otro fuera
de ella al internet por ejemplo al servidor de google 8.8.8.8

• ¿Y si la IP está duplicada?
Si la ip se duplica sale la dirección 169.254.x.x

• Renueva la dirección IP de tu tarjeta de red.

• ¿Qué ocurre si al hacer ipconfig me aparece una ip que empieza por 169.254.X.X
(busca en internet si no sabes la respuesta?
Que hay una ip duplicada en la misma red
• Tareas a realizar:
◦ Duplicar la ip, poniendo la de un compañero, y capturar el ipconfig.
◦ Poner la ip en automática (se supone que no hay servidor dhcp) y realizar un

ipconfig. - 3 -
IES Siete Palmas – PNI Profesor: Efrén León
-4-
IES Siete Palmas – PNI Profesor: Efrén León

1.4. Pasos para utilizar los comandos IPConfig y Ping


• Comprueba que tienes acceso a tu puerta de enlace.
• Problema: El usuario Pepito (usuario ficticio), con IP 172.31.21.74 (poner una de la red
local que no esté en uso), tiene problemas para conectarse, comprueba si tiene
acceso y saca tus conclusiones.
• ¿Qué pasos sigues a la hora de resolver un problema de red para detectar donde está
el fallo? Realizarlo
i. ipconfig
ii. ping (a la puerta de enlace)
iii. ping (a google) → si falla probar nslookup (a google).
iv. ping al usuario con problemas.

Yo lo primero que haría es lanzar un ipconfig para ver que la configuración tcp este correcta,
Luego haría un ping a la puerta de enlace en mi caso de casa 192.168.1.1 si da respuesta
lanzo un ping a cualquier servidor de internet fuera de mi red local para comprobar
conectividad de router para afuera, si no consigo llegar a la puerta de enlace con el ping lo
primero que haría sería comprobar el estado del cable y de la tarjeta de red
-5-
IES Siete Palmas – PNI Profesor: Efrén León

1.5. Comando ARP


• ¿Para qué se utiliza el protocolo ARP? Mira cual es tu tabla arp?
El protocolo ARP es un protocolo de la capa de enlace que muestra en sus tablas las
direcciones físicas (MAC) y las direcciones ip asociadas a ellas

1.6. Lista las conexiones establecidas en tu equipo.

-6-
IES Siete Palmas – PNI Profesor: Efrén León

1.7. Ruta de los paquetes


• Comprueba que ruta sigue tu equipo a través de la red para conectarte a un dominio de
internet.

1.8. Hostname
• ¿Cuál es el nombre de tu equipo NetBIOS?

-7-
IES Siete Palmas – PNI Profesor: Efrén León
1.9. Fichero hosts.
• ¿Por qué cuando escribimos en un navegador localhost el equipo se conecta a la
127.0.0.1 (buscar fichero hosts)? ¿Qué entradas tienes en dicho fichero?

Todo localhost tiene asignada la dirección IP 127.0.0.1 también llamada dirección IP de


loopback o bucle reverso. Es así porque utiliza ciertas herramientas TCP/IP apuntando a sí
misma sin necesidad de conectarse a Internet y sin salir del ordenador

-8-
IES Siete Palmas – PNI Profesor: Efrén León

• Investigación: buscar en internet cuál es la función del fichero hosts en Windows/Linux.


La función del fichero hosts es convertir un nombre en una dirección IP, pudiendo así
bloquear páginas web en nuestro propio equipo
• Añadir un dominio de ejemplo “www.tunombre.com” que apunte a localhost.
Windows convertirá el nombre de la web en una dirección IP falsa y tratará de
conectarse a ella

2. PowerShell ISE
• Los siguientes ejercicios se deben realizar usando comandos de Windows powerShell.
• Para obtener información de los comandos net y cualquier otro comando de Windows
usar la ayuda, el curso de openWebinars, o internet.

Iniciamos PowerShell ISE, es más cómodo que la consola, porque nos ayuda en
autocompletar y a la hora de realizar scripts:

2.1 Gestión de usuarios y grupos


2.1.1. Gestión de usuarios
Para que un usuario pueda iniciar sesión en Windows, necesita una cuenta de
usuario. Las cuentas de usuario pueden:
• Ser Locales, es decir, só lo son conocidas en el equipo en elque se crea. •
Pertenecer al Active Directory. En tal caso, podríamos conectarnos desde cualquier
equipo del dominio.

Vamos a ver:
• Mostrar información de las cuentas de usuarios.
• Crear cuentas de usuarios.
• Modificar una cuenta de usuario.
• Renombrar una cuenta de usuario.
• Activar/desactivar una cuenta de usuario.

-9-
IES Siete Palmas – PNI Profesor: Efrén León • Eliminar una cuenta de usuario.

Conocer los cmdlets para trabajar con usuarios


Get-Command *localuser*
Estos comdlets los podemos encontrar en el módulo:
Get-Command –Module Microsoft.PowerShell.LocalAccounts

Obtener ayuda de un comando:


Get-Help Get-LocalUser -Examples

- 10 -
IES Siete Palmas – PNI Profesor: Efrén León

1. Muestra las cuentas de usuarios que hay en el equipos.


Get-LocalUser Get-LocalUser | ft –AutoSize –Wrap
Autosize ajusta las columnas, pero trunca las últimas columnas. 🡪
Wrap Ajusta las columnas, pero no trunca las columnas. 🡪
2. Muestra información de una cuenta de usuario
Get-LocalUser -Name juan | FL *
AccountExpires Fecha expiración de la cuenta. 🡪
PasswordExpires Fecha expiración de la contraseña. 🡪
LastLogon Fecha de última conexión. 🡪

- 11 -
IES Siete Palmas – PNI Profesor: Efrén León

3. Crear una cuenta de usuario llamada “tunombre” sin contraseña.


New-LocalUser tunombre2 –NoPassword
🡪Get-LocalUser arenitas|FL *
4. Crear una cuenta de usuario, “tuapellido” con contraseña 🡪peque
1º Encriptamos la contraseña:
$contra=ConvertTo-SecureString "peque" -AsPlainText –Force
2º Creamos el usuario
New-LocalUser tuapellido -Password $contra
🡪 Get-LocalUser tuapellido |FL *

- 12 -
IES Siete Palmas – PNI Profesor: Efrén León
5. Modifica una propiedad: Añadir el FullName (tu nombre completo)
Set-LocalUser tuapellido -FullName "Efren IES Siete Palmas“
🡪 Get-LocalUser tuapellido |FL *

- 13 -
IES Siete Palmas – PNI Profesor: Efrén León

6. Establecer o modificar una propiedad: La contraseña nunca expira.


Set-LocalUser tuapellido -PasswordNeverExpires $true
🡪Get-LocalUser tuapellido |FL *

7. Establecer o modificar una propiedad: Añadirle una contraseña al usuario


tunombre. 🡪Fijémonos en el campo: PasswordLatSet
Set-LocalUser -Name tunombre -Password (ConvertTo -SecureString "peque" -AsPlainText -
Force) 🡪Get-LocalUser tunombre |FL *

- 14 -
IES Siete Palmas – PNI Profesor: Efrén León

8. Renombrar una cuenta de usuario: tuapellido --> tusegundoapellido


🡪Get-LocalUser
Rename-LocalUser tuapellido -NewName tusegundoapellido
🡪Get-LocalUser
Renombrar una cuenta de usuario: tusegundoapellido --> tuapellido
🡪Get-LocalUser
Rename-LocalUser tusegundoapellido -NewName tuapellido

- 15 -

IES Siete Palmas – PNI Profesor: Efrén León

9. Desactivar una cuenta de usuario: tuapellido


🡪Get-LocalUser tuapellido |FL *
Disable-LocalUser tuapellido
- 16 -
IES Siete Palmas – PNI Profesor: Efrén León

Activar una cuenta de usuario: tuapellido


Enable-LocalUser tuapellido
🡪Get-LocalUser tuapellido |FL *
10. Eliminar una cuenta de usuarios: tunombre y tuapellido:
🡪Get-LocalUser
Remove-LocalUser -Confirm tunombre
Remove-LocalUser –Confirm tuapellido
🡪Get-LocalUser
Con -Confirm, nos pide confirmación.

- 17 -
IES Siete Palmas – PNI Profesor: Efrén León

Resumen de comandos.
Gestión de usuarios:
• Get-LocalUser: muestra las cuentas de usuarios locales.
• New-LocalUser: Crea una nueva cuenta de usuario local.
• Set-LocalUser: Establece o modifica una propiedad de una cuenta de usuario
local. • Rename-LocalUser: Renombra una cuenta de usuario local.
• Disable-LocalUser: Desactiva una cuenta de usuario local.
• Enable-LocalUser: Activa una cuenta de usuario local.
• Remove-LocalUser: Elimina una cuenta de usuario local.

2.1.2. Gestión de grupos


Las cuentas de usuarios podemos agruparlas engrupos, que nos facilitará la
administración de permisos a un recurso.
Los usuarios pueden pertenecer o no pertenecer a uno o va rios grupos
distintos. Algunos grupos predefinidos:
• Administradores: Tienen control total del equipo.
• Usuarios: Pueden realizar ta reas hab ituales, pero nopueden, por ejemplo: compartir
directorios

Conocer los cmdlets para trabajar con usuarios y grupos: Get-Command


*localgroup* Estos comdlets los podemos encontrar en el módulo:
Get-Command –Module Microsoft.PowerShell.LocalAccounts
Obtener ayuda de un comando:
Get-Help
Get-LocalGroup -Examples

1. Mostrar los grupos locales en el equipo


Get-LocalGrou

- 18 -
IES Siete Palmas – PNI Profesor: Efrén León

2. Muestra información del grupo de Administradores.


Get-LocalGroup administradores|FL *
3. Crear un grupo local llamado 1CS
New-LocalGroup 1CS
🡪Get-LocalGroup

🡪 Get-LocalGroup -Name 1CS|fl *

4. Establecer o modificar una propiedad: Añadir una Descripción.


Set-LocalGroup -Description "Tunombre. Alumnos 1CS" fondobikini
🡪Get-LocalGroup fondobikini|FL *

🡪Get-LocalGroup -Name fondobikini|fl *

- 19 -
IES Siete Palmas – PNI Profesor: Efrén León

5. Renombrar un grupo.
Rename-LocalGroup 1CS -NewName PrimeroCS
Get-LocalGroup -Name PrimeroCS|fl *
6. Eliminar un grupo.
Remove-LocalGroup –Confirm PrimeroCS
🡪-Confirm, para que nos pida confirmación.

🡪Get-LocalGroup

- 20 -
IES Siete Palmas – PNI Profesor: Efrén León

7. Obtener miembros de un grupo. Preparamos el entorno:


🡪New-LocalGroup 1CS

🡪New-LocalUser tunombre –NoPassword

🡪 New-LocalUser tuapellido –NoPassword

Get-LocalGroupMember 1CS
8. Agregar miembros a un grupo:1CS
Add-LocalGroupMember 1CS -Member tunombre
Add-LocalGroupMember 1CS -Member tuapellido
🡪Get-LocalGroupMember 1CS

Agregar miembros a un grupo: usuarios


Add-LocalGroupMember usuarios -Member tunombre, tuapellido
🡪Get-LocalGroupMember usuarios

- 21 -
IES Siete Palmas – PNI Profesor: Efrén León

9. Eliminar miembros a un grupo.


Remove-LocalGroupMember 1CS -Member tunombre
Remove-LocalGroupMember 1CS -Member tuapellido
🡪Get-LocalGroupMember 1CS
Resumen gestión de grupos:
• Get-LocalGroup: muestra los grupos locales.
• New-LocalGroup: Crea un nuevo grupo local.
• Set-LocalGroup: Establece o modifica una propiedad de un grupo
local. • Rename-LocalGroup: Renombra un grupo local.
• Remove-LocalGroup: Elimina un grupo local.
• Get-LocalGroupMember: Muestra los miembros de un grupo.
• Add-LocalGroupMember: Agrega un miembro a un grupo.
• Remove-LocalGroupMember: Elimina un miembro de un grupo local.

10. Limpieza de usuarios y grupos.


Vamos a proceder a borrar los usuarios y grupos que hemos creado para no dejar
basurilla en el sistema.
Borramos el grupo:
Remove-LocalGroup 1CS

Borramos los usuarios: arenitas y cangrejo.


Remove-LocalUser tunombre, tuapellido

- 22 -
IES Siete Palmas – PNI Profesor: Efrén León

2.1.3. Creación y eliminación masiva de usuarios


Imaginaros que tenemos que crear 50 cuentas de usuarios.
Sería una locura crearlas una a una.
Vamos a ver un par de script para la creación y eliminación decuentas de usuario de forma masiva.

Creación de una cuenta de usuario.


CrearUsuario.ps1: Material de Github 🡪
******************************************************************
#Creación de un usuario
Clear
$usuario=Read-Host "Introduce nombre de usuario"
$contra=Read-Host "Introduce contraseña" -AsSecureString
New-LocalUser $usuario -Password $contra
Add-LocalGroupMember usuarios -Member $usuario
******************************************************************

1. Creación de un script que nos facilite crear una cuenta de usuario.


• Nos preguntará el nombre de usuario y contraseña. A partir de esa información, crea la
cuenta de usuario y nos añade el usuario al grupo de usuarios.
• Realizar una prueba
Recordatorio:
Get-ExecutionPolicy
Set-ExecutionPolicy Unrestricted Se puede ejecutar cualquier scripts 🡪

2. Creación masiva de cuentas de usuario.


CreacionUsuarios.ps1: Material Github 🡪

******************************************************************
#Creación de usuarios de forma masiva
$usuarios= Import-Csv -Path C:\material\usuarios.csv
foreach ($i in $usuarios){

$clave= ConvertTo-SecureString $i.contra -AsPlainText -Force


New-LocalUser $i.nombre -Password $clave -AccountNeverExpires -PasswordNeverExpires Add-
LocalGroupMember -Group usuarios -Member $i.nombre
}
******************************************************************

- 23 -
IES Siete Palmas – PNI Profesor: Efrén León

Creación de un script que nos facilite la creación masiva de usuarios. Cambiar los datos de
las cuentas
Tenemos los datos de los usuarios en un archivo llamado: usuarios.csv, que lo podemos
realizar con el bloc de notas.
****************************************************************** nombre,contra
usuario01,usuario01
usuario02,usuario02
usuario03,usuario03
usuario04,usuario04
******************************************************************

Recordatorio: Un archivo csv es un documento pa ra representar datos en forma de tabla, en


las que las columnas se separan por comas y las filas por saltos de línea.

3. Eliminación masiva de cuentas de usuarios.


EliminacionUsuarios.ps1: Material Github 🡪

****************************************************************** #Eliminación de usuarios de


forma masiva
$usuarios= Import-Csv -Path C:\material\usuarios.csv
foreach ($i in $usuarios){
Remove-LocalUser $i.nombre
}
****************************************************************** Creación de un script
que nos facilite la eliminación masiva de usuarios.

Tenemos los datos de los usuarios en un archivo llamado: usuarios.csv.

Recordatorio:
Get-ExecutionPolicy
Set-ExecutionPolicy Unrestricted Se puede ejecutar cualquier scripts 🡪

- 24 -
IES Siete Palmas – PNI Profesor: Efrén León

2.2. Gestión de carpetas compartidas


En cualquier organización compartimos cada vez más datos.
Vamos a ver:
• Cómo compartir una carpeta.
• Cómo configurar los permisos de acceso.

Esa compa rtición se hace gracias al protocolo SMB (Server Message Block).
Recordemos que el último ataque de malwa re a nivel mundial (Wannacry) explotó
una inseguridad del protocolo SMB1.

En consecuencia debemos utilizar SMB2 o SMB3, que viene por defecto


activado. Detectar SMB Get-SmbServerConfiguration 🡪

- 25 -
IES Siete Palmas – PNI Profesor: Efrén León

Conocer los cmdlets para trabajar con recursos compartidos:


Resulta más fácil, buscarlos:
Get-Command *smbshare*
Get-command *smbshare* |Ft -autosize –Wrap
Estos comandos los podemos encontrar en el siguiente módulo:
Get-Command -Module smbshare

- 26 -
IES Siete Palmas – PNI Profesor: Efrén León

Obtener ayuda de un comando:


Get-Help Get-SmbShare -Examples
1. Mostrar los recursos compartidos.
Get-SmbShare

Aparece todos los recursos compartidos incluidos los especiales (sistema)

- 27 -
IES Siete Palmas – PNI Profesor: Efrén León

Mostrar los recursos compartidos excluidos los especiales.


get-smbshare -Special:$false
Get-SmbShare -Special:$false|fl

Mostrar información de un recurso


Get-SmbShare -Name print$|fl

- 28 -
IES Siete Palmas – PNI Profesor: Efrén León

Mostrar los permisos de un recurso


Get-SmbShareAccess -Name print$|fl
2. Crear un recurso compartido sin especificar permisos.
Creamos la carpeta: C:\datos
New-Item c:\datos –ItemType Directory

Creamos el recurso compartido.


New-SmbShare -Path c:\datos -Name datos
🡪get-smbshare -Special:$false

- 29 -
IES Siete Palmas – PNI Profesor: Efrén León

¿Qué permisos se les ha asignado?


Al grupo todos Solo lectura 🡪

3. Crear un recurso compartido especificando permisos.


Creamos dos usuarios: tunombre y tuapellido
• Podemos utilizar nuestro script Crear-Usuario.ps1

Creamos la carpeta: C:\Apuntes


New-Item -ItemType Directory c:\Apuntes

Creamos el recurso compartido, de forma que al usuario tunombre le damos todo los
permisos y al usuario tuapellido, solo lectura.
New-SmbShare -Path C:\comida\ -Name comida -FullAccess tunombre -ReadAccess
tuapellido 🡪Get-SmbShareAccess -Name Apuntes

- 30 -
IES Siete Palmas – PNI Profesor: Efrén León

🡪Get-SmbShareAccess -Name Apuntes|fl


4. Modificar un recurso compartido.
Vamos a añadir una descripción al recurso comida.
Set-SmbShare -Name Apuntes -Description "Apuntes de 1CS“

Podemos utilizar la opcion –Force para que no nos pida confirmación.


🡪Get-SmbShare -Name Apuntes|fl

- 31 -
IES Siete Palmas – PNI Profesor: Efrén León

Vamos a cambiar el límite de conexiones simultáneas al recurso comida.


Set-SmbShare -Name Apuntes -ConcurrentUserLimit 10 –Force

Get-SmbShare Apuntes|FL *
5. Administrar los permisos de un recurso compartido.
Vamos añadir el permiso de control total al usuario tuapellido sobre el recurso
comida. 🡪Get-SmbShareAccess -Name tuapellido
Grant-SmbShareAccess -Name Apuntes -AccountName tuapellido -AccessRight Full -Force

- 32 -
IES Siete Palmas – PNI Profesor: Efrén León

🡪Get-SmbShareAccess -Name tuapellido|fl


Como vemos los permisos que tenían se han sobreescrito.

Vamos quitar los permisos que tiene el usuario arenitas sobre el recurso
comida. 🡪Get-SmbShareAccess -Name Apuntes
Revoke-SmbShareAccess -Name Apuntes -AccountName tuapellido -
Force 🡪Get-SmbShareAccess -Name Apuntes

Ya tuapellido no tiene acceso al recurso.

- 33 -
IES Siete Palmas – PNI Profesor: Efrén León

Vamos a denegar el acceso al usuario tuapellido al recurso comida.


🡪Get-SmbShareAccess -Name Apuntes
Block-SmbShareAccess -Name Apuntes -AccountName tuapellido -Force
🡪Get-SmbShareAccess -Name Apuntes|fl
Podemos verlo en las propiedades de la carpeta. Ya tuapellido tiene denegado el
acceso.

Vamos a desbloquear el acceso al usuario arenitas al recurso Apuntes.


🡪Get-SmbShareAccess -Name Apuntes
Unblock-SmbShareAccess -Name Apuntes -AccountName tuapellido -
force 🡪Get-SmbShareAccess -Name Apuntes|fl

- 34 -
IES Siete Palmas – PNI Profesor: Efrén León
6. Eliminar un recurso compartido.
Vamos a eliminar el recurso comida.
Remove-SmbShare -Name Apuntes –Force
🡪Get-SmbShare -Special:$FALSE

- 35 -
IES Siete Palmas – PNI Profesor: Efrén León

Resumen.
Gestión de carpetas compartidas:
• Get-SmbShare: muestra las carpetas compartidas.
• New-SmbShare: Crea una carpeta compartida. La carpeta debe existir.
• Set-SmbShare: Establece o modifica una propiedad de la carpeta comartida. • Remove-SmbShare:
Elimina una carpeta compartida

Gestión de permisos de acceso a la carpeta compartida:


• Get-SmbShareAccess: muestra los permisos asignados a una carpeta compartida. • Grant-
SmbShareAccess: añade permisos del tipo Permitir.
• Revoke-SmbShareAccess: elimina permisos del tipo Permitir.
• Block-SmbShareAccess: añade permisos del tipo Denegar.
• Unblock-SmbShareAccess: elimina permisos del tipo Denegar

7. Limpieza.
Antes de continuar, vamos a eliminar el recurso compartido datos, los usuarios y las carpetas que hemos
creado.
Remove-SmbShare -Name datos –Force
Remove-LocalUser tunombre, tuapellido

Remove-Item c:\datos –Recurse


Remove-Item c: \Apuntes -Recurse

- 36 -

IES Siete Palmas – PNI Profesor: Efrén León 2.3. Gestión de la red

2.3.1. Información de la red


Vamos a ver cómo extraer toda la información relacionada con la red:
• Adaptadores de red.
• Configuración de red.
• Tabla de enrutamiento.
• DNS.
• Puertos.

Conocer los cmdlets para trabajar con la red:


Los comandos están integrados en los siguientes módulos:
Get-Command -Module NetAdapter
Get-Command -Module NetTCPIP

- 37 -
IES Siete Palmas – PNI Profesor: Efrén León
Obtener ayuda de un comando:
Get-Help
Get-NetIPAddress -Examples

1. Mostrar información de los adaptadores de red.


Get-NetAdapter

- 38 -
IES Siete Palmas – PNI Profesor: Efrén León

Extraemos información de un adaptador:


Get-NetAdapter -Name Ethernet|fl🡪 Podemos ver por ejemplo, la velocidad de
transmisión (LinkSpeed(Gbps)).
InterfaceIndex (ifIndex) Es un número que identifica al adaptador. 🡪

Desactivar el adaptador de red.


Disable-NetAdapter -Name "Ethernet“
Observaremos como en el ícono de red ha cambiado.
Get-NetAdapter -Name Ethernet|fl

- 39 -
IES Siete Palmas – PNI Profesor: Efrén León

Activar el adaptador de red.


Enable-NetAdapter -Name "Ethernet”
2. Configuración de la red.
Información de IP, DNS y puerta de enlace.
Get-NetIPConfiguration🡪 Gip🡪 Podemos utilizar el alias.

- 40 -
IES Siete Palmas – PNI Profesor: Efrén León

Información de un adaptador.
Gip Ethernet 🡪Nos muestra la información referida “Ethernet”
Gip -InterfaceAlias "Ethernet"
Gip -InterfaceIndex 3 🡪Nos muestra la información referida al IfIndex número 3.

Get-NetIPAdress: IP de un adaptador ( DHCP o manual)


Get-NetIPAddress -InterfaceAlias "Ethernet“

- 41 -

IES Siete Palmas – PNI Profesor: Efrén León

Get-NetIPAddress -InterfaceAlias “Ethernet" -AddressFamily IPv4


PrefixOrigin y SuffixOrigin representan la dirección de red y la dirección de host
respectivamente. Sus valores habituales son: manual y dhcp

Get-NetIPAdress: Obtener una propiedad


$IP= Get-NetIPAddress -InterfaceAlias “Ethernet" -AddressFamily IPv4
$IP.IPAddress Obtenemos la IP 🡪

3. Tabla de enrutamiento.
Información de tabla de enrutamiento.
Get-NetRoute -InterfaceIndex 3
Get-NetRoute -InterfaceAlias "Ethernet"

- 42 -
IES Siete Palmas – PNI Profesor: Efrén León

4. DNS.
Información de los DNS.
Get-DnsClientServerAdd ress -InterfaceAlias "Ethernet" |fl Dirección del servidor
DNS 🡪

Resolver DNS Para comprobar si se está resolviendo el DNS. 🡪


Resolve-DnsName www.google.es|ft –autosize
A🡪 Devuelven una dirección IPv4 de 32bits

AAA🡪 Devuelven una dirección IPv6 de 128bits

Cache DNS.
Get-DnsClientCache|measure

- 43 -
IES Siete Palmas – PNI Profesor: Efrén León

Limpiar DNS-Cache
Clear-DNSClientCache
Nota: Las entradas por defecto del archivo hosts no se elimina. El fichero hosts lo podemos
ver como una pequeña libreta de direcciones de IP. Si la IP que estamos buscando está en
la lista, carga directamente la página. Si no está se lo pregunta a nuestro servidor de
Internet (ISP).

W10 Bloc de notas como administrador🡪C:\Windows\System32\drivers\etc

5. Puertos
Información de los puertos.
Get-NetTCPConnection |ft –autosize

Información de los puertos cuyo estado sea establecido.


Get-NetTCPConnection -State Established|ft LocalAddress, LocalPort,
RemoteAddress,RemotePort, State Solo mostramos algunos campos. 🡪

- 44 -
IES Siete Palmas – PNI Profesor: Efrén León

Get-NetTCPConnection |Where-Object {$_.State -match "established"} | ft


LocalAddress, LocalPort, RemoteAddress,RemotePort, State

Información de los puertos.


IP 127.0.0.1. se utiliza para que nuestro ordenador se comunique consigo mismo, es
decir son comunicaciones internas.

Resumen
Información de los adaptadores de red:
• Get-NetAdapter: muestra información de los adaptadores de red.
• Enable-NetAdapter: Activa el adaptador de red.
• Disable-NetAdapter: Desactiva el adaptador de red.

Información de la configuración de la red


• Get-NetIPConfiguration: muestra información de IP, DNS y puerta de
enlace. • Get-NetRoute: nos muestra la tabla de enrutamiento.
• Get-DnsClientServerAddress: Nos muestra los servidores DNS.

2.3.2. Conectividad
Vamos a ver có mo comp robar la conectividad de nuestra red; es decir, si podemos
establecer conexión con un determinado equipo.

Para ello utilizaremos el comando Test-Connection.

Envía paquetes utilizando el protocolo ICMP (Protocolo demensajes de control de Internet)


a uno o más equipos remotos.

A diferencia del comando "ping" tradicional, Test-Connection devuelve un objeto.

- 45 -

IES Siete Palmas – PNI Profesor: Efrén León

1. Comprobar conectividad a la puerta de enlace. (router)


Test-Connection 192.168.21.100 |ft –autosize
Test-Connection 192.168.21.100 -Count 1 –Quiet

Count 1 Hace un ping 🡪 -Quiet Devuelve true si hay conexión. 🡪


Con la opción Buffersize podemos indicarle los bytes que envía. Por defecto manda 32 bytes.

Comprobar conectividad a www.Google.es.


Test-Connection www.google.es -count 1|fl

2. Script para comprobar la conectividad


Vamos hacer un pequeño script para comprobar conectividad con

servidores. - 46 -

IES Siete Palmas – PNI Profesor: Efrén León Script: ConectividadServidores.ps1

****************************************************************** #Conexión con los servidores


# Cabecera
Clear-Host
Write-Host " ----- Conectividad -----"
#Importamos los datos
$datos= Import-Csv -Path C:\material\servidores.csv
#Recorremos los datos
foreach ($i in $datos) {
$respuesta=Test-Connection $i.ip -Count 1 -quiet
if ($respuesta -eq "true") {
Write-Host "$i Conexión establecida"
}else {Write-Host "$i Error de conexión"}
}
****************************************************************** Archivo: servidores.csv

****************************************************************** ip,nombre,localizacion
192.168.21.100,1CS,Ciclos
192.168.100.2,Router,Departamento
192.168.21.188,1CS,Noexiste
****************************************************************** Tenemos los datos
de los servidores en un
archivo llamado: servidores.csv, que lo podemos realizar con el bloc de notas. Un archivo
csv es un documento para representar datos en forma de tabla, en las que las columnas se
separan por comas y las filas por saltos de línea.

Como es lógico, funcionará el ping en 192.168.21.100 y 192.168.100.2 y fallará

192.168.21.188 Resumen de comandos de conectividad.

- 47 -
IES Siete Palmas – PNI Profesor: Efrén León

• Test-Connection: comprobar la conectividad de la red.


2.3.3. Configuración estática y dinámica
Vamos a ver cómo configurar la red de forma estática y dinámica.

1. Configuración estática.
1) Obtenemos información:
Gip Detectamos la Interfaz y la información. Gip ethernet 🡪 🡪
2) Borramos IP y la puerta de enlace:
Remove-NetIPAddress –InterfaceAlias Ethernet -Confirm:$false
Remove-NetRoute -InterfaceAlias Ethernet -Confirm:$false

- 48 -

IES Siete Palmas – PNI Profesor: Efrén León

3) Establecemos la nueva IP:


New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 192.168.0.5 -PrefixLength
24 - DefaultGateway 192.168.21.100

4) Establecemos DNS:
Set-DnsClientServerAdd ress -InterfaceAlias "Ethernet" -ServerAddresses 8.8.8.8, 8.8.4.4

5) Comprobamos:
Gip -InterfaceAlias "Ethernet“

- 49 -
IES Siete Palmas – PNI Profesor: Efrén León

6) Si es necesario, reiniciamos el adaptador:


Restart-NetAdapter -Name "Ethernet"

2. Configuración dinámica.
1. Obtenemos información:
Gip Detectamos la Interfaz y la información. 🡪 🡪 gip -InterfaceAlias

"Ethernet“
2. Borramos IP y la puerta de enlace:
Remove-NetIPAddress –InterfaceAlias Ethernet -Confirm:$false
Remove-NetRoute -InterfaceAlias Ethernet -Confirm:$false

3. Habilitamos DHCP:
Set-NetIPInterface -InterfaceAlias "Ethernet" -Dhcp Enabled

4. Habilitamos DNS automático:


Set-DnsClientServerAdd ress -InterfaceAlias "Ethernet" -ResetServerAddresses

- 50 -
IES Siete Palmas – PNI Profesor: Efrén León

5. Comprobamos:
gip -InterfaceAlias "Ethernet“
6. Si es necesario , reiniciamos el adaptador:
Restart-NetAdapter -Name "Ethernet"

Resumen:
Configuración estática.
• Remove-NetIPAddress: Borramos la IP.
• Remove-NetRoute: Borramos la puerta de enlace.
• New-NetIPAddress: Establecemos una nueva IP.
• Set-DnsClientServerAddress: Establecemos los DNS.

Configuración dinámica.
• Remove-NetIPAddress: Borramos la IP.
• Remove-NetRoute: Borramos la puerta de enlace.
• Set-NetIPInterface: Habilitamos DHCP.
• Set-DnsClientServerAddress: Establecemos los DNS

2.3.4. Configurar la red a través de un script


• Vamos a crear un script que nos permita configurar la red.
• En este apartado será básicamente ejecutar el script y realizar tus pruebas.

Vamos hacer un script que nos permita configurar la IP estática o dinámicamente.


Utilizaremos un menú que nos permita elegir la opción deseada.

- 51 -
IES Siete Palmas – PNI Profesor: Efrén León Script: ConfigurarIp.ps1

****************************************************************** # Configuración de IP
# Definición de funciones
Function Get-Menu{
Clear-Host
Write-Host "Configuración IP"
Write-host "1.- IP-Fija"
Write-Host "2.- IP-DHCP"
Write-Host "3.- Salir"
}
Function Get-Adaptador {
Write-Host "Configuración de la IP"
Get-NetAdapter|ft -AutoSize
$script:interfaz = Read-Host "Introduzca la interfaz (IfIndex)" $script:nombre = Read-
Host "Introduzca el nombre (name)"
#Borramos datos
Remove-NetIPAddress -InterfaceIndex $interfaz -Confirm:$false
Remove-NetRoute -InterfaceIndex $interfaz -Confirm:$false
}

Function Ip-Fija {
Get-Adaptador
#Creamos la nueva IP
$ip = Read-host "Introduzca IP"
$mascara = Read-Host "Introduca la máscar (nºs de unos)"
$gateway = Read-Host "Introduzca el gateway"
$dns1 = Read-host "Introduzca el primer DNS"
$dns2 = Read-host "Introduzca el segundo DNS"
New-NetIPAddress -InterfaceIndex $interfaz $ip -PrefixLength $mascara - DefaultGateway
$gateway
Set-DnsClientServerAddress -InterfaceIndex $interfaz -ServerAddresses ("$dns1","$dns2")
Restart-NetAdapter -Name $nombre
}

Function IP-Dhcp {
Get-Adaptador
#Establecemos IP por Dhcp
Set-NetIPInterface -InterfaceIndex $interfaz -Dhcp enabled
Set-DnsClientServerAddress -InterfaceIndex $interfaz -ResetServerAddresses #Restablecer el
interfaz
Restart-NetAdapter -Name $nombre
}

#Inicio
do{
Get-Menu
$opcion = Read-Host "Elija una opción"
switch ($opcion){
'1'{Ip-Fija}
'2'{IP-Dhcp}

- 52 -
IES Siete Palmas – PNI Profesor: Efrén León

'3'{exit}
Default {Write-Host "Opción incorrecta"}
}
$intro = Read-Host "Pulse intro para continuar"
}while ($true)

******************************************************************

Recordatorio:
Get-ExecutionPolicy
Set-ExecutionPolicy Unrestricted Se puede ejecutar cualquier
scripts 🡪

Ejecuto el script para poner una IP estática: 192.168.31.5


Comprobación:

- 53 -

También podría gustarte