Comandos de Powershell más útiles: Hoja de trucos con ejemplos
Publicado: 2023-07-23- Primeros pasos con PowerShell
- Inmersión profunda en las estructuras de comando de PowerShell
- Gestión de archivos y carpetas
- Gestión de procesos del sistema
- Administración de red
- Gestión de directorio activo
- Gestión de registro de eventos
- Supervisión y análisis del rendimiento
- Sesiones remotas y de PowerShell
- Políticas de Seguridad y Ejecución
- Técnicas Avanzadas de PowerShell
- 30 comandos adicionales de PowerShell a continuación
- Conclusión
- Preguntas más frecuentes
- ¿Cómo uso los comandos de Windows PowerShell?
- ¿Cómo puedo obtener una lista de comandos de PowerShell en Windows 7?
- ¿Puedo usar PowerShell en sistemas que no sean Windows?
- ¿Puedo escribir scripts en PowerShell?
- ¿Puedo usar PowerShell para administrar entornos basados en la nube?
Si alguna vez ha tenido el placer de sumergirse en el mundo de la administración de sistemas, es probable que haya encontrado los comandos de Windows PowerShell y PowerShell. Es una herramienta útil, un lenguaje de secuencias de comandos de shell que le brinda acceso al funcionamiento interno de su sistema operativo.
Eclipsa al símbolo del sistema (CMD) tradicional y ofrece más potencia, flexibilidad y control.
A diferencia de CMD, que utiliza instrucciones de línea de comandos simples, Windows PowerShell emplea un lenguaje más extenso, utilizando una lista de comandos de PowerShell o cmdlets para tareas complejas del sistema.
Como administrador del sistema, su trabajo puede ver mejoras dramáticas con esta herramienta en su arsenal. No se trata solo de hacer las cosas más fáciles; se trata de eficiencia, precisión y la capacidad de automatizar tareas repetitivas.
Primeros pasos con PowerShell
Ahora que está familiarizado con lo que es PowerShell, es hora de sumergirse. Comenzar es bastante simple. Tienes dos rutas principales:
- la consola PowerShell
- el entorno de scripting integrado (ISE).
La consola es su interfaz de línea de comandos. Es una ruta directa para que sus comandos alcancen y manipulen el sistema. ISE, por otro lado, es su patio de recreo para la creación de secuencias de comandos. Es donde puede escribir, probar y depurar sus scripts de PowerShell en un entorno amigable y centrado en el usuario.
Para ayudarlo a ponerse en marcha, cubramos algunos comandos básicos de PowerShell .
Descripción : muestra información de ayuda sobre los comandos y temas de Windows PowerShell .
Ejemplo : al escribir Get-Help Get-Process se mostrará ayuda para el comando Get-Process.
Como su nombre indica, Get-Help es su guía a través del universo de PowerShell . Es un manual incorporado que le permite explorar la funcionalidad de otros comandos.
Descripción : recupera una lista de todos los comandos disponibles en PowerShell.
Ejemplo : Ingresar Get-Command -Module ActiveDirectory enumerará todos los comandos disponibles en el módulo ActiveDirectory.
Get-Command es otra herramienta valiosa en su hoja de trucos de comandos de PowerShell . Con él, puede ver todos los comandos que PowerShell tiene para ofrecer.
Inmersión profunda en las estructuras de comando de PowerShell
Los comandos de PowerShell se basan en tres estructuras principales: cmdlets, alias y scripts.
Los cmdlets (Command-lets) son el corazón de PowerShell. Son comandos ligeros que realizan funciones específicas. A diferencia de los programas ejecutables tradicionales, los cmdlets son objetos de clase de .NET Framework, un bocado, ¿verdad? En pocas palabras, son piezas de código que hacen cosas, como obtener datos, cambiar la configuración del sistema o ejecutar procesos.
Descripción : recupera una lista de todos los procesos en ejecución
Ejemplo : Ingresar Get-Process le mostrará todos los procesos que se están ejecutando actualmente en su sistema.
Los alias son solo accesos directos para cmdlets. Por ejemplo, en lugar de escribirGet-ChildItem, simplemente puede escribirdir, que es más rápido y fácil de recordar.
Los scripts, por último, son archivos de texto que contienen una serie de cmdlets para ejecutar en orden. Son la columna vertebral de la automatización, lo que le permite ejecutar tareas complejas sin entrada manual. Con este conocimiento y su creciente lista de comandos de PowerShell , está en camino de convertirse en un profesional de PowerShell.
Gestión de archivos y carpetas
Estar al mando de un sistema de archivos puede ser una tarea abrumadora. Afortunadamente, PowerShell echa una mano. Con un arsenal de cmdlets, puede administrar archivos y carpetas sin problemas.
Descripción : muestra los elementos y los elementos secundarios en las ubicaciones especificadas.
Ejemplo : ingrese Get-ChildItem C:\Documents y verá todos los elementos dentro del directorio Documentos.
Este cmdlet es un miembro crucial de su lista de comandos de PowerShell para la administración de archivos. No solo enumera archivos y carpetas, sino que también puede profundizar en los directorios y revelar los tesoros ocultos que contienen.
Descripción : crea un elemento nuevo, como un archivo o una carpeta.
Ejemplo : escriba New-Item -Path .-Nombre "archivo.txt" -Tipo de elemento "archivo" -Valor "directorio actual del archivo de demostración de nuevo elemento de PowerShell".
y observe cómo aparece un nuevo archivo, file.txt, en su carpeta Documentos.
Gestión de procesos del sistema
Ahora, cambiemos de marcha y hablemos de los procesos del sistema. Piense en ellos como el equipo detrás del escenario de una producción teatral, trabajando diligentemente detrás de escena para asegurarse de que el espectáculo se desarrolle sin problemas. PowerShell ofrece comandos para monitorear, manipular y administrar estos héroes anónimos.
Descripción: Recupera el estado de una lista de procesos especificados.
Ejemplo: Ingresar Get-Process mostrará todos los procesos que se están ejecutando actualmente en su máquina.
El anterior es uno de los comandos de PowerShell más utilizados en Windows 10 para administrar los procesos del sistema. Proporciona una instantánea de lo que sucede detrás de la pantalla.
Trabajar con servicios
Al igual que los procesos del sistema, los servicios son piezas fundamentales en la rueda que mantienen nuestros sistemas funcionando sin problemas. Hay programas que se ejecutan en segundo plano y, con PowerShell, puede vigilarlos de cerca.
Descripción : Recupera el estado de los servicios en una computadora local o remota.
Ejemplo : cuando ejecuta Get-Service, obtendrá una actualización de estado en todos los servicios en su computadora.
Descripción : Detiene uno o más servicios en ejecución.
Ejemplo : Stop-Service -Name “serviceName” detendrá el servicio especificado.
Estos ejemplos de comandos de PowerShell solo rascan la superficie de lo que puede hacer con PowerShell. La verdadera belleza de PowerShell radica en su flexibilidad y en la medida en que se puede personalizar para satisfacer sus necesidades específicas.
Administración de red
Administrar una red puede ser como intentar resolver un rompecabezas con piezas infinitas. Afortunadamente, con PowerShell, no carece de herramientas para facilitar este trabajo. Aquí hay un par de comandos principales de PowerShell para ayudarlo.
Descripción : Muestra información de diagnóstico para una conexión.
Ejemplo : escriba Test-NetConnection para probar la conexión de red de su máquina.
Descripción : Muestra la configuración de la dirección IP.
Ejemplo : Ejecutar Get-NetIPAddress revela los detalles de la dirección IP de su máquina.
Estos cmdlets pueden ayudar a diagnosticar problemas y revelar detalles de configuración de red esenciales.
Gestión de directorio activo
En el mundo de la administración de redes, Active Directory (AD) es el administrador de la oficina y realiza un seguimiento de todos los recursos de la red. PowerShell viene repleto de comandos útiles para que la administración de AD sea muy sencilla.
Descripción : recupera un objeto de usuario o realiza una búsqueda para recuperar varios objetos de usuario.
Ejemplo : Get-ADUser -Filter * mostrará una lista de todos los usuarios en su AD.
Descripción : crea un nuevo usuario de AD.
Ejemplo : con un comando como New-ADUser -Name "JohnDoe", puede crear un nuevo usuario llamado JohnDoe.
Gestión de registro de eventos
Los registros de eventos son como el diario de su sistema, registrando sus pensamientos y acciones. Son una herramienta invaluable para la resolución de problemas. Aquí se explica cómo ejecutar comandos de PowerShell en Windows 10 que interactúan con sus registros de eventos.
Descripción : Obtiene los eventos en un registro de eventos o una lista de los registros de eventos.
Ejemplo : Get-EventLog -LogName System mostrará los registros de eventos del sistema.
Descripción : borra todas las entradas de los registros de eventos especificados.
Ejemplo : Clear-EventLog -LogName "Aplicación" hará borrón y cuenta nueva para el registro de eventos de su aplicación.
Es importante recordar que, si bien estos son algunos de los comandos de PowerShell más comunes , existen muchos más para explorar. La adaptabilidad y la robusta funcionalidad de PowerShell la convierten en una herramienta indispensable para cualquier administrador de sistemas.
Supervisión y análisis del rendimiento
Al igual que una orquesta bien afinada, su sistema necesita ajustes regulares para funcionar de la mejor manera. La supervisión del rendimiento garantiza que los recursos de su sistema se utilicen de manera eficaz. Estos son algunos comandos de Windows PowerShell que le permiten echar un vistazo bajo el capó.
Descripción : recupera el estado de una lista de procesos especificados.
Ejemplo : Ejecutar Get-Process muestra todos los procesos que se están ejecutando actualmente en su máquina.
Descripción : mide el tiempo que se tarda en ejecutar bloques de script.
Ejemplo : Measure-Command {Get-Process} revelará el tiempo necesario para ejecutar el comando Get-Process.
Descripción : Obtiene datos de contador de rendimiento de equipos locales y remotos.
Ejemplo : Get-Counter -Counter “\Processor(_Total)\% Processor Time” le dará estadísticas de uso de la CPU.
Lea también: ¿Cómo acelerar el rendimiento de un disco duro en Windows?
Sesiones remotas y de PowerShell
Una fortaleza clave de PowerShell radica en su capacidad para administrar computadoras remotas. Puede establecer sesiones o conexiones persistentes con máquinas remotas. Su hoja de trucos de comandos de PowerShell no estaría completa sin estos cmdlets.
Descripción : Inicia una sesión interactiva con una computadora remota.
Ejemplo : Enter-PSSession -ComputerName Server01 le permite interactuar directamente con Server01.
Descripción : crea una nueva sesión de PowerShell.
Ejemplo : New-PSSession -ComputerName Server02 crea una nueva sesión con Server02.
Descripción : Cierra una o más sesiones de PowerShell.
Ejemplo : Remove-PSSession -Session $s cierra una sesión almacenada en la variable $s.
Trabajar con perfiles de PowerShell
Al igual que su perfil personal, un perfil de PowerShell es un script que se ejecuta cuando se inicia Powershell y define su entorno. Estos son algunos comandos cmdlet de PowerShell para administrar sus perfiles.
Descripción : determina si existen todos los elementos de la ruta.
Ejemplo : Test-Path $profile verificará si existe un perfil.
Descripción : crea un elemento nuevo, como un archivo o una carpeta.
Ejemplo : si Test-Path $profile devuelve False, New-Item -Type file -Path $profile -Force creará un nuevo perfil.
Descripción : Abre archivos en el Bloc de notas.
Ejemplo : Bloc de notas $perfil abre su perfil en el Bloc de notas, lo que le permite editarlo.
Al comprender y utilizar estos comandos, puede personalizar su entorno de PowerShell para adaptarlo a sus preferencias y estilo de trabajo.
Políticas de Seguridad y Ejecución
En el ámbito de PowerShell, la seguridad es como un guardián inquebrantable que garantiza que los scripts y los comandos se ejecuten de forma segura. Estos son algunos comandos básicos de PowerShell que lo ayudan a definir y comprender sus políticas de ejecución.
Descripción : Obtiene las políticas de ejecución para la sesión actual.
Ejemplo : Get-ExecutionPolicy muestra su política de ejecución actual.
Descripción : establece la política de ejecución para la sesión de PowerShell.
Ejemplo : Set-ExecutionPolicy RemoteSigned establece la política para ejecutar solo scripts firmados por un editor de confianza.
Descripción : Obtiene la firma digital de un script o archivo.
Ejemplo : Get-AuthenticodeSignature C:\Scripts\Test.ps1 muestra la firma digital del script Test.ps1.
Técnicas Avanzadas de PowerShell
A medida que profundice en el océano de PowerShell, descubrirá que está repleto de cmdlets mucho más que básicos. Las funciones avanzadas ofrecen una mayor flexibilidad y funcionalidad, lo que le permite trabajar de manera más inteligente, no más difícil. A continuación se muestran algunos ejemplos de comandos de PowerShell para ilustrar las posibilidades.
Descripción : ejecuta comandos en equipos locales y remotos.
Ejemplo : Invoke-Command -ComputerName Server01 -ScriptBlock {Get-Process} ejecuta el comando Get-Process en Server01.
Descripción : Convierte objetos .NET en cadenas CSV y almacena los resultados en un archivo CSV.
Ejemplo : Obtener-Proceso |Export-Csv -Path .\ProcessList.csv guarda su lista de procesos en un archivo CSV.
Descripción : Convierte un objeto a su representación JSON.
Ejemplo : Obtener-Proceso |ConvertTo-Json convierte su lista de procesos al formato JSON.
Descripción : Selecciona las propiedades especificadas de un objeto o conjunto de objetos.También puede seleccionar objetos únicos de una matriz.
Ejemplo : Obtener-Proceso |Select-Object -Property Name,ID muestra solo el nombre y la identificación de sus procesos.
Descripción : filtra la entrada de la canalización, lo que permite controlar qué objetos se pasarán a lo largo de la secuencia de comandos.
Ejemplo : Obtener-Proceso |Where-Object {$_.CPU -gt 10} muestra procesos que utilizan más de 10 unidades de CPU.
Descripción : Realiza una operación contra cada uno de un conjunto de objetos de entrada.
Ejemplo : Obtener-Proceso |ForEach-Object { $_.Name + ” ” + $_.Id } muestra una lista de nombres de procesos junto con sus ID.
Estos útiles comandos de PowerShell demuestran las técnicas avanzadas que puede emplear para aprovechar aún más el poder de PowerShell. Desde invocar comandos en computadoras remotas hasta filtrar y formatear la salida, las posibilidades son amplias.
Recuerde, el cmdlet Get-Help es su amigo cuando no está seguro de cómo ejecutar los comandos de PowerShell . Simplemente escriba Get-Help seguido del cmdlet con el que necesita ayuda. Esta lista de comandos principales de PowerShell es solo el comienzo; El potencial de PowerShell está limitado únicamente por su imaginación.
30 comandos adicionales de PowerShell a continuación
Dominio | Descripción |
Fuera de archivo | Envía la salida a un archivo. |
Ordenar-Objeto | Ordena los objetos por valores de propiedad. |
Conjunto-variable | Establece el valor de una variable. |
Host de lectura | Lee una línea de entrada de la consola. |
Host de escritura | Escribe una salida personalizada en un host. |
Agregar contenido | Agrega contenido a los elementos especificados, como agregar líneas a un archivo. |
Copiar elemento | Copia un elemento de una ubicación a otra. |
ruta de prueba | Prueba la existencia de una ruta y devuelve True si la ruta existe, de lo contrario, False. |
Obtener la fecha | Obtiene la fecha y hora actual. |
Clear-Host | Borra la pantalla en el programa anfitrión. |
Comparar objeto | Compara dos conjuntos de objetos. |
Convertir a HTML | Convierte objetos .NET en HTML que se pueden mostrar en un navegador web. |
Obtener credencial | Obtiene un objeto de credencial basado en un nombre de usuario y una contraseña. |
Get-Random | Obtiene un número aleatorio o selecciona objetos al azar de una colección. |
Nuevo objeto | Crea una instancia de un objeto .NET Framework o COM. |
Renombrar artículo | Cambia el nombre de un elemento en un espacio de nombres de proveedor de Windows PowerShell. |
Inicio-Sueño | Suspende la actividad en un script por el período especificado. |
Salida de escritura | Envía los objetos especificados al siguiente comando en la canalización. |
ruta dividida | Devuelve la parte especificada de una ruta. |
Ruta de unión | Combina una ruta y una ruta secundaria en una sola ruta. |
Para cada objeto | Realiza una operación en cada elemento de una colección de objetos de entrada. |
Donde-Objeto | Selecciona objetos de una colección en función de sus valores de propiedad. |
Proceso de inicio | Inicia uno o más procesos en la computadora local. |
Formato-Lista | Da formato a la salida como una lista de propiedades en la que cada propiedad se muestra en una línea separada. |
Formato-Tabla | Da formato a la salida como una tabla. |
Exportar-Clixml | Crea una representación basada en XML de un objeto u objetos y la almacena en un archivo. |
Importar-Clixml | Importa un archivo CliXML y recrea los objetos guardados. |
ConvertFrom-Csv | Convierte propiedades de objetos en cadenas CSV en versiones CSV de los objetos originales. |
ConvertTo-Csv | Convierte objetos .NET en una serie de cadenas CSV. |
Seleccionar cadena | Encuentra texto en cadenas y archivos. |
Conclusión
A estas alturas, debería tener una lista completa de los comandos de PowerShell y una idea clara de su potencial. Ya sea que esté automatizando tareas , administrando recursos de red o solucionando problemas, PowerShell es una herramienta indispensable para cualquier usuario o administrador de Windows.
Estos cmdlets de PowerShell simplemente arañan la superficie de lo que es posible. A medida que se sienta más cómodo con la consola, descubrirá nuevos comandos y creará scripts que satisfagan perfectamente sus necesidades.
Recuerde, el cmdlet Get-Help siempre está disponible para proporcionar ayuda con los comandos de PowerShell siempre que necesite más información sobre un cmdlet en particular. Simplemente escriba Get-Help seguido del cmdlet con el que necesita ayuda.
Preguntas más frecuentes
¿Cómo uso los comandos de Windows PowerShell?
Usar los comandos de Windows PowerShell es simple. Escribe el comando en la consola de PowerShell y presiona Enter. Si necesita ayuda con un comando en particular, simplemente escriba Get-Help seguido del comando que desea comprender mejor.
¿Cómo puedo obtener una lista de comandos de PowerShell en Windows 7?
Puede obtener una lista de comandos en PowerShell en Windows 7 escribiendo Get-Command en la consola y presionando Enter. Esto mostrará todos los cmdlets y funciones disponibles que puede usar.
¿Por qué mi Windows PowerShell no puede entender ningún comando?
Si PowerShell no comprende sus comandos, es posible que se deba a errores de sintaxis. Verifique su comando en busca de errores tipográficos o parámetros incorrectos. Además, asegúrese de estar usando la versión correcta de PowerShell para el comando que está tratando de ejecutar.
¿Puedo usar PowerShell en sistemas que no sean Windows?
Sí tu puedes. Con la llegada de PowerShell Core, PowerShell de Microsoft ya no se limita a Windows. También puede usarlo en macOS y Linux.
¿Puedo escribir scripts en PowerShell?
¡Absolutamente! PowerShell no es solo una interfaz de línea de comandos, sino también un lenguaje de secuencias de comandos. Puede crear scripts para automatizar tareas repetitivas, lo que puede ahorrarle mucho tiempo y esfuerzo.
¿Puedo usar PowerShell para administrar entornos basados en la nube?
Sí, PowerShell es una poderosa herramienta para administrar entornos basados en la nube. Muchos proveedores de la nube, incluidos Microsoft Azure y Amazon AWS, ofrecen módulos de PowerShell para interactuar con sus servicios.