En este post veremos:
- ¿Qué es Powershell?
- ¿Qué es CMD?
- ¿Qué es HTA?
- ¿Qué es VBScript?
Powershell es considerado tanto una herramienta administrativa como un lenguajes de programación para scripting. Se considera una mejora con respecto a CMD de Windows, con toques de Perl y Bash Linux. También tiene toques de VbScript. Con el se pueden realizar tareas de automatización y otro tipo de aplicaciones con propósito general.
¿Cómo inicio con Powershell?
Powershell viene por defecto en entornos Windows. Para MacOS y Linux deberás instalarlo. En Ubuntu puedes hacer lo siguiente. Abre una terminal y teclea esto:
sudo apt-get update sudo apt-get upgrade sudo snap install powershell --classic
Otra forma:
# Prerequisites # Update the list of packages sudo apt-get update # Install pre-requisite packages. sudo apt-get install -y wget apt-transport-https software-properties-common # Get the version of Ubuntu source /etc/os-release # Download the Microsoft repository keys wget -q https://packages.microsoft.com/config/ubuntu/$VERSION_ID/packages-microsoft-prod.deb # Register the Microsoft repository keys sudo dpkg -i packages-microsoft-prod.deb # Delete the the Microsoft repository keys file rm packages-microsoft-prod.deb # Update the list of packages after we added packages.microsoft.com sudo apt-get update ################################### # Install PowerShell sudo apt-get install -y powershell # Start PowerShell pwsh
Para comprobar que tienes instalado Powershell debes teclear:
$PSVersionTable
Hay comandos bastantes útiles:
Get-Help Get-Process Get-Location Get-ChildItem Get-Content Start-Process Stop-Process Get-Psdrive Get-Alias Get-Start Get-Stop
Si quieres obtener ayuda sobre algún comando puedes usar Get-Help seguido del comando a elegir. Ejemplo:
Get-Help Get-Alias -examples
Con esto obtenemos información del comando y algunos ejemplos de cómo usarlo.
Si quieres obtener información de algún programa (proceso) puedes teclear:
Get-Process powershell,chrome
En este caso queremos ver la información de Powershell y el navegador Chrome. Básicamente, con Powershell puedes administrar máquinas locales y remotas, crear scripts y hacer uso de .Net Framework para crear aplicaciones útiles.
¿Y qué pasa con CMD?
Se trata de una aplicación. Anteriormente un SO. Es un interprete de comandos. Abre una terminal con tecla Windows + R y teclea: cmd. Con esto se abrirá la terminal. Escribe ahora: help.
ASSOC Muestra o modifica las asociaciones de las extensiones de archivos. ATTRIB Muestra o cambia los atributos del archivo. BREAK Establece o elimina la comprobaci¢n extendida de Ctrl+C. BCDEDIT Establece propiedades en la base de datos de arranque para controlar la carga del arranque. CACLS Muestra o modifica las listas de control de acceso (ACLs) de archivos. CALL Llama a un programa por lotes desde otro. CD Muestra el nombre del directorio actual o cambia a otro directorio. CHCP Muestra o establece el n£mero de p gina de c¢digos activa. CHDIR Muestra el nombre del directorio actual o cambia a otro directorio. CHKDSK Comprueba un disco y muestra un informe de su estado. CHKNTFS Muestra o modifica la comprobaci¢n de disco al arrancar. CLS Borra la pantalla. CMD Inicia una nueva instancia del int‚rprete de comandos de Windows COLOR Establece los colores de primer plano y fondo predeterminados de la consola. COMP Compara el contenido de dos archivos o un conjunto de archivos. COMPACT Muestra o cambia el estado de compresi¢n de archivos en particiones NTFS. CONVERT Convierte vol£menes FAT a vol£menes NTFS. No puede convertir la unidad actual. COPY Copia uno o m s archivos en otra ubicaci¢n. DATE Muestra o establece la fecha. DEL Elimina uno o m s archivos. DIR Muestra una lista de archivos y subdirectorios en un directorio. DISKPART Muestra o configura las propiedades de partici¢n de disco. DOSKEY Edita l¡neas de comando, recupera comandos de Windows y crea macros. DRIVERQUERY Muestra el estado y las propiedades actuales del controlador de dispositivo. ECHO Muestra mensajes, o activa y desactiva el eco. ENDLOCAL Termina la b£squeda de cambios de entorno en un archivo por lotes. ERASE Elimina uno o m s archivos. EXIT Sale del programa CMD.EXE (int‚rprete de comandos). FC Compara dos archivos o conjunto de archivos y muestra las diferencias entre ellos. FIND Busca una cadena de texto en uno o m s archivos. FINDSTR Busca cadenas en archivos. FOR Ejecuta el comando especificado para cada archivo en un conjunto de archivos. FORMAT Formatea un disco para usarse con Windows. FSUTIL Muestra o configura las propiedades del sistema de archivos. FTYPE Muestra o modifica los tipos de archivo usados en asociaciones de extensi¢n de archivo. GOTO Direcciona el int‚rprete de comandos de Windows a una l¡nea con etiqueta en un programa por lotes. GPRESULT Muestra informaci¢n de directiva de grupo por equipo o usuario. GRAFTABL Permite a Windows mostrar un juego de caracteres extendidos en modo gr fico. HELP Proporciona informaci¢n de Ayuda para los comandos de Windows. ICACLS Muestra, modifica, hace copias de seguridad o restaura listas de control de acceso (ACL) para archivos y directorios. IF Ejecuta procesos condicionales en programas por lotes. LABEL Crea, cambia o elimina la etiqueta del volumen de un disco. MD Crea un directorio. MKDIR Crea un directorio. MKLINK Crea v¡nculos simb¢licos y v¡nculos f¡sicos MODE Configura un dispositivo de sistema. MORE Muestra la informaci¢n pantalla por pantalla. MOVE Mueve uno o m s archivos de un directorio a otro en la misma unidad. OPENFILES Muestra archivos compartidos abiertos por usuarios remotos como recurso compartido de archivos. PATH Muestra o establece una ruta de b£squeda para archivos ejecutables. PAUSE Suspende el proceso de un archivo por lotes y muestra un mensaje. POPD Restaura el valor anterior del directorio actual guardado por PUSHD. PRINT Imprime un archivo de texto. PROMPT Cambia el s¡mbolo de comandos de Windows. PUSHD Guarda el directorio actual y despu‚s lo cambia. RD Quita un directorio. RECOVER Recupera la informaci¢n legible de un disco da¤ado o defectuoso. REM Registra comentarios (notas) en archivos por lotes o CONFIG.SYS. REN Cambia el nombre de uno o m s archivos. RENAME Cambia el nombre de uno o m s archivos. REPLACE Reemplaza archivos. RMDIR Quita un directorio. ROBOCOPY Utilidad avanzada para copiar archivos y rboles de directorios SET Muestra, establece o quita variables de entorno de Windows. SETLOCAL Inicia la localizaci¢n de los cambios de entorno en un archivo por lotes. SC Muestra o configura servicios (procesos en segundo plano). SCHTASKS Programa comandos y programas para ejecutarse en un equipo. SHIFT Cambia la posici¢n de par metros reemplazables en archivos por lotes. SHUTDOWN Permite el apagado local o remoto de un equipo. SORT Ordena la salida. START Inicia otra ventana para ejecutar un programa o comando especificado. SUBST Asocia una ruta de acceso con una letra de unidad. SYSTEMINFO Muestra las propiedades y la configuraci¢n espec¡ficas del equipo. TASKLIST Muestra todas las tareas en ejecuci¢n, incluidos los servicios. TASKKILL Termina o interrumpe un proceso o aplicaci¢n que se est ejecutando. TIME Muestra o establece la hora del sistema. TITLE Establece el t¡tulo de la ventana de una sesi¢n de CMD.EXE. TREE Muestra gr ficamente la estructura de directorios de una unidad o ruta de acceso. TYPE Muestra el contenido de un archivo de texto. VER Muestra la versi¢n de Windows. VERIFY Comunica a Windows si debe comprobar que los archivos se escriben de forma correcta en un disco. VOL Muestra la etiqueta del volumen y el n£mero de serie del disco. XCOPY Copia archivos y rboles de directorios. WMIC Muestra informaci¢n de WMI en el shell de comandos interactivo.
Con este comando veremos un listado de comandos disponibles a usar. Comandos útiles para listar directorios, crear archivos, carpetas, borrar archivos y/o carpetas. Entre otras cosas más. Al igual que Powershell podemos crear scripts para automatizar (a nivel más bajo, ya que no es tan "poderoso" como Powershell) algunas tareas.
¿Y qué con HTA (HTML Application)?
Una aplicación HTML (HTA) es un programa de Microsoft Windows cuyo código fuente consta de HTML, HTML dinámico y uno o más lenguajes de secuencias de comandos compatibles con Internet Explorer, como VBScript o JScript.
El HTML se utiliza para generar la interfaz de usuario y el lenguaje de secuencias de comandos se utiliza para la lógica del programa. Una HTA se ejecuta sin las limitaciones del modelo de seguridad del navegador de Internet; de hecho, se ejecuta como una aplicación "totalmente confiable".
Un programa en HTA tiene como extensión *.hta. Es, básicamente, una ventana HTML. Y al tener las bondades de ese lenguaje (HTML) podemos hacer uso de todas sus etiquetas de marcado (p, label, button, select, etc.).
Ejemplo de ventanita simple en HTA:
Ventana.hta
<!DOCTYPE html> <html> <head> <meta http-equiv="MSThemeCompatible" content="Yes"/> <title>::HTA en ejemplos::</title> <HTA:APPLICATION ID = "admin" APPLICATIONNAME = "Admin" BORDER = "thick" CAPTION = "yes" ICON="favicon.ico" SHOWINTASKBAR = "yes" SINGLEINSTANCE = "no" WINDOWSTATE = "normal" SCROLL = "no" SCROLLFLAT = "yes" VERSION = "1.0" INNERBORDER = "no" SELECTION = "no" SYSMENU = "yes" MAXIMIZEBUTTON = "yes" MINIMIZEBUTTON = "yes" NAVIGABLE = "no" CONTEXTMENU = "no" BORDERSTYLE = "thin" /> <style type="text/css"> body{ background-color:#EDEFEE; color:black; font-family:Helvetica; } h1{ background-color:steelblue; color:black; text-align:center; } </style> <script language="vbscript"> </script> </head> <body> <div id="pnlPrincipal"> <h1> Aplicacion HTA </h1> </div> </body> </html>
A primera vista se trata de tan solo una página HTML, pero con la característica de contar con una etiqueta especial:
<HTA:APPLICATION/>
A más detalle:
<HTA:APPLICATION ID = "admin" APPLICATIONNAME = "Admin" BORDER = "thick" CAPTION = "yes" ICON="favicon.ico" SHOWINTASKBAR = "yes" SINGLEINSTANCE = "no" WINDOWSTATE = "normal" SCROLL = "no" SCROLLFLAT = "yes" VERSION = "1.0" INNERBORDER = "no" SELECTION = "no" SYSMENU = "yes" MAXIMIZEBUTTON = "yes" MINIMIZEBUTTON = "yes" NAVIGABLE = "no" CONTEXTMENU = "no" BORDERSTYLE = "thin" />
Además de poder agregar código VBScript.
<script language="vbscript"> // Aquí el código VBScript </script>
El código VBScript es una variación del lenguaje de programación Visual Basic. Posee básicamente la misma sintaxis y estructuras de control. Incluso permite la programación orientada a objetos.
En otros post continuaremos escribiendo sobre éstas herramientas.
Enlaces:
https://elpaladintecnologico.blogspot.com/2009/02/que-es-powershell-ejemplos-basicos-para.htmlhttps://www.codeproject.com/Articles/763145/A-PowerShell-Introduction
https://www.softwaretestinghelp.com/windows-cmd-commands/