0% encontró este documento útil (0 votos)
27 vistas

Using Windows PowerShell

Este documento describe una práctica de laboratorio para explorar el uso de PowerShell en Windows. La práctica cubre cómo acceder a la consola de PowerShell, comparar comandos de PowerShell y el símbolo de sistema, explorar cmdlets de PowerShell y usar el comando netstat.

Cargado por

manuteoihu
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
27 vistas

Using Windows PowerShell

Este documento describe una práctica de laboratorio para explorar el uso de PowerShell en Windows. La práctica cubre cómo acceder a la consola de PowerShell, comparar comandos de PowerShell y el símbolo de sistema, explorar cmdlets de PowerShell y usar el comando netstat.

Cargado por

manuteoihu
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 12

Práctica de laboratorio: Utilizar WindowsPowerShell

Objetivos
El objetivo de esta práctica de laboratorio es estudiar algunas de las funciones de PowerShell.
Parte 1: Acceder a la consola PowerShell.
Parte 2: Explorar los comandos del Command Prompt y del PowerShell.
Parte 3: Explorar cmdlets.
Parte 4: Explorar el comando netstat utilizando PowerShell.
Parte 5: Vaciar la papelera de reciclaje utilizando PowerShell

Antecedentes / Escenario
PowerShell es una potente herramienta de automatización. Es una consola de comandos, y también un
lenguaje de scripts. En esta práctica de laboratorio utilizarán la consola para ejecutar algunos de los
comandos disponibles tanto en el símbolo del sistema como en PowerShell. PowerShell también tiene
funciones que pueden crear scripts para automatizar tareas y trabajar junto con el Sistema
operativo Windows.

Recursos necesarios
 1 PC Windows con PowerShell instalado y acceso a internet

Instrucciones

Parte 1: Acceso a la consola de PowerShell.


a. Hagan clic en Inicio. Busquen y seleccionen powershell.
b. Hagan clic en Inicio. Busquen y seleccionen el símbolo del sistema.

Parte 2: Estudien los comandos del símbolo del sistema y de PowerShell.


Pregunta:
a. Introduzcan dir en los cursores de ambas ventanas.
¿Qué salidas arroja el comando dir?
15 dirs 3d objects, Contacts , Desktop,Documents ,Downloads…

Pregunta:
b. Prueben otro comando que hayan utilizando en el símbolo del sistema, como ping, cd o ipconfig.
¿Cuáles son los resultados?
Son exactamente los mismos

Parte 3: Estudien cmdlets.


a. Los comandos de PowerShell, cmdlets, se construyen como una cadena de verbo-sustantivo. Para
identificar el comando de PowerShell que se utilizará para generar una lista de los subdirectorios y
archivos presentes en un directorio, introduzcan Get-Alias dir en el cursor de PowerShell.

 2017 - 2024 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 1 de 12
www.netacad.com
Práctica de laboratorio: Utilizar Windows PowerShell

PS C:\Users\CyberOpsUser> Get-Alias dir

CommandTypeNameVersionSource
----------------------------
Aliasdir -> Get-ChildItem
Pregunta:

¿Cuál es el comando de PowerShell correspondiente a dir?


Get-ChildItem
Para obtener información más detallada acerca de los cmdlets, realice una búsqueda en Internet de los
cmdlets de Microsoft PowerShell.
Un cmdlet es un comando de una sola característica que manipula objetos en PowerShell. Los cmdlets
se pueden reconocer por su formato de nomenclatura, un verbo y un nombre separados por un guión (-),
como Get-Help, Get-Process y Start-Service. Un patrón de verbo es un verbo expresado con caracteres
comodín, como en W*. Un patrón de nombre es un nombre expresado con caracteres comodín, como en
evento.

Los cmdlets deben ser simples y estar diseñados para usarse en combinación con otros cmdlets. Por
ejemplo, los cmdlets Get solo deben recuperar datos, los cmdlets Set solo deben establecer o cambiar
datos, los cmdlets Format solo deben dar formato a los datos y los cmdlets Out solo deben dirigir la
salida a un destino especificado.

Para cada cmdlet, proporcione un archivo de ayuda al que se pueda acceder escribiendo lo siguiente:

get-help *cmdlet-name* -detailed

La vista detallada del archivo de ayuda del cmdlet debe incluir una descripción del cmdlet, la sintaxis del
comando, descripciones de los parámetros y un ejemplo que ilustre el uso del cmdlet.

Los cmdlets se usan de forma similar a los comandos y utilidades del sistema operativo. Los comandos
de PowerShell no distinguen entre mayúsculas y minúsculas.
Cierren la ventana del símbolo del sistema cuando hayan terminado.

Parte 4: Estudien el comando netstat utilizando PowerShell.


a. En el PowerShell, introduzca netstat -h para ver las opciones disponibles para el comando netstat
PS C:\Users\CyberOpsUser> netstat -h

Muestra estadísticas de protocolos y las conexiones de red TCP/IP actuales.

NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-x] [-t] [interval]
-a Displays all connections and listening ports.
-b muestra el ejecutable que se utiliza para crear cada puerto de conexión o
escucha. En algunos casos, los ejecutables más conocidos alojan varios componentes
independientes, y en estos casos se muestra la secuencia de componentes que se utiliza
para crear el puerto de conexión o escucha. En este caso, el nombre del archivo
ejecutable se encuentra entre los signos [] en la parte inferior, arriba se encuentra
el componente al que le da nombre, y así sucesivamente hasta que se alcanza TCP/IP.

 2017 – 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 2 de 12
www.netacad.com
Práctica de laboratorio: Utilizar Windows PowerShell

Tenga en cuenta que esta opción demanda tiempo y fallará a menos que cuente con los
permisos suficientes.
<some output omitted>

b. Para mostrar la tabla de routing con las rutas activas, introduzcan netstat -r en el cursor.
PS C:\Users\CyberOpsUser> netstat -r
===========================================================================
Interface List
3...08 00 27 a0 c3 53 ......Intel(R) PRO/1000 MT Desktop Adapter
10...08 00 27 26 c1 78 ......Intel(R) PRO/1000 MT Desktop Adapter #2
1...........................Software Loopback Interface 1
===========================================================================

IPv4 Route Table


===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.5 25
127.0.0.0 255.0.0.0 On-link 127.0.0.1 331
127.0.0.1 255.255.255.255 On-link 127.0.0.1 331
127.255.255.255 255.255.255.255 On-link 127.0.0.1 331
169.254.0.0 255.255.0.0 On-link 169.254.181.151 281
169.254.181.151 255.255.255.255 On-link 169.254.181.151 281
169.254.255.255 255.255.255.255 On-link 169.254.181.151 281
192.168.1.0 255.255.255.0 On-link 192.168.1.5 281
192.168.1.5 255.255.255.255 On-link 192.168.1.5 281
192.168.1.255 255.255.255.255 On-link 192.168.1.5 281
224.0.0.0 240.0.0.0 On-link 127.0.0.1 331
224.0.0.0 240.0.0.0 On-link 192.168.1.5 281
224.0.0.0 240.0.0.0 On-link 169.254.181.151 281
255.255.255.255 255.255.255.255 On-link 127.0.0.1 331
255.255.255.255 255.255.255.255 On-link 192.168.1.5 281
255.255.255.255 255.255.255.255 On-link 169.254.181.151 281
===========================================================================
Persistent Routes:
None

Tabla de routing IPv6


===========================================================================
Active Routes:
If Metric Network Destination Gateway
1 331 ::1/128 On-link
3 281 fe80::/64 On-link
10 281 fe80::/64 On-link
10 281 fe80::408b:14a4:7b64:b597/128
On-link
3 281 fe80::dd67:9e98:9ce0:51e/128
On-link
1 331 ff00::/8 On-link
3 281 ff00::/8 On-link

 2017 – 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 3 de 12
www.netacad.com
Práctica de laboratorio: Utilizar Windows PowerShell

10 281 ff00::/8 On-link


===========================================================================
Persistent Routes:
None
Pregunta:

¿Qué es el gateway IPv4?


La puerta de enlace de el equipo

c. Abran y ejecuten una segunda PowerShell con privilegios elevados. Hagan clic en Inicio. Busquen
PowerShell, hagan clic derecho en Windows PowerShell y seleccione Run as Administrator (Ejecutar
como administrador). Hagan clic en Yes (Sí) para permitir que esta aplicación realice cambios en sus
dispositivos.

d. El comando netstat también puede mostrar los procesos asociados con las conexiones TCP activas.
Introduzca el comando netstat -abno en el indicador.
PS C:\Windows\system32> netstat -abno

Active Connections

Proto Local Address Foreign Address State PID


TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 756
RpcSs
[svchost.exe]
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
Can not obtain ownership information
TCP 0.0.0.0:49664 0.0.0.0:0 LISTENING 444
Can not obtain ownership information
TCP 0.0.0.0:49665 0.0.0.0:0 LISTENING 440
Schedule
[svchost.exe]
TCP 0.0.0.0:49666 0.0.0.0:0 LISTENING 304
EventLog
[svchost.exe]
TCP 0.0.0.0:49667 0.0.0.0:0 LISTENING 1856
[spoolsv.exe]
TCP 0.0.0.0:49668 0.0.0.0:0 LISTENING 544
<some output omitted>

 2017 – 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 4 de 12
www.netacad.com
Práctica de laboratorio: Utilizar Windows PowerShell

e. Abran el Administrador de tareas. Diríjanse a la ficha Details (Detalles). Hagan clic en el


encabezado PID para que los PID estén en orden.
f. Seleccionen uno de los PID de los resultados de netstat -abno. En este ejemplo se utiliza el PID 756.
g. Localicen el PID seleccionado en el Administrador de tareas. En el Administrador de tareas, hagan
clic derecho sobre el PID seleccionado para abrir el cuadro de diálogo Properties (Propiedades) y ver
más información.

Pregunta:

¿Qué información pueden obtener de la ficha Details y del cuadro de diálogo Properties correspondientes
al PID que seleccionaron?El Estado el nombre de usuario la CPU Memoria usada y la virtualizacion

Parte 5: Vaciar la papelera de reciclaje utilizando PowerShell.


Los comandos de PowerShell pueden simplificar la administración de una gran de red informática. Por
ejemplo: si quieren implementar una nueva solución de seguridad en todos los servidores de la red, podrían
utilizar un comando o script de PowerShell para implementar los servicios y verificar que estén funcionando.
También pueden ejecutar comandos de PowerShell para simplificar acciones cuya ejecución requeriría varios
pasos de utilizar las herramientas de escritorio gráficas de Windows.
a. Abran la Papelera de reciclaje. Verifiquen que haya elementos que se puedan eliminar de su PC en
forma permanente. Si no es así, restauren esos archivos.
b. Si no hay ningún archivo en la Papelera de reciclaje, creen uno nuevo (como puede ser un archivo de
texto con el Bloc de notas) y colóquenlo en la Papelera.
c. En una consola de PowerShell introduzcan clear-recyclebin en el cursor.
PS C:\Users\CyberOpsUser> clear-recyclebin

Confirm
Are you sure you want to perform this action?
Performing the operation "Clear-RecycleBin" on target "All of the contents of the
Recycle Bin".
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): y
Pregunta:

¿Qué sucedió con los archivos de la Papelera de reciclaje?


Se eliminaron

 2017 – 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 5 de 12
www.netacad.com
Práctica de laboratorio: Utilizar Windows PowerShell

Pregunta de reflexión
PowerShell fue desarrollado para la automatización de tareas y la administración de la configuración.
Utilizando el internet, realice una búsqueda de comandos que pueden simplificar sus tareas como analista de
seguridad Registren sus conclusiones.

Parte 6: Comandos básicos e imprescindibles

Una vez que hemos conocido más sobre PowerShell y ya sabemos de lo que se trata realmente, os pasamos
a mostrar una serie de comandos básicos e imprescindibles que debemos de conocer para trabajar con esta
consola en línea de comandos. A medida que vayamos dominándolos podemos ir profundizando en ellos y
lograr tener un mayor control sobre el sistema.
Ayuda para usar cualquier comando

Es posible que a la hora de usar comandos de PowerShell nos encontremos con que nos sepamos cómo
poder utilizarlos, lo que para los usuarios poco experimentados se puede convertir en un serio problema.
Para ello podemos usar el comando Get-Help con el cual obtendremos diferentes tipos de ayuda que nos
proporciona el propio Windows. Ya sea una ayuda genérica, sobre un comando en concreto o saber cómo
funciona cualquier comando:

Get-Help Get-Help <comando> Get-Help <comando> -Full Get-Help <comando> -Example Get-Help *

En ocasiones, también nos puede resultar útil usar el comando Update-Help, que nos va a servir para
descargar librerías de ayuda.

 2017 – 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 6 de 12
www.netacad.com
Práctica de laboratorio: Utilizar Windows PowerShell

Buscar y abrir archivos

En el caso de que necesitamos buscar un directorio concreto desde esta consola, el comando Get-Item que
se encargará de mostrarnos su contenido en cuestión. Hay que tener en cuenta que el uso y tratamiento de
carpetas en el sistema operativo es algo habitual, y PowerShell nos permite tener un mayor control sobre
estos elementos.

Para ello escribiremos:

Get-Item <ruta>

Si lo que queremos es abrir un archivo desde esta consola, debemos de usar un comando similar al anterior
como es:

Get-Content <ruta al archivo con su extensión>

Este comando es más útil para obtener listas de información en Windows PowerShell directamente.
Buscar un comando

Es probable que en el momento de querer ejecutar cualquier comando puede que no nos acordemos
exactamente de su sintaxis por lo que PowerShell cuenta con la posibilidad de buscarlos con sólo
acordándonos de una parte de este.

Para poder encontrar comandos de un tipo similar o que contengan una frase en particular es posible usar el
cmdlet Get-Command. Sin embargo, no enumera todos los cmdlet en PowerShell, por lo que se encarga de
usar algunos filtros. Es posible usar los comandos:

Get-Comand – Name <nombre> Get-Commad – CommandType <tipo>

El primer comando lo usaremos para obtener comandos relacionados con el nombre que le indiquemos,
mientras que el segundo se usa para poder realizar una función en concreto.

 2017 – 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 7 de 12
www.netacad.com
Práctica de laboratorio: Utilizar Windows PowerShell

Crear un nuevo directorio

Con PowerShell también podemos crear un nuevo directorio utilizando el comando mkdir. Es importante
que a la hora de darle el nombre evitemos usar los espacios.

Por ejemplo, podemos crear el directorio DocumentoSoftZone

mkdir DocumentoSoftZone

También podemos evitar el uso de espacios insertando un guion o guion bajo como, por ejemplo:

mkdir DocumentoSoftZone
Copiar y borrar archivos o directorios

Otra de las funciones de la consola de Windows es la posibilidad de copiar y borrar archivos o directorios,
para lo cual podemos usar los comandos Copy-Item o Remove-Item en función de lo que necesitemos.

Para copiar un archivo o directorio usamos:

Copy-Item «ruta al archivo de origen con extensión» -Destination «ruta de destino»

En el caso de que lo que queramos sea borrarlo debemos optar por:

Remove-Item «ruta al archivo con extensión»


Listado de todos los archivos dentro de una carpeta

Si queremos ver todos los elementos que se encuentran dentro de una carpeta podemos hacerlo a través del
comando:

Get-ChildItem

Le podemos añadir el parámetro Force para mostrar también los elementos ocultos del sistema, por
ejemplo, de la unidad C:.

Get-ChildItem -Path C: -Force


Crear archivos y carpetas

Con PowerShell también tenemos la posibilidad de crear elementos nuevos en función del tipo de elemento.
En caso de que tenga más de un tipo de elemento será necesario especificar el tipo de elemento.

Este comando crea una nueva carpeta:

New-Item -Path 'C:tempNueva carpeta' -ItemType Directory

Este comando crea un nuevo archivo vacío:

New-Item -Path 'C:tempNueva carpetafile.txt' -ItemType File

 2017 – 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 8 de 12
www.netacad.com
Práctica de laboratorio: Utilizar Windows PowerShell

Saber todo el contenido de un archivo

Si necesitamos saber todo el contenido de un archivo de texto en una ruta concreta podemos usar el
comando Get-Content, para poder examinarlo sin necesidad de abrirlo. Si se utiliza Get-Content solo, no
ofrece mucha utilidad, pero se puede mezclar con cmdlets más específicos con el objetivo de obtener
resultados más precisos

Por ejemplo, podemos ver el contenido del archivo softzone.htm

Get-Content "C:/softzone.txt"

También podemos ver 10 líneas de texto incluidos en softzone.htm

Get-Content "C:/softzone.txt" – TotalCount 20


Cambiar la política de ejecución

Si bien PowerShell cuenta con soporte para crear y ejecutar scripts, También dispone de restricciones para
cada uno de ellos como parte de medidas de seguridad. Es posible cambiar el nivel de seguridad a
cualquiera en cuatro niveles de restricciones. Para ello es posible usar el comando Set-
ExecutionPolicy seguido de cualquiera de los niveles de seguridad que veremos a continuación:

Set-ExecutionPolicy Unrestricted Set-ExecutionPolicy All Signed Set-ExecutionPolicy Remote


Signed Set-ExecutionPolicy Restricted

En esta lista, las políticas de seguridad van desde el menos restrictivo hasta el más restrictivo.
Ver, iniciar, detener, suspender o reiniciar un servicio o proceso

Windows cuenta con determinados servicios que son pequeños procesos de aplicaciones utilizados que
siempre se ejecutan en segundo, como, por ejemplo, para mantenerse siempre en alerta para ejecutarse o
buscar actualizaciones en segundo plano.

Lista de servicios en ejecución

Si queremos ver en PowerShell una lista completa de los servicios que se están ejecutando debemos usar el
comando Get-Service. Con la ayuda de otros comandos podemos realizar determinadas acciones como:

Start-Service <nombre del servicio> Stop-Service <nombre del servicio> Suspend-Service


<nombre del servicio> Resume-Service <nombre del servicio> Restart-Service <nombre del
servicio>

Los comandos mostrados en orden descendente podemos realizar acciones como iniciar un nuevo proceso,
detener uno en ejecución, suspender, reanudar o reiniciarlo.

 2017 – 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 9 de 12
www.netacad.com
Práctica de laboratorio: Utilizar Windows PowerShell

Lista de los procesos abiertos

De forma similar podemos trabajar con los procesos de Windows. Para ver una lista con todos los procesos
abiertos podemos utilizar el comando Get-Process. Con él podemos realizar determinadas acciones como:

Start-Process <nombre del proceso> Stop-Process <nombre del proceso> Wait-Service <nombre
del proceso>

En la lista en orden descendente, podemos iniciar un proceso nuevo, detenerlo o ponerlo en espera.

Si queremos acceder al historial de procesos que hemos ejecutado en el equipo desde que se ha iniciado
sesión, debemos utilizar comando:

Get-History
Ejecutar aplicaciones UWP en Windows

Una de las finalidades de PowerShell es la posibilidad de ejecutar aplicaciones UWP de manera rápida, por
lo que podemos usar para abrir determinadas aplicaciones o crear nuestros propios scripts. Para ello usamos
el comando Star-Process.

Por ejemplo, si queremos abrir la Configuración de Windows usamos:

Start-Process «ms-settings:»

 2017 – 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 10 de 12
www.netacad.com
Práctica de laboratorio: Utilizar Windows PowerShell

Si lo que queremos es usar una aplicación UWP como Spotify el comando a escribir sería

Start-Process «spotify:»

De esta forma, sin necesidad de usar la interfaz gráfica de Windows, podemos ejecutar aplicaciones tanto
del sistema como descargadas de la Microsoft Store.
Instalar cualquier navegador

Otra de las funciones que también tenemos a nuestra disposición a través de PowerShell es descargar e
instalar directamente navegadores web como Chrome, Firefox y Opera utilizando en comando Winget.
Dependiendo de que navegador queramos descargar de instalar en nuestro PC, lo primero que debemos
hacer es abrir PowerShell con permisos de administrador y acceder al directorio donde queremos descargar
el navegador que, posteriormente se instalará automáticamente.

A continuación, si queremos descargar Chrome, debemos utilizar el siguiente comando.

winget install --id=Google.Chrome

Para Firefox, el comando es

winget install --id=Mozilla.Firefox

Y para descargar Opera es este otro

winget install --id=Opera.OperaGX

También podemos instalar Brave directamente desde PowerShell utilizando este comando

winget install --id BraveSoftware.BraveBrowser


Desinstalar aplicaciones desde PowerShell

Desde la línea de comandos de Powershell también podemos, además de instalar aplicaciones,


desinstalarlas de nuestro equipo, aunque el método, obviamente, no es tan sencillo como a través de la

 2017 – 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 11 de 12
www.netacad.com
Práctica de laboratorio: Utilizar Windows PowerShell

Windows, ya que debemos utilizar únicamente comandos para realizar tarea. Pero, antes de desinstalar una
aplicación, debemos identificarla en el equipo y cerrar los procesos asociados si todavía se encuentra abierta
en el equipo. Para identificar la aplicación, utilizaremos el comando

Get-Service

En la segunda columna, Name, se encuentra el nombre de la aplicación que debemos utilizar, en primer
lugar, para cerrarla y detener los procesos en segundo plano y también para desinstalar del equipo. Para
cerrar completamente la aplicación desde PowerShell, utilizamos el comando

Stop-Process <nombre del proceso>

Una vez hemos cerrado la aplicación, ya podemos desinstalarla desde PowerShell utilizando el siguiente
comando:

Get-AppxPackage *nombreaplicación* | Remove-AppxPackage

Utilizar PowerShell para eliminar aplicaciones nativas de Windows 10 y Windows 11 el mejor método para
hacerlo, ya que Windows no nos permite realizar este proceso desde la interfaz gráfica en la mayoría de las
aplicaciones nativas.

Si durante el proceso, a pesar de ejecutar PowerShell con permisos de Administrador, se presenta algún
problema o limitación debido a las políticas de ejecución de Windows, podemos solucionar rápidamente
este problema modificándolas con este comando

PowerShell -ExecutionPolicy Unrestricted

 2017 – 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 12 de 12
www.netacad.com

También podría gustarte