Ver destacados

Comandos de PowerShell Windows 10 y Windows Server

Tutorial con 40 comandos PowerShell Windows 10 y Windows Server.
Escrito por
105.6K Visitas  |  Publicado jul 15 2021 13:16
Favorito
Compartir
Comparte esta pagina a tus Amigos y Contactos usando las siguientes Redes Sociales


PowerShell es una herramienta con interfaz de comandos basado en una consola que nos permite comunicarnos mediante estos comandos con nuestro sistema. Como indica su nombre es una Shell que permite la comunicación entre el PC y el usuario ofreciéndonos una interfaz de interacción. Debido a su naturaleza, su uso básicamente se realiza por medio del teclado y la introducción de texto. Windows PowerShell nació como una solución más potente y menos restrictiva a lo que ofrecían otras Shell como el Símbolo de sistema.

 

Como administradores es verdaderamente útil conocer tanto el Símbolo de Sistema como Windows PowerShell para ajustar cualquier elemento interno. Una de las ventajas de PowerShell es que nos permite automatizar procesos y tareas y así facilitar las tareas que queramos realizar. Con los scripts PowerShell útiles o comandos mas usados en PowerShell podemos realizar tareas de Windows 10 fácilmente y con permisos completos de administrador.

 

Tutorial con vídeo para desinstalar y volver a activar Windows PowerShell desde Windows 10.

 

Diferencias entre PowerShell y CMD
La principal diferencia entre el Símbolo de sistema y PowerShell es que esta última puede ejecutar todo lo de cmd y además tareas más complejas que amplían a lo grande sus posibilidades.

 

Con Windows Powershell podremos acceder a elementos básicos de cmd además de otros aspectos internos más complejos de nuestros equipos. WPowerShell además se comporta como un entorno de gestión de scripts potente que simplifica nuestra stareas. También cuenta con la posibilidad de ejecución con control remoto. Debido a su complejidad es normal abarcar PowerShell para un público más profesional y cmd para uno más estándar.

 

A continuación, veremos un listado de comandos que nos serán útiles cuando trabajemos con PowerShell. Te proponemos también el videotutorial para poder abrir Windows PoerShell:

 

 

 

 


1. Comandos más usados en PowerShell


1. Navegar registro de Windows como si fuera un directorio de archivos

Es una función que no muchos saben de serie y es que puedes navegar por los registros de Windows usando la PS.
PS C:\Users\jcarrillo> cd hkcu:
PS HKCU:\> ls
 Hive: HKEY_CURRENT_USER


SKC  VC Name						   Property
---  -- ----					  	 --------
  2   0 AppEvents					  {}
  0  36 Console					    {ColorTable00, ColorTable01, ColorTab...
 13   0 Control Panel				  {}
  0   2 Environment				    {TEMP, TMP}
  4   0 EUDC			   			{}
  1   6 Identities					 {Identity Ordinal, Migrated7, Last Us...
  3   0 Keyboard Layout			    {}
  2   0 Layout						 {}
  0   0 Network					    {}
  3   0 Printers				   	{}
 37   0 Software					   {}
  1   0 System						 {}
  1   8 Volatile Environment		   {LOGONSERVER, USERDOMAIN, USERNAME, U...

 

2. Buscar entre archivos incluyendo sub-carpetas

Podremos realizar una búsqueda en powershell y que se aplica a todos los sub-directorios que existan por y si buscamos en la raíz buscara en toda la partición.
dir –r | select string "quebuscar"

 

3. TOP 5 Procesos con más consumo

Podemos ver cuáles son los procesos que consumen más memoria en el sistema.
-- ps | sort –p ws | select –last 5

 

4. Reiniciar Servicio

Podemos hacer que un servicio se detenga y luego vuelva a iniciar muy útil.
-- Restart-Service DHCP

 

5. Listar Ítems de directorio

Listamos todos los Ítems de un directorio:
-- Get-ChildItem – Force

 

6. Buscar en varios sitios a la vez

Buscamos en una seria de directorios o carpetas:
-- Get-ChildItem –Force c:\directory –Recurse

 

7. Eliminar Archivos PowerShell

Elminar todos los archivos con la Powershell en un directorio sin pedir confirmación en cada uno de ellos.
Remove-Item C:\tobedeleted –Recurse

 

8. Reiniciar la Máquina
Comando para reiniciar la maquina con Powershell directamente.
(Get-WmiObject -Class Win32_OperatingSystem -ComputerName .).Win32Shutdown(2)

 

Ahora nos pasamos a la recolección de información del sistema con la PowerShell.

 

 


2. Comandos PowerShell Información del Sistema

 

9. Información del hardware

Obtiene la información del sistema en uso.
Get-WmiObject -Class Win32_ComputerSystem

 

10. Información de la BIOS

Lista el tipo de BIOS del sistema en uso con el siguiente comando:
Get-WmiObject -Class Win32_BIOS -ComputerName

 

11 Actualizaciones Del Sistema

Lista todas las actualizaciones de Windows instaladas en el sistema se incluyen QFES o archivos de Windows Update.
Get-WmiObject -Class Win32_QuickFixEngineering -ComputerName .

 

12. Usuario en linea

Muestra el usuario que está conectado en el sistema.
Get-WmiObject -Class Win32_ComputerSystem -Property UserName -ComputerName

 

13. Aplicaciones Instaladas

Muestra una lista con todas las aplicaciones instaladas con solo nombre sin descripción:
Get-WmiObject -Class Win32_Product -ComputerName . | Format-Wide -Column 1

 

14. Mostrar IP

Muestra todas las IP asociadas a la maquina físicas o virtuales.
Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName . | Format-Table -Property IPAddress

 

15. Mayor información de la red

Obtenemos mayor información como la interfaz asociada y los DNS.
Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName . | Select-Object -Property [a-z]* -ExcludeProperty IPX*,WINS*

 

16. NIC con DHCP

Muestra las interfaces de red configuradas en DHCP que estén habilitadas.
Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter "DHCPEnabled=true" –ComputerName

 

17. Habilitar interfaces en DHCP

Habilita las interfaces que estén en DHCP en el Sistema con Powershell.
Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=true -ComputerName . | ForEach-Object -Process {$_.EnableDHCP()}

 

Nos vamos ahora a la administración de aplicaciones, tema muy interesante y demandado.

 


3. Administración aplicaciones PowerShell


18. Instalar paquetes de manera Remota

Instalar un paquete MSI en una computadora remota.
(Get-WMIObject -ComputerName TARGETMACHINE -List | Where-Object -FilterScript {$_.Name -eq "Win32_Product"}).Install(\\MACHINEWHEREMSIRESIDES\path\package.msi)

 

19. Actualizar un paquete de manera Remota

Actualizamos un paquete MSI en un computador remoto.
(Get-WmiObject -Class Win32_Product -ComputerName . -Filter "Name='name_of_app_to_be_upgraded'").Upgrade(\\MACHINEWHEREMSIRESIDES\path\upgrade_package.msi)

 

20. Eliminar un paquete MSI

Removemos / Eliminamos un paquete con extensión MSI de la maquina en uso.
(Get-WmiObject -Class Win32_Product -Filter "Name='product_to_remove'" -ComputerName . ).Uninstall()

 

21. Apagar Remotamente

Podemos incluso apagar una máquina remota usando este comando:
Start-Sleep 60; Restart-Computer –Force –ComputerName TARGETMACHINE

 

22. Añadir Impresoras

Añadir una impresora a nuestro equipo pero antes debe ser reconocida instalando los drivers necesarios.
(New-Object -ComObject WScript.Network).AddWindowsPrinterConnection("\\printerserver\hplaser3")

 

23. Eliminar Impresora con PowerShell

Eliminar / quitar una impresora de nuestro equipo es importante saber que no desinstala los controladores.
Remove a printer -- (New-Object -ComObject WScript.Network).RemovePrinterConnection("\\printerserver\hplaser3 ")

 

24. Entrar a una PowerShell Remota

Podemos ingresar a una PowerShell de una maquina remota pero antes debemos tener habilitado el remote management.
enter-pssession TARGETMACHINE

 

25. Correr Script en Remoto

Para finalizar podemos invocar un script en un equipo en remoto y es uno de los mas interesantes.
invoke-command -computername machine1, machine2 -filepath c:\Script\script.ps1

 


4. Administrar archivos PowerShell

 

 

26.Lista de comandos según un parámetro
Dentro de los asteriscos pondremos el parámetro que queremos que filtre los resultados. En este caso veremos todos los comandos que incluyen -service.
Get-Command *parámetro*
Get-Command *-service*

 

 

27. Ejecutar un script
Con este comando podremos ejecutar un script desde PowerShell incluso pudiendo iniciar una función por medio de una variable. Puedes proporcionar una expresión. Debes incluir el comando y a continuación el comando o la expresión.
Invoke-Expression expresion
Invoke-Expression c:\scripts\analisis.ps1

 

28. Cambiar nivel de seguridad
Dentro de Powershell existen ciertas restricciones de seguridad que acotan ciertas actuaciones, aunque podamos hacer ciertas tareas como el trabajo con script. Para cambiar el nivel de seguridad usaremos el siguiente comando que debe ir acompañado de los 4 niveles posibles: Restricted, Remote Signed, All Signed, o Unrestricted
Set-ExecutionPolicy -ExecutionPolicy Restricted

 

 

 

29. Buscar información en una ubicación
Con el siguiente comando podremos obtener información concreta en una ruta determinada como puede ser un archivo. Escribiremos el comando junto con la ruta o la cadena y parámetros. Si queremos que se arrojen los elementos que comiencen por P en el directorio actual usaremos lo siguiente:
Get-Item P*

 

30. Copiar archivos y directorios
Con el siguiente commando podremos copiar elementos dentro de tu disco e incluso claves de registro, es parecido al comando cp de CMD. Este mismo comando puede ser usado para copiar y modificar el nombre de los archivos a la vez. Vamos a copiar y cambiar el nombre a a probando usando el comando copy-item
Copy-Item "probando.jpg" -Destination "C:\Varios\probando2.jpg"

 

31. Ver contenido de archivo
Puedes con el siguiente commando het-content ver lo que contiene un archivo de extensión de texto sin necesidad de abrirlo con un programa, sino desde la propia Powershell. Con el parámetro -TotalCount le decimos qué número de líneas queremos mostrar, en este caso 25.
Get-Content "C:\Users\Solvetic\Desktop\pruebatexto.txt" -TotalCount 25

 


5. Ver usuarios PowerShell

 

32. Ver información de usuarios
Con este comando podemos listar información sobre los usuarios que hay en nuestro sistema:
Get-LocalUser

 

33. Información concreta de usuario
Para ver la información de forma básica sobre un usuario usaremos lo siguiente:
Get-LocalUser -Name nombreusuario

 

34. Información completa usuario
Si lo que queremos es toda la información sobre un usuario usaremos el siguiente comando:
Get-LocalUser -Name nombreusuario|fl

 


6. Ver grupos PowerShell


Para a ver comandos para mostrar información sobre los grupos usando comandos PowerShell.
35. Ver grupos Powershell
Para ver todos los grupos dentro del sistema usaremos:
Get-LocalGroup

 

36. Información concreta de grupo
Si solo queremos información sobre un determinado grupo usaremos:
Get-LocalGroup -Name nombregrupo

 

 

37. Información completa grupo
Si queremos información pero más completa sobre un grupo usaremos:
Get-LocalGroup -Name nombregrupo|fl

 


7. Ver discos PowerShell


Para a ver comandos para mostrar información sobre los discos usando comandos PowerShell tenemos estos ejemplos:
38. Ver discos Powershell
Para ver todos los discos dentro del sistema usaremos:
Get-Disk 

 

39. Información concreta de disco
Si solo queremos información sobre un determinado disco usaremos:
Get-Disk -Number numerodisco|fl

 

 

40. Información completa disco
Si queremos información pero más completa sobre un disco del sistema usaremos:
Get-Partition -DiskNumber numerodisco

 

Se han listado comandos PowerShell windows 10 que pueden facilitar muchas tareas como administrador desde tareas como explorar en un directorio a un poco más complicadas como habilitar una NIC con DHCP. Es una lista de los comandos que pueden usarse en tareas en general si tienes alguna sugerencia u otro comando interesante no dudes en dejarlo en los comentarios.

 

Descubre este completo manual con los comandos cmdlets imprescindibles para usar en Windows PowerShell.

¿Te ayudó este Tutorial?

Ayuda a mejorar este Tutorial!
¿Quieres ayudarnos a mejorar este tutorial más? Puedes enviar tu Revisión con los cambios que considere útiles. Ya hay 0 usuario que han contribuido en este tutorial al enviar sus Revisiones. ¡Puedes ser el próximo!