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