30 Comandos Imperdibles de PowerShell para Principiantes
Si estás dando tus primeros pasos en PowerShell, aquí te presentamos una selección de 30 comandos esenciales que te ayudarán a familiarizarte con este potente entorno de scripting.
Gestión de Archivos y Directorios
Listar archivos y directorios: Usa el comando **Get-ChildItem** para obtener una lista de los archivos y directorios dentro de una ubicación específica. Por ejemplo:
«`
Get-ChildItem C:Documents
«`
Cambiar de directorio: Utiliza **Set-Location** para cambiar al directorio que deseas. Por ejemplo:
«`
Set-Location C:Windows
«`
Copiar archivos o directorios: Con el comando **Copy-Item**, puedes hacer copias de seguridad de tus archivos importantes. Por ejemplo:
«`
Copy-Item C:example.txt -Destination D:
«`
Mover archivos o directorios: Si necesitas reorganizar tus archivos, **Move-Item** es el comando adecuado. Por ejemplo:
«`
Move-Item C:example.txt -Destination D:
«`
Eliminar archivos o directorios: Para eliminar archivos no deseados o directorios vacíos, utiliza el comando **Remove-Item**. Por ejemplo:
«`
Remove-Item C:example.txt
«`
Crear nuevos archivos o directorios: Si necesitas crear una nueva carpeta o archivo, el comando **New-Item** te será de gran utilidad. Por ejemplo:
«`
New-Item C:newfolder -ItemType Directory
«`
Obtener Información y Contenido
Leer el contenido de un archivo: Con **Get-Content**, puedes visualizar el contenido de un archivo específico. Por ejemplo:
«`
Get-Content C:example.txt
«`
Ver el historial de comandos: Para consultar los comandos previamente ejecutados, utiliza el comando **Get-History**.
Listar los procesos en ejecución: Si necesitas conocer los procesos que se están ejecutando en tu sistema, **Get-Process** es el comando perfecto.
Explorar los servicios del sistema: El comando **Get-Service** te muestra una lista completa de los servicios disponibles en tu sistema.
Administración y Control del Sistema
Iniciar un servicio: Usa **Start-Service** para iniciar un servicio en específico. Por ejemplo:
«`
Start-Service -Name «wuauserv»
«`
Detener un servicio: Si deseas detener un servicio en particular, puedes utilizar **Stop-Service**. Por ejemplo:
«`
Stop-Service -Name «wuauserv»
«`
Reiniciar un servicio: Si necesitas reiniciar un servicio, el comando **Restart-Service** es lo que necesitas. Por ejemplo:
«`
Restart-Service -Name «wuauserv»
«`
Iniciar un proceso o aplicación: Si deseas abrir una aplicación o ejecutar un proceso, puedes lograrlo utilizando el comando **Start-Process**. Por ejemplo:
«`
Start-Process notepad
«`
Terminar un proceso: Si deseas cerrar una aplicación o proceso en particular, utiliza **Stop-Process**. Por ejemplo:
«`
Stop-Process -Name «notepad»
«`
Reiniciar la computadora: En caso de necesitar reiniciar tu computadora, puedes hacerlo utilizando el comando **Restart-Computer**.
Apagar la computadora: Si deseas apagar tu computadora de forma segura, utiliza **Shutdown-Computer**.
Trabajo con Redes
Prueba la conectividad a un host: Utiliza **Test-Connection** para probar la conectividad a un host determinado. Por ejemplo:
«`
Test-Connection google.com
«`
Obtener información sobre las configuraciones de IP: Si deseas obtener información sobre las configuraciones de IP de tu sistema, utiliza el comando **Get-NetIPAddress**.
Resolver un nombre a IP: Utiliza el comando **Resolve-DnsName** para convertir un nombre en una dirección IP. Por ejemplo:
«`
Resolve-DnsName google.com
«`
Automatización y Scripting
Ejecutar acciones en múltiples objetos: Si necesitas ejecutar acciones en varios objetos, utiliza **ForEach-Object**. Por ejemplo:
«`
Get-Process | ForEach-Object { $_.ProcessName }
«`
Filtrar objetos: Si deseas filtrar objetos según ciertos criterios, utiliza **Where-Object**. Por ejemplo:
«`
Get-Process | Where-Object { $_.CPU -gt 10 }
«`
Ejecutar comandos en máquinas remotas: Si necesitas ejecutar comandos en máquinas remotas, el comando **Invoke-Command** te será de gran ayuda. Por ejemplo:
«`
Invoke-Command -ComputerName Server01 -ScriptBlock { Get-ChildItem C: }
«`
Ayuda y Descubrimiento
Muestra ayuda: Para obtener información adicional sobre comandos específicos, utiliza **Get-Help**. Por ejemplo:
«`
Get-Help Get-Process
«`
Listar cmdlets y funciones: Con **Get-Command** puedes obtener una lista completa de los cmdlets y funciones disponibles.
Interfaz gráfica para cmdlets: El comando **Show-Command** muestra una interfaz gráfica que te permite interactuar con los cmdlets de forma intuitiva.
Variedades y Utilidades
Establecer una variable: Utiliza **Set-Variable** para definir el valor de una variable. Por ejemplo:
«`
Set-Variable -Name «x» -Value 10
«`
Mostrar variables y valores: Si necesitas visualizar el valor de una variable, utiliza **Get-Variable**.
Convertir a formato JSON: Si necesitas convertir datos al formato JSON, el comando **ConvertTo-Json** te será de gran utilidad. Por ejemplo:
«`
Get-Process | ConvertTo-Json
«`
Convertir de formato JSON: Si deseas convertir datos desde formato JSON, utiliza **ConvertFrom-Json**. Por ejemplo:
«`
$json = ‘{«name»:»John»}’; $object = $json | ConvertFrom-Json
«`
PowerShell es una herramienta increíblemente versátil y poderosa. Gracias a su capacidad para interactuar con .NET y su robusto sistema de scripting, se ha vuelto indispensable para administradores de sistemas y entusiastas de la tecnología.
Al utilizar estos comandos, estarás construyendo una base sólida para explorar y aprovechar al máximo las capacidades de PowerShell.