miércoles, 10 de octubre de 2018

20 comandos de Windows PowerShell que debes conocer

Windows PowerShell es la nueva shell de línea de comandos , que es más potente y fácil de ejecutar que el símbolo del sistema. Es realmente útil, especialmente si te interesan las tareas de automatización o creación de scripts. Sin embargo, la mayoría de nosotros no lo sabemos o preferimos usarlo en lugar del antiguo shell de línea de comandos.






En esta publicación, voy a compartir comandos útiles pero sencillos de Windows PowerShell. Puedes usar estos comandos para realizar numerosas tareas, desde obtener ayuda hasta iniciar procesos. ¿Empezamos?




Nota: Windows PowerShell está diseñado teniendo en cuenta la compatibilidad con versiones anteriores y, por lo tanto, admite muchos comandos del símbolo del sistema. Dicho esto, puedes continuar usando los comandos antiguos en su nueva y colorida interfaz.
comandos de powershell
1. Get-Help [help]
Si eres nuevo en PowerShell, puedes tener problemas; y en tales situaciones, Get-Help se convierte en tu salvador. Proporciona la información necesaria sobre cmdlets, comandos, funciones, scripts y flujos de trabajo de PowerShell.

Además, es fácil: debes escribir Get-Help seguido del comando, del cual buscas los detalles. Por ejemplo, puedes obtener información sobre el uso de “Get-Process” Get-Help Get-Process.

2. Get-Command [gcm]
Windows PowerShell permite descubrir sus comandos y funciones mediante Get-Command. Muestra la lista de comandos de una función específica o para un propósito específico en función de tu parámetro de búsqueda.

Solo necesitas escribir Get-Command seguido de tu consulta de búsqueda en PowerShell. Por ejemplo, Get-Command *-service* muestra comandos con “-service” en su nombre. Recuerda usar los asteriscos en ambos lados de tu consulta porque es un comodín que ayuda a buscar lo desconocido.

3. Invoke-Command [icm]
Cuando desees ejecutar un comando o una secuencia de comandos de PowerShell, local o remotamente en una o varias computadoras, “Invoke-Command” es tu amigo. Es fácil de usar y te ayuda a controlar las computadoras por lotes.

Debes escribir Invoke-Command seguido del comando o la secuencia de comandos con tu ruta completa. Por ejemplo, puedes ejecutar un comando “Get-EventLog” usando Invoke-Command -ScriptBlock {Get-EventLog system -Newest 50} o en una computadora remota “Server01” usando Invoke-Command -ScriptBlock {Get-EventLog system -Newest 50} -ComputerName Server01.

4. Invoke-Expression [iex]
Invoke-Expression ejecuta otro comando o expresión. Si proporcionas una expresión o una cadena como entrada, este comando primero lo evalúa, luego lo ejecuta, pero también funciona solo localmente, a diferencia del comando anterior.

Debes escribir Invoke-Expression seguido de un comando o una expresión. Por ejemplo, puedes asignar una variable “$Command” con una cadena que indica el comando “Get-Process#. Cuando ejecutas Invoke-Expression $Command, “Get-Process” se ejecuta como un comando en tu computadora local.

5. Invoke-WebRequest [iwr]
Puedes descargar, iniciar sesión y obtener información sobre sitios web y servicios web mientras trabajas en Windows PowerShell utilizando Invoke-WebRequest.

Debes usarlo como Invoke-WebRequest seguido de sus parámetros. Por ejemplo, puedes obtener los enlaces en una página web determinada usando el comando como (Invoke-WebRequest -Uri "https://docs.microsoft.com").Links.Href.

6. Set-ExecutionPolicy
Aunque es posible crear y ejecutar scripts (con la extensión “ps1”) en Windows PowerShell; Sin embargo, existen restricciones por motivos de seguridad. Pero puedes cambiar el nivel de seguridad usando el comando Set-ExecutionPolicy.

Puedes escribir Set-ExecutionPolicy seguido de uno de los cuatro niveles de seguridad: Restricted, Remote Signed, All Signed, or Unrestricted para usar el comando. Por ejemplo, puedes asignar el estado de la política restringida usando Set-ExecutionPolicy -ExecutionPolicy Restricted.

7. Get-Item [gi]
Si estás buscando información sobre un elemento en cualquier ubicación, digamos un archivo en tu disco duro, Get-Item es la mejor manera de adquirirlo en Windows PowerShell. Debes saber que no obtienes el contenido del elemento, como archivos y subdirectorios en un directorio determinado, a menos que lo especifiques explícitamente.

Debes escribir Get-Item seguido de una ruta o una cadena junto con sus parámetros, si los hay. Por ejemplo, puedes obtener todos los elementos (archivos o carpetas) que comienzan con “M” en el directorio actual usando Get-Item M*. Junto con el contenido de los directorios, también puedes obtener el contenido de las claves de registro.

8. Copy-Item [copy]
Si necesitas copiar archivos y directorios en tu disco de almacenamiento o las entradas y claves del registro en el registro, puedes usar Copy-Item. Funciona de manera similar al comando “cp” que tenemos en el símbolo del sistema, pero es mucho mejor.

También puedes utilizar el comando Copy-Item para copiar y cambiar el nombre de los elementos en el mismo comando; asígnale un nombre nuevo como destino. Por ejemplo, puedes copiar y cambiar el nombre de "Services.htm" a “MyServices.txt” usando Copy-Item "C:\Services.htm" -Destination "C:\MyData\MyServices.txt".

9. Remove-Item [del]
Si deseas eliminar elementos como archivos, carpetas, funciones, claves y variables de registro, Remove-Item es el comando para ti. Lo que me pareció interesante es que proporciona parámetros para incluir y excluir elementos.

Puedes utilizar el comando Remove-Item para eliminar elementos de ubicaciones específicas utilizando parámetros. Por ejemplo, puedes eliminar el archivo “MyServices.txt” con el comando Remove-Item “C:\MyData\MyServices.txt”.

10. Get-Content [cat]
Cuando necesitas ver el contenido de un archivo de texto en una ubicación específica, lo abres y lo lee en un editor de texto como Notepad++. En Windows PowerShell, puedes usar Get-Content para recuperar el contenido sin abrir el archivo.

Por ejemplo, puedes recuperar 50 líneas de contenido de “Services.htm”, luego puedes usar Get-Content "C:\Services.htm" -TotalCount 50.

11. Set-Content [sc]
Puedes guardar texto en archivos usando Set-Content, similar al comando “echo” de Bash Shell. En combinación con Get-Content, también puedes recuperar el contenido de un archivo y copiarlo en otro archivo con este comando.

Por ejemplo, puedes escribir Set-Content para escribir o reemplazar el contenido de un archivo con contenido nuevo. Además, puedes agruparlo con el ejemplo del comando anterior para guardar la salida en un nuevo archivo llamado “Sample.txt” usando Get-Content “C:\Services.htm” -TotalCount 50 | Set-Content “Sample.txt”.

12. Get-Variable [gv]
Si estás buscando usar variables en Windows PowerShell, el comando Get-Variable te ayuda a visualizar los valores de las variables. La muestra en forma tabular y permite incluir, excluir y usar comodines.

Puedes usar este comando escribiendo Get-Variable seguido de sus opciones y parámetros. Por ejemplo, se puede recuperar el valor de una variable llamada “desc” usando el siguiente código: Get-Variable -Name “desc”.

13. Set-Variable [set]
Puedes asignar o cambiar/restablecer el valor de una variable mediante el comando Set-Variable. Como acceso directo, también puedes establecer una variable simple utilizando el formato ${$ VarName = VarValue }$, como $desc = “A Description”.

Puedes utilizar el comando Set-Variable seguido de sus parámetros para establecer una variable. Por ejemplo, podemos establecer el valor de una variable llamada "desc" usando el comando Set-Variable -Name "desc" -Value "A Description".

14. Get-Process [gps]
Usualmente usamos el Administrador de tareas para encontrar los procesos en ejecución en nuestra computadora. En Windows PowerShell, cualquiera puede usar Get-Process para obtener la lista de los procesos actualmente en ejecución, que también puede procesar.

Puedes escribir el comando Get-Process junto con tu consulta de búsqueda. Por ejemplo, si necesitas información sobre los procesos con “explore” en tu nombre, puedes escribir Get-Process *explore* (nótese los asteriscos).

15. Start-Process [saps]
Windows PowerShell facilita el inicio de uno o más procesos en tu computadora. Descubrí que este comando es útil en las aplicaciones de scripting, ya que es uno de los comandos imprescindibles que necesitarás para automatizar una tarea.

Puedes escribir Start-Process seguido de sus parámetros para usar el comando. Por ejemplo, puede iniciar el Bloc de notas escribiendo Start-Process -FilePath “notepad” -Verb runAs en Windows PowerShell.

16. Stop-Process [kill]
Puedes detener las instancias específicas o todas las instancias de un proceso que se ejecute en tu computadora usando su nombre o PID (Id. De proceso), gracias al comando Stop-Process. Lo que lo hace atractivo es que puede detectar si un proceso está detenido o no, e incluso puedes detener los procesos que el usuario actual no ha iniciado.

Puedes escribir el comando Stop-Process seguido de sus parámetros para detener los procesos dados. Por ejemplo, puedes detener todos los procesos de Bloc de notas con el comando Stop-Process -Name “notepad”.

17. Get-Service [gsv]
Cuando necesites información sobre servicios específicos (en ejecución o detenidos) en tu computadora, puedes usar Get-Service. Muestra los servicios instalados en tu sistema y proporciona opciones para filtrarlos e incluirlos y excluirlos.

Si deseas utilizar este comando, puede escribir Get-Service seguido de sus parámetros. Por ejemplo, escribe lo siguiente Get-Service | Where-Object {$_.Status -eq "Running"} para que los servicios se “ejecuten” en tu sistema.

18. Start-Service [sasv]
Si deseas iniciar un servicio en tu computadora, el comando Start-Service puede ayudarte a hacer lo mismo desde Windows PowerShell. Descubrí que es lo suficientemente potente como para iniciar un servicio, incluso si ese servicio está deshabilitado en tu computadora.

Debes especificar el nombre del servicio mientras usas el comando Start-Service. Por ejemplo, Start-Service -Name “WSearch” inicia el servicio “Búsqueda de Windows” en tu computadora local.

19. Stop-Service [spsv]
Si deseas detener los servicios que se ejecutan en tu computadora, el comando Stop-Service será útil. Debes especificar el nombre del servicio junto con Stop-Service. Por ejemplo, escribe Stop-Service -Name “WSearch” para detener el servicio “Búsqueda de Windows” en su computadora.

20. ConvertTo-HTML
PowerShell puede proporcionar información sorprendente sobre tu sistema. Sin embargo, se presenta principalmente en un formato no digerible, pero puedes usar ConvertTo-HTML para crear y formatear un informe para analizarlo o enviarlo a alguien.

Puede usar ConvertTo-HTMLjunto con la salida de otro. Por ejemplo, Get-Service | ConvertTo-HTML -Property Name, Status > C:\Services.htm muestra la lista de todos los servicios y su estado en forma de informe web, que se almacena en el archivo “Servicios.htm”.

Eso es todo acerca de los comandos esenciales que debes conocer de Windows PowerShell. ¿Te ha resultado útil esta publicación? ¿Me perdí de mencionar tu comando favorito de Windows PowerShell?

No hay comentarios.:

Publicar un comentario

Tu opinión es importante para mí, porque me ayuda a mejorar. Si te gustó el articulo o tienes alguna sugerencia, déjame tu comentario con tu nombre para poder responderte tan pronto como pueda.