Cargando

Ir a contenido

X

 


Comandos de PowerShell Windows 10 y Windows Server

Recopilación con los mejores comandos útiles de PowerShell para los administradores de sistemas.


Escrito por jul 25 2019 12:25 powershell



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.

 

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:

 

 

Para estar al día, recuerda suscribirte a nuestro canal de YouTube!   SUSCRIBETE

 

 


1. Entradas comunes 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 Maquina
Comando para riniciar 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. Recolectando Información del Sistema con PowerShell

 

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 de aplicaciones con 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. Administración de archivos con PowerShell

 

 

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*

 

 

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

 

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

 

 

 

Buscar información en una ubicación
Con el siguiente commando 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*

 

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"

 

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

 

 

Se han listado comandos 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.



AYUDA A MEJORAR ESTE TUTORIAL!

¿Crees que puedes corregir o mejorar este tutorial? Puedes enviar tu Edición con los cambios que consideres útiles.

0 usuarios han editado este tutorial. ¡Edita y conviértete en un reconocido experto!


Tutoriales Relacionados



4 Comentarios


Fiore Nella
oct 19 2015 19:26

Como siempre nos tienes al dia con interesantes tutoriales, gracias Jonathan, esto sirve mucho para los de sistemas.

Gracias


Cesar Ortiz
oct 21 2015 14:36

Muy buenos estos comandos para la gestión del DHCP, conexión remota a equipos para su gestión entre otros. Gracias Jonathan.


Cristina Garcia
oct 22 2015 21:40

A mi también me ha gustado. gracias Jonathan.

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!
10
VOTA
5
100%
4
0%
3
0%
2
0%
1
0%

  Información

  •   Publicado jul 25 2019 12:25
  •   Visitas 68.2K
  •   Nivel
    Profesional