Comandos de PowerShell

 

 

Seguimos con otra entrada de la Powershell enfocada a Windows Server 2012, esta vez con 25 comandos y ejemplos de donde podrían usarse cubriendo desde lo básico a ejemplos más avanzados.

 

 

 

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

 H

 

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. Remover / 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 / Remover 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

 

 

27.Ver cache de nuestro equipo

 

Get-DnsClientCache

 

28.Borrar cache de nuestro equipo

 

Clear-DnsClientCache

 

 

Soportes Técnicos Informática Video Vigilancia  Domotica

28038   Madrid

Tel: 34-676006838  - email: info@soportesit.com