Comandos de Powershell: Todo lo que debes conocer

En el ambiente de informática, existe el conocido símbolo del sistema «Command Prompt» (CMD), pero luego surgió el uso de Comandos de Powershell Windows, totalmente compatible con versiones anteriores, es un excelente recurso similar a CMD, pero con una interfaz de mayor avance y más grupos, además ya viene preinstalado en su configuración el programa de Windows, es muy útil para enviar ordenes en ese ambiente. Para conocer más sobre el tema, se recomienda seguir leyendo este post.

comandos de powershell

Comandos esenciales de PowerShell 

En el entorno de informática suelen identificarse a los comandos con el nombre de «cmdlet» y a través de la tecla de tabulación, es posible en forma automática obtener el nombre de cmdlet para que se pueda utilizar.

Existe una excelente compatibilidad con las versiones anteriores de Windows Powershell, permitiendo así utilizar los mismos comandos CMD o el antiguo símbolo del sistema, pero la interfaz como se ha dicho es mucho más robusta y funcional. Más adelante se detallarán varios comandos de Powershell (cmdlets) y además se indicarán la sintaxis de cada uno de ellos incluyendo las funciones respectivas.

Algunos usuarios se interesan en saber Cómo se llaman los comandos de Powershell, por lo que se indican a continuación sus nombres: Get-Command, Get -Host,  Get-History, Get-Random, Get-Service,  Get-Help,  Get-Date, Copy-Item, Invoke Command,  Invoke Expresión, Invoke-WebRequest, Set-ExecutionPolicy, Get-Item, Remove-Item, Get-Content, Set-Content, Get-Variable, Set-Variable, Get-Process, Start-Process, Stop-Process y Start-Service.

La visualización inicial respectiva , se puede obtener a través de Powershell ejecutando a su vez  el comando Show-Command y en la ventana que se muestra está una lista completa de todos esos detalles y que se exponen  a continuación:

Get-Command

Esta herramienta, perteneciente al grupo de Comandos que aquí se detallan, resulta muy útil, cuando se desean conocer todos los cmdlets que ofrece el propio  Powershell, para ello solamente se requiere escribir su denominación en la consola.

comandos de powershell

De esta manera, con este instrumento, también se pueden visualizar todas las funciones y sus características particulares, la visualización es en forma de una lista indicando por supuesto las funciones y otros parámetros junto con opciones especiales, como se indicó previamente.

Por otro lado,  se ha establecido con solo escribir «Get Command» y luego indicar el parámetro efectivo se visualizará en forma automática la información de cualquier cmdlet seleccionado.

Si a la ruta indicada se le añade un asterisco antes y después del parámetro, se visualizarán todas las combinaciones que utiliza este comando en cuestión, pero debe acompañarse además con el término «help».

La utilización de este comando resulta sumamente útil y si por casualidad hay dudas con el nombre de  cmdlet se puede obtener la información completa basándose en el uso de los asteriscos antes citados.

Get-Host

La función en este caso a través de este instrumento, permite a cualquier usuario obtener la versión Windows Powershell que en ese momento se esté utilizando en el sistema. Dato que resulta vital en determinados momentos.

Get-History

A través del uso de este comando se obtiene de manera muy sencilla, el nombre de todos los grupos ejecutados bajo una determinada sección de Powershell y que para el momento de la operación se estén efectuando.

Get-Random

La ejecución de este otro comando facilita un número aleatorio entre 0  y 2.137.483.646. Es decir que se determinan los valores de los objetos canalizados, en otras palabras Get Random devuelve un número entero o flotante, también el objeto que en forma aleatoria se ha seleccionado de alguna colección que se le ha enviado.

Get-Service

Cuando se necesite la información de los servicios instalados en el sistema, resulta muy útil el uso de este comando y también se detalla aquellos servicios que para el momento se estén ejecutando así como los que ya fueron detenidos.

Solamente se requiere ingresar el nombre del comando a la consola y se pueden también utilizar algunos de los parámetros adicionales, se trata de una sintaxis muy similar al próximo ejemplo:

Get-Service | Where-Object {$_.Status -eq «Running»}

De esta manera es posible la ejecución de los servicios del sistema, si el usuario no coloca ningún parámetro adicional automáticamente se visualizarán todos los servicios indicando también sus respectivos estados, también se incluye los que se hayan detenido por alguna causa.

comandos de powershell

Resulta muy práctico el uso de esta herramienta, mejorando la alternativa que otros toman dirigiéndose al panel de control de Windows, utilizando para ello la interfaz gráfica de usuario de Windows (GUI), que evidentemente resulta en este caso menos adecuada.

Get-Help

Entre el grupo de comandos de Powershell se encuentra también  Get -Help, utilizado sobre todo para principiantes, ya que aporta ayuda básica acerca de los cmdlets y sus funciones.

Cualquier desorientación de los novatos en este tipo de tarea, en realidad no causa  mayor problema dado que,  a través de esta misma herramienta se puede obtener la documentación imprescindible de los comandos, sus funciones y otros aspectos importantes.

Se trata de una faena muy sencilla, ya que por ejemplo escribiendo «Get Help» y luego el respectivo cmdlet, es suficiente para enterarse de los datos de interés, se pueden obtener mayor número de información utilizando  «Get -Process», que solo requiere que el usuario escriba «Get-Help  «Get- Process».

Cualquier duda adicional que pueda existir para este caso, se puede aclarar o ampliar utilizando dicho comando y aparecerá en pantalla una descripción completa y breve sobre el uso correspondiente.

Get-Date

Siguiendo con la descripción de los comandos de Powershell, se detallan lo referente a «Get-Date», que permite localizar el día exacto en el pasado, por ejemplo si se desea saber en una fecha y año  cualquiera, con solo escribirla se reportará si se trata de un día lunes, martes, miércoles, etc.

Copy-Item

En algunas oportunidades los usuarios tienen la necesidad, de copiar carpetas o archivos para una determinada actividad y es allí, donde el comando «Copy- Item», presta una excelente ayuda, por ejemplo si se trata de efectuar la copia de archivos y además Directorios en una determinada unidad de almacenamiento, o también si se requiere por otro lado copiar claves o entradas de registro, este excelente comando es el instrumento que permite efectuar esa tarea de una manera muy apropiada.

En otro orden de ideas se puede indicar que entre el grupo de comandos de Powershell, este en particular tiene un funcionamiento muy similar a «cp», que como se sabe es parte del símbolo tradicional del sistema, pero actúa como si se tratase de  una versión bastante mejorada.

Con el uso de esta herramienta además de copiar, es posible también modificar el nombre de cualquier elemento que se esté manejando y para ello se usa el mismo comando que permite establecer de nuevo, un nombre distinto para el elemento correspondiente.

Por otro lado si lo que se desea es copiar y renombrar cualquier tipo de archivo «ProfesionalReview.htm» a «Proyectitosbuenos.txt» , es suficiente con que se escriba lo siguiente:

Copy-Item «C:Proyectos.htm» -Destination «C:MyDataProyectos.txt».

Invoke-Command

A través de este instrumento, el usuario cuenta con un mecanismo que le permite ejecutar en cualquier momento un script, es decir un texto que tiene varias instrucciones, que deben tomarse en cuenta y que forman parte por ejemplo de una pieza de teatro, cine o programa de televisión, para este caso, se puede efectuar de forma local o también remota en uno o más computadoras disponibles.

Esta solución es una operación muy versátil y además de manera simple se puede utilizar para gestionar actividades simultáneas, con un elevado número de computadoras, lo que se conoce como un lote de equipos.

Para ello el usuario solamente requiere tipear lo siguiente «Invoke-Command» y esa información debe acompañarse al script o comando con la ubicación exacta que le corresponde.

Invoke-Expression

Para este caso, es posible ejecutar otra expresión o comando, en el caso que el usuario esté ingresando a una cadena de entrada o también alguna expresión, es necesario primero que nada que dicho comando efectúe un análisis y luego ejecutará la acción que le ha sido ordenada, pero debe tenerse en cuenta que si por olvido u omisión se elimina el reporte del comando, en ningún momento se producirá la actividad.

Es importante tener en cuenta que este comando trabaja a nivel local, situación muy diferente a la que se relaciona el comando anterior ya descrito.

Para ejecutar la actividad correspondiente, es necesario que el usuario escriba lo siguiente: «Invoke Expression» y luego acompañar esta información con una expresión o comando.  Como ejemplo ilustrativo es posible fijar una variable tal como «$Command» que incluya una orden efectuada por cmdlet «Get -Process» y de esta manera la ejecución de dicho comando va a actuar de una manera similar a cualquier comando ubicado en el equipo local. 

También es posible en este caso ejecutar una función en un script, pero utilizando cualquier variable y de esta manera la utilidad que se obtiene es excelente sobre todo cuando se trate de un script del tipo dinámico.

Invoke-WebRequest

Otro de los comandos de PowerShell es el llamado Invoke-WebRequest, que resulta ser muy similar a cURL que funciona en Linux y donde se puede ejecutar el inicio de sesión, scraping, así como la descarga de cualquier información relacionada a servicios y páginas web, su tarea se ejecuta a través de la interfaz de Powershell, de manera tal que se efectúa inicialmente un monitoreo de cualquier sitio web elegidos, en los que se desee obtener datos o informaciones importantes.

El desarrollo de esta actividad es factible utilizando la tarea  a través de Invoke-WebRequest  y luego añadir los parámetros que se deseen. De esta manera resulta muy fácil conseguir cualquier enlace que se tenga en un sitio web determinado y para ello se requiere que el usuario establezca la siguiente sintaxis:

(Invoke-WebRequest –Uri ‘https://wwww.ebay.com’).Links

De manera tal que es factible obtener el enlace del sitio eBay.

Set-ExecutionPolicy

En muchas oportunidades, es necesario la creación y el inicio de los scripts (ps1) todo ello desde Powershell, de manera tal que existirá un cierto límite, ya que es una condición inevitable del proceso de seguridad, pero de todas maneras resulta factible efectuar una modificación a esta situación, todo ello se puede lograr a través de la categoría de seguridad y además con el uso del cmdlet Set -ExecutionPolicy.

Para efectuar la instrucción correctamente, es necesario que el usuario tipee lo siguiente: Set-ExecutionPolicy y luego debe añadir alguna de las cuatro opciones disponibles de seguridad, con el fin de que se pueda efectuar los cambios requeridos, dichas opciones son las siguientes:

  • Restricted
  • All Signed
  • Remote Signed
  • Unrestricted

En caso de que se quiera establecer un nivel de seguridad más restringido,  hay que utilizar la siguiente instrucción:  Set-ExecutionPolicy -ExecutionPolicy Restricted

Get-Item

En muchas oportunidades los usuarios en un momento dado, necesitan establecer una ubicación precisa de algo importante, tal como por ejemplo un determinado Directorio en el disco duro, para ello resulta muy útil escoger entre la lista de Comandos de Powershell uno denominado Get-Item ya que está diseñado de manera tal que disuelve situaciones como la que se ha indicado.

En forma inicial se debe tomar en cuenta la operación que se haga, de acuerdo a lo indicado, pero no se  proporciona el contenido exacto del elemento, por ejemplo para el caso de subdirectorios y archivos que se relacionan de forma específica con alguna carpeta, en caso de que el usuario desee una tarea como la que se describe, debe aportar la información de una manera explícita.

La sintaxis correspondiente sería la siguiente: En uno de los extremos de Get-Item se  debe encontrar ubicado cmdlet  y luego el comando Remove-Item que aporta la solución de eliminar el elemento que se ha especificado.

Remove-Item

Otra alternativa muy solicitada por los usuarios es la que se refiere a tratar de borrar elementos tales como: carpetas, archivos, funciones y variables, también claves de registro, en todos esos casos resulta útil este comando que será el mejor cmdlet para esta actividad.

También es factible la remoción completa de elementos que estén ubicados en espacios específicos, todo ello se logra a través del uso de ciertos parámetros. Como un ejemplo que sirve de guía se puede remover el archivo «Finanzas.txt» cuyo objetivo se podrá lograr completando el comando de la siguiente manera:

Remove-Item «C:MyDataFinanzas.txt»

Get-Content

Todo usuario que tenga la intención de revisar el contenido de cualquier archivo, pero sin necesidad de abrirlo puede hacerlo a través de uno de los comandos de Powershell denominado Get-Content, utilizando para ello la herramienta tal y como un editor de texto como un bloc de notas.

Suponiendo que se tratase de obtener unas 20 líneas de texto que pertenezcan a un archivo denominado «Proyectos.htm», fácilmente se puede acceder iniciando la tarea escribiendo Get-Content «C:Proyectos.htm» -TotalCount 20, esta herramienta es muy parecida al cmdlet Get -Item, analizada anteriormente sin embargo, en esta oportunidad es posible obtener el contenido completo. 

Por otro lado, si se utiliza este mismo instrumento para un archivo cuya extensión es txt, al hacerlo automáticamente se desplegará el texto en forma completa que contiene el archivo señalado, también es posible para el caso en que se desee investigar el archivo png de una imagen, al efectuar la instrucción el usuario tendrá a su alcance una gran cantidad de datos binarios ilegibles y sin sentido.

Pero si se utiliza únicamente  Get-Content, automáticamente se nota la diferencia de la tarea ya que se ofrece a la vista toda la información, además se puede efectuar una combinación con cmdlets más específicos, esto con la intención de obtener los resultados en forma detallada o más precisos.

Set-Content

En esta oportunidad el uso de este comando proporciona al usuario, la facilidad de poder almacenar un texto en un archivo, en otras palabras se trata de una situación similar a lo que comúnmente se puede hacer con «echo» en el Bash. En caso de que se tome la decisión de efectuar una combinación con el cmdlet Get-Content (analizado en el caso anterior), se puede tener acceso, pero previamente se visualiza el contenido de un determinado archivo, para a continuación poder hacer la copia a otro archivo y en ese caso es donde se participa con el comando Set-Content.

Como ejemplo se puede citar el uso del cmdlet que acá se analiza, con la intención de poder añadir o también sustituir el contenido de un archivo por otro contenido distinto, también resulta factible otra combinación con el comando, pero con la intención de guardarlo con un nuevo nombre, que podría ser cualquier nominación con la extensión .txt tal como se muestra en la siguiente ruta:

Get-Content «C:Proyectos.htm» -TotalCount 30 | Set-Content «Ejemplo.txt»

Get-Variable

Esta herramienta incluida en la lista de los comandos de Powershell, es muy útil para el caso donde se desean utilizar variables de manera tal que, es posible poder observar los valores de la información, además se  hace la presentación de dichos valores en forma de tabla, todo ello contando también con las opciones de incluir y excluir comodines para facilitar la actividad del usuario.

La tarea se completa a través de lo que indica la siguiente escritura: «Get-Variable», elemento, que luego debe ser acompañada con los parámetros correspondientes y otras opciones, como ejemplo se puede citar la situación donde se desea conocer el valor de la variable «descuento», para ello solo basta escribir lo siguiente:

Get-Variable -Name «descuento».

Set-Variable

El valor de las variables, también puede ser establecido, modificado o reiniciado a través del comando «Set-Variable»  y se cuenta con la posibilidad de establecer un valor de la variable, tal como se hizo en el comando analizado anteriormente, pero en este caso es necesario escribir lo siguiente:

Set-Variable -Name «descuento» -Value «Aquí se fija el valor»

Get-Process

En muchas oportunidades el usuario tiene la necesidad de establecer de manera precisa cuales son los procesos, que se están ejecutando en un momento dado en la PC. Tomando en cuenta este aspecto, se puede indicar que precisamente el comando Get- Process satisface esta inquietud y la ejecución de ese cmdlet, va a permitir la visualización en forma de lista de los procesos que se encuentran activos en un momento dado.

En otras palabras con esta herramienta Get-Process, muy parecida a la Get-Service se consigue el objetivo que se plantea, sin embargo en esta oportunidad la información está referida a los procesos.

Start-Process

En el caso de que se utilice el comando Start-Process,  se va a notar de inmediato, que la ejecución de los procesos en el equipo de computación, se puede efectuar de una manera mucho más sencilla en comparación con otras alternativas.

Exponiendo la idea con un ejemplo, en caso de que se desee el uso de una calculadora, esta ayuda se puede abrir de una manera fácil y sencilla únicamente con teclear lo siguiente:

Start-Process -FilePath “calc” –Verb

De esta manera esa calculadora, queda disponible a la orden del usuario, para cualquier cálculo u operación requerida, como un auxilio útil, pero también de una manera muy cómoda.

Stop-Process

En algunas oportunidades, es necesario por cualquier causa detener un proceso que se ha iniciado, independientemente de quien haya sido el protagonista del desarrollo del proceso, en este caso por ejemplo si se trata del caso de la calculadora antes detallada, es posible si se desea interrumpir de una manera integral, el proceso que se encuentra en ejecución en un momento dado, todo esto se logra si se escribe lo que se indica abajo de Powershell y que es lo siguiente:

Stop-Process -Name «calc»

Start-Service

Tomando en cuenta ahora del grupo de comandos de Powershell, este último denominado Start-Service, que resulta muy útil para dar inicio a cualquier servicio en la PC, a través de esta herramienta, se puede lograr ese objetivo, sin importar si dicho servicio ya esté deshabilitado en la PC, en otras palabras si previamente se manejó, pero ahora no está almacenado, el comando de todas formas lo reconoce y el operador o el usuario está en capacidad de utilizarlo para la tarea que sea necesaria.

Todo se logra escribiendo la siguiente sintaxis:

Start-Service -Name «WSearch»

Stop-Service

En esta etapa el comando detiene los servicios, que en un momento dado están en ejecución en el equipo de computación y para ello, es necesario valerse de

Stop-Service -Name «Wsearch»

De manera tal que es totalmente factible detener el servicio a través de «Windows Search».

Exit

La última fase para esta herramienta y salir de la relación Powershell, es necesario hacer uso del comando «Exit» .

¿Qué es la Powershell de Windows?

Después haberse paseado por todos los comandos que se pueden utilizar con esta herramienta, como un aspecto de resumen hay que analizar en forma general, ¿Qué es Powershell de Windows? y cuales son las principales características y aportes que este instrumento ofrece.

Un detalle importante es que la interfaz que está integrada a Powershell, posee la capacidad de poder utilizarse para distintas metas, como por ejemplo la ejecución de algunas aplicaciones avanzadas, o inclusive el manejo de tareas más sencilla tales como: consultar la hora en un momento dado.

En otro sentido, también dichos comandos pueden ser destinados de una forma conjunta para combinarse en la línea de datos útiles, para obtener resultados que son muy específicos y además avanzados. Ese proceso se conoce en el ambiente de informática como «piperlining».

Sin embargo a través de Powershell, también existe la posibilidad de seleccionar una opción muy útil para algunos usuarios, en otras palabras se trata de añadir a la consola unos nuevos comandos creados por los propios internautas.

A pesar de que Powershell fue creado hace unos cuantos años y además mantiene con Windows 10, una excelente visibilidad y un cierto grado de protagonismo, sin embargo se sigue utilizando como una excelente herramienta aunque todavía no se ha popularizado de manera intensa, todo ello por ejemplo para usuarios a nivel básico, pero con ciertos desarrollos de conocimientos y además, también está concebido el asunto, para muchos operadores informáticos, que todavía no han tenido un contacto cercano o profundo con esta ayuda.

En otras palabras le asunto va dirigido, a aquellos usuarios, que no están enterados de la utilidad de los cmdlets (Scripts light), de la consola y que pueden convertirse en un soporte técnico para navegar y además resolver múltiples situaciones laborales de forma habitual. Es decir que las ventajas que aquí se ofrecen son bastantes numerosas y profundas y el dominio de las mismas irán enriqueciendo de conocimientos a los usuarios principiantes.

Es por ello que todas esas ventajas existentes, que se logran a través de los comandos ya analizados, están a la disposición de los usuarios y además se agrega el hecho de que  Microsoft poco a poco está integrando excelentes espacios a Powershell, logrando así que se tenga a la disposición en el ambiente Windows mucha información útil y el inicio del conocimiento en esta situación, a la larga aportará grandes beneficios a todos los que manejan este tipo de herramienta.

El beneficio general poco a poco se irá percibiendo y la calidad de los trabajos también irán corroborando esta idea.

¿Cómo abrir Windows PowerShell?

Este post no puede ser desarrollado en forma integral, si no se ha resuelto la gran interrogante que indica: ¿Cómo abrir Windows PowerShell?, que se puede visitar de una manera muy fácil accediendo a la función ejecutar que está presente en Windows y todo se puede lograr a través de las siguientes instrucciones:

  • En primer lugar, es necesario presionar simultáneamente las teclas Windows+ R,  esto permite abrir una página que el usuario puede visualizar.
  • A continuación, en el cuadro identificado como «Ejecutar» es necesario que se escriba lo siguiente «PowerShell» y luego se debe hacer un clic en «Aceptar» o también existe la alternativa de pulsar directamente la tecla «Enter».

De esta manera el objetivo de abrir la herramienta se cumple en forma adecuada. Sin embargo, existe una opción distinta para lograr el mismo objetivo y se trata de inicialmente acceder a Powershell y localizar el buscador que ofrece Cortana y se encuentra ubicado en la parte inferior izquierda de la pantalla.

Y desde ese sitio se podrán localizar todas y cada unas de las herramientas que se han descrito con anterioridad y que ofrecen como se sabe diferentes alternativas de búsqueda de acuerdo a las necesidades de los interesados.

Comandos Windows

Como un complemento a todo lo analizado con Powershell, resulta interesante no olvidar los beneficios que aportan los Comandos de Windows, sobre todo desde su consola y es por ello que se efectúa este pequeño análisis:

En esa consola está disponible una opción muy interesante mediante la cual, los usuarios a nivel medio o profesional, pueden ejecutar tareas de una manera muy flexible y además muy rápida, todo ello en base al sistema operativo existente.

Como se ha establecido y ya se conoce desde hace varios años, la consola en este caso se identifica también como Símbolo del sistema (Command pront- línea de comandos o CMD), que representa la aplicación que se utiliza en sistemas basados en NT (Windows XP, 7, 8, 10, server), muy útil en ejecutar comandos por ejemplo de MS-DOS (con la extensión .exe de 16 bits), también se incluye por ejemplo scripts con formatos de extensión .bat y también .sys.

Esa consola Windows funciona tal y como la terminal de Linux, o también la que es proporcionada en otros sistemas distintos, tales como maCOS y se puede ejecutar manejándola a modo de texto, sin embargo no es muy intuitiva y por otro lado su interfaz gráfica establece su potencial cuando se manejan tareas repetitivas.

En algunas oportunidades se puede bloquear dicha interfaz gráfica, con la intención de gestionar algunos componentes o también con la posibilidad de acceder a informaciones específicas del sistema que no están disponibles.

De esta manera ese comando Windows aporta una ayuda espectacular a los usuarios que están al frente de la relación.

Conclusión

La excelente ayuda que aportan estos comandos, en todo lo explicado en el presente post, queda completamente establecida  y además queda también en evidencia la excelente potencia que caracteriza al Powershell.

Los parámetros que se adhieren en las instrucciones resultan muy útiles y además, en todo caso, se acompañan con sus propios Cmdlets o Scripts light,  ofreciendo de esa manera un excelente beneficio de las funciones de las herramientas.

Quizás el uso de estos comandos no se hace con frecuencia, pero se debe tener presente que se cuenta con un excelente soporte tecnológico para cualquier internauta y el conocimiento de ellos es una información que no puede ser diferida.

https://www.youtube.com/watch?v=0YDAT_F8Hn8

Se recomienda al lector visitar los siguientes enlaces:

Formatear un disco duro Externo paso a paso

Inicializar disco duro externo en Windows 10


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Actualidad Blog
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.