¿Qué es Windows PowerShell?
Windows PowerShell es una herramienta de automatización de tareas desarrollada por Microsoft para ayudar a los administradores a reducir su carga de trabajo. Le ayuda a automatizar tareas y procesos simples en Windows, ayudándole a concentrarse en el trabajo que implica más complejidad y creatividad.
Si bien muchas personas han visto y utilizado el símbolo del sistema, menos han oído hablar de PowerShell. En este artículo, veremos cómo ayuda exactamente PowerShell a sus usuarios, así como algunas de las cosas interesantes que puede hacer con él.
¿Qué es Windows PowerShell?
Antes de sumergirnos en PowerShell, primero planteemos otra pregunta: "¿Qué es un shell?"
Un shell es un programa de computadora que toma comandos a través del teclado, los interpreta y los transmite al sistema operativo para ejecutarlos. Esencialmente, actúa como una interfaz entre usted y el sistema operativo. Puede estar basado en GUI (interfaz gráfica de usuario ) o puede construirse sobre una CLI (interfaz de línea de comandos).
Aunque el shell ha existido desde el lanzamiento del sistema operativo Multics en 1969, Windows presentó su versión, el Shell, en noviembre de 1985. Era un shell básico que era útil para administrar archivos, llamado MS-DOS Executive. Siguieron desarrollos de este caparazón básico, pero siempre hubo la necesidad de algo más poderoso.
Anteriormente en la historia de Windows, los usuarios recurrieron al uso de diferentes herramientas para la administración y automatización del sistema. En 2006, se introdujo una mejora importante del concepto de Shell como solución: Windows PowerShell.
Windows PowerShell le permite realizar varias operaciones, que van desde la automatización de tareas repetitivas, la administración de redes, etc., hasta las tareas que exigen más atención y creatividad (como la publicación de contenido de sitios web, el diseño, etc.).
Esto no solo le ahorra tiempo, sino que también le brinda un mayor control sobre el sistema operativo y sus procesos.
¿Qué es un cmdlet de PowerShell?
Ahora que está familiarizado con PowerShell, veamos uno de los aspectos más importantes de PowerShell: el Cmdlet .
Los cmdlets (que se pronuncia command-let) son comandos ligeros y potentes de Windows PowerShell. Existen como bloques de construcción que puede usar para ejecutar acciones específicas, como copiar y mover archivos o como parte de un script de PowerShell más grande y avanzado.
El cmdlet Get-Help , por ejemplo, es el cmdlet más útil, ya que le permite ver qué hace un cmdlet en particular, ver sus parámetros y mostrar las diversas formas en que se usa el cmdlet.
Similar a Get-Help , Get-Command es otro cmdlet que puede usar para solucionar varios problemas desde el shell. Específicamente, muestra todos los comandos instalados en su sistema. Los comandos que se muestran incluyen cmdlets, funciones, alias, filtros, scripts y aplicaciones. Cuando se usa con parámetros, le mostrará todos los comandos específicos asociados con ese parámetro.
Por ejemplo, el siguiente comando tomará comandos de todos los tipos disponibles en su computadora local y los mostrará:
Get-Command *
El Get-Command con el parámetro ListImported , por otro lado, solo obtendrá los comandos de las sesiones actuales.
Get-Command -ListImported
Cómo iniciar Windows PowerShell
Para iniciar Windows PowerShell, abra la barra de búsqueda del menú Inicio, escriba Windows PowerShell, y corren seleccione Ejecutar como administrador.
Esto iniciará el programa PowerShell en su computadora. Alternativamente, puede iniciarlo a través del cuadro de diálogo Ejecutar. Presione la tecla Windows + R en su teclado, escriba powershell y presione Enter para iniciar PowerShell.
Cómo utilizar Windows PowerShell
Como se explicó anteriormente, PowerShell es una aplicación que lo ayuda a automatizar tareas repetitivas y administrar tareas simples de administración de Windows y, por lo tanto, lo ayuda a ahorrar tiempo. A continuación, definimos algunas de las formas más útiles en las que puede utilizar PowerShell en su beneficio.
1. Creación de secuencias de comandos con Windows PowerShell
Un script es un conjunto de instrucciones, una especie de programa corto, que un programa más grande ejecuta durante su ejecución.
Con PowerShell, puede crear fácilmente un script y volver a usarlo en el futuro si surge la necesidad. Hay una variedad de formas de crear un script, pero por ahora, nos centraremos en el método más simple: crear un script de PowerShell con el Bloc de notas.
Para crear un script de PowerShell, siga los pasos a continuación:
- Escriba bloc de notas en la barra de búsqueda del menú Inicio y seleccione la mejor coincidencia.
- En el Bloc de notas, escriba o pegue la secuencia de comandos que desea utilizar. Por ejemplo:
Write-Host "I make memes; Therefore I am."
Ahora, haga clic en la opción Archivo y seleccione Guardar como. Ingrese un nombre relevante y haga clic en Guardar .
Para ejecutar el script, ejecute PowerShell como administrador. Luego, escriba el comando desde abajo y presione Enter .
Set-ExecutionPolicy RemoteSigned
Esto cambiará la política de ejecución en su máquina y le permitirá ejecutar scripts en PowerShell. Tenga en cuenta que se trata de un cambio permanente y que la restricción de la política de ejecución es una característica de seguridad que puede evitar que ejecute scripts maliciosos. Si está copiando y pegando scripts de PowerShell de Internet sin comprender completamente lo que hace el script, esta es una característica útil.
Finalmente, escriba A y presione Entrar, y escriba este comando para ejecutar el script, cambiando mshaa por su nombre de usuario.
& "C:UsersmshaaDesktop
cript.txt"
Si siguió los comandos en orden, su secuencia de comandos de PowerShell se ejecutará sin contratiempos.
Recuerde, debe ejecutar PowerShell como administrador. De lo contrario, no podrá cambiar la política de ejecución predeterminada en su sistema que detiene la ejecución de scripts aleatorios en su sistema.
En su lugar, se llamará una excepción y, como todas las excepciones, detendrá la ejecución de su programa a la mitad. Su interfaz se verá así:
2. Eliminar el contenido de un archivo específico
¿Alguna vez ha estado en una situación en la que tuvo que eliminar todo el contenido antiguo de un archivo, pero quería mantener el archivo intacto? Si es así, puede usar el comando clear-content de PowerShell para hacerlo.
Clear-Content C:TempTestFile.txt
Cambie la ruta del archivo por el archivo que desea borrar.
3. Ejecute un comando en una computadora remota
También puede usar Windows PowerShell para ejecutar un comando en una o varias computadoras remotas. Esta funcionalidad de PowerShell se conoce como PowerShell Remoting. Todo lo que necesita es una sola computadora en su extremo y una conexión a Internet confiable.
Sin embargo, antes de ejecutar el comando, primero deberá establecer una conexión remota entre varias computadoras. Puede utilizar el comando PSSession para ejecutar comandos remotos.
Enter-PSSession -ComputerName RemotePCName -Credential UserID
Después de conectarse a la computadora, puede ejecutar comandos de PowerShell como si lo hiciera en un sistema local.
Si desea ejecutar un comando en varias computadoras remotas, ejecute este comando:
Invoke-Command -ComputerName Server01, Server02 -FilePath c:ScriptsDiskCollect.ps1
Este fragmento ejecutará el script DiskCollect.ps1 en computadoras remotas, Server01 y Server02. Para obtener una introducción detallada a los comandos remotos, consulte la guía oficial de comandos remotos de Microsoft .
4. Utilice PowerShell para un análisis de malware
Puede ejecutar un escaneo de malware en su sistema directamente a través de Windows PowerShell. Para ejecutar un escaneo rápido, escriba los siguientes comandos en PowerShell y presione Enter :
Start-MpScan -ScanType QuickScan
Pero a veces, un escaneo rápido no es suficiente. Afortunadamente, también puede ejecutar un análisis completo desde PowerShell.
Start-MpScan -ScanType FullScan
Tenga en cuenta que el análisis completo puede llevar algún tiempo, por lo que sería aconsejable ejecutarlo en segundo plano. Para eso, use este comando en su lugar:
Start-MpScan -ScanType FullScan -AsJob
Esto ejecutará un análisis completo de malware en segundo plano mientras maneja otras tareas. Para obtener más información, consulte nuestra guía completa sobre el uso de PowerShell para escanear su computadora en busca de malware .
5. Jugando con archivos y carpetas
Incluso puede administrar los archivos y carpetas de su sistema directamente desde un solo lugar con la ayuda de Windows PowerShell. Hay muchas cosas diferentes que puede hacer, como mover, abrir, renombrar, etc. Al igual que con los comandos anteriores, cambie mshaa por su nombre de usuario.
Cambio de nombre de archivos y carpetas
Puede cambiar fácilmente el nombre de sus archivos y carpetas mediante el cmdlet Rename-Item en PowerShell.
Rename-Item c:UsersmshaaDesktopMemesAreLame.xls MemesAreCool.xls
Mover archivos y carpetas
Al igual que con el cambio de nombre, también puede usar PowerShell para mover los archivos y carpetas de su computadora.
Move-Item c:UsersmshaaDesktopMemesAreLame.xls c:UsersmshaaDocuments
Abrir archivos
Utilice el siguiente comando para abrir cualquier archivo aleatorio en su sistema:
Invoke-Item c:MakeUseOfHelloWorld.txt
Además, puede abrir varios archivos de una sola vez después de ajustar ligeramente el comando anterior.
Invoke-Item c:MakeUseOf*.txt
Reemplazar el nombre de un archivo específico con el asterisco (*) permitirá que el cmdlet Invoke-Item abra varios archivos de una sola vez.
Haga de Windows PowerShell su aliado
Con suerte, esta breve guía lo ayudará a comenzar con PowerShell. Como aplicación gratuita de Microsoft, es una herramienta muy útil para tener en su bolsa de herramientas de Windows para que su operación de Windows sea más fluida y automatizada.