Está en la página 1de 6

Powersell

¿Qué es PowerShell?
PowerShell, llamado Windows PowerShell originariamente, es una interfaz de línea de
comandos o CLI (Command-Line Interface) que tiene la posibilidad de ejecutar
Scripts (unión de comandos) y que facilita la configuración, administración y
automatización de tareas multiplataforma, ademas dispone de un lenguaje de
scripting. Powershell tiene una salida basada en objetos por lo que acepta y devuelve
objetos de .NET ya que está basado en .NET CLR (Commond Language Runtime) esto es
ideal para automatización de procesos.
La principal diferencia de PowerShell respecto a otras interfaces de línea de comandos
es que PowerShell puede tratar con objetos, algo mas que un simple comando de
otros CLI que solo devuelve texto. Estos comandos, llamados cmdlet, devuelven una
instancia de un objeto que da lugar a una información de salida mucho más
completa que los demás intérpretes de comandos, además los otros CLI necesitan de
este para poder obtener la información de salida, mientras que un cmdlet obtiene la
información de salida por si mismo.
PowerShell permite un conjunto de comandos extensible a diferencia de otros CLI
que su conjunto de comandos está integrado, se pueden crear nuevos cmdlet a partir
de scrpit o código compilado, si necesitamos nuestro propio cmdlet podemos
crearlo. También trabaja con alias de comandos para facilitar su manejo, un alias es un
nombre que designa a un comando, así si estamos acostumbrados a trabajar con otros
CLI, podemos asignar alias a los comandos de PowerShell y seguir usando los mismos
comandos. Por ejemplo, podemos asignar el alias listar-directorios al comando dir
que nos mostrará una lista de directorios, cuando ejecutemos uno u otro nombre,
siempre mostrará el mismo resultado.

¿Para qué sirve PowerShell?


PowerShell sirve para facilitar a los administradores de sistemas tareas de
automatización, administración y configuración de sistemas Windows,
aunque también sirve para otros programas de Microsoft como SQL Server,
Exchange o IIS. Con PowerShell puedes declarar variables de todo tipo, incluye
operadores aritméticos y de asignación, se pueden crear vectores y compararlos, crear
hashtables y un sinfín de opciones más que permitirán que la automatización de
tareas sea aún más sencilla, es por esto por lo que es mayormente usada por los
administradores de sistemas.
También puedes usar PowerShell en tu PC con Windows, tan solo tienes que escribir
PowerShell en el recuadro de búsqueda de la barra de tareas de Windows,
incluso puedes poner a PowerShell como tu consola por defecto para Windows 10, con
esta CLI además podrás gestionar el sistema operativo o incluso gestionar unidades
de discos, aunque esto también puedes hacerlo con Diskpart, dispone de comandos y
utilidades dedicadas para la gestión de las unidades de tu PC

Comandos esenciales de PowerShell


En PowerShell, los comandos reciben el nombre de “cmdlet”, y se puede utilizar la tecla de
tabulación para que Powershell autocomplete el nombre del cmdlet que se quiere usar.

Get-Command
En caso de que quieras conocer todos los cmdlets que ofrece PowerShell, lo podrás hacer
escribiendo este comando en la consola.

Windows PowerShell permite, a través de este comando, conocer todas las funciones y


características que incluyen sus cmdlets, presentados en forma de lista en la que se
describen las funciones de cada uno, así como sus parámetros y opciones especiales.
Para obtener esta lista de comandos, es necesario escribir “Get-Command” seguido de un
parámetro específico, con el que se obtendrá información del cmdlet en cuestión. Por
ejemplo, si escribimos en Powershell “Get-Command *-help*”, vamos a ver una serie de
comandos que aceptan el parámetro «-help».
Get-Host
Con la ejecución de este comando se obtiene la versión de Windows PowerShell que está
usando el sistema.

Get-History
Con este comando se obtiene un historial de todos los comandos que se ejecutaron bajo
una sesión de PowerShell y que actualmente se encuentran ejecutándose.
Get-Random
Ejecutando este comando se obtiene un número aleatorio entre 0 y 2.147.483.646.

Get-Service
En ciertas ocasiones, será necesario saber qué servicios se instalaron en el sistema, para lo
que se puede usar el comando Get-Service, que brindará información acerca de los servicios
que se están ejecutando y los que ya fueron detenidos.

Para usar este cmdlet, hay que ingresar “Get-Service” en la consola, usando al mismo
tiempo alguna de las parámetros adicionales, en una sintaxis similar al siguiente ejemplo:

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

Get-Help
Especialmente muy útil para usuarios novatos en el uso de Powershell, este comando
presenta una ayuda básica para conocer más acerca de los cmdlets y sus funciones.

Get-Date
Para saber de una forma rápida qué día fue en una determinada fecha del pasado, usando
este comando se obtendrá el día exacto. Por ejemplo, para saber qué día fue el 20 de mayo
de 2009, habría que escribir en Powershell:

Copy-Item
Con este comando se pueden copiar carpetas o archivos.

Copy-Item "C:\Proyectos.htm" -Destination "C:\MyData\Proyectos.txt".


Invoke-Command
En el momento en que quieras ejecutar un script o un comando PowerShell (de forma local
o remota, en uno o varios ordenadores), «Invoke-Command» va a ser tu mejor opción. Es
simple de utilizar y te ayudará a gestionar ordenadores por lotes.

Es necesario tipear Invoke-Command junto al script o comando con su localización exacta.

Invoke-Expression
Con Invoke-Expression se ejecuta otra expresión o comando. Si te encuentras ingresando
una cadena de entrada o una expresión, en primer lugar este comando la va a analizar y a
continuación la ejecutará. 

Invoke-WebRequest
A través de este cmdlet, similar a cURL en Linux, se puede hacer un inicio de sesión, un
scraping y la descarga de información relacionada a servicios y páginas web, mientras se
trabaja desde la interfaz de PowerShell haciendo el monitoreo de algún sitio web del que se
desee obtener esta información.

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

Set-ExecutionPolicy
Por ejemplo, si queremos establecer el nivel de seguridad restringida, tendríamos que usar:

Set-ExecutionPolicy -ExecutionPolicy Restricted

Get-Item
Remove-Item

Remove-Item "C:\MyData\Finanzas.txt"
Get-Content

Get-Content "C:\Proyectos.htm" -TotalCount 20

Set-Content

Get-Content "C:\Proyectos.htm" -TotalCount 30 | Set-Content "Ejemplo.txt"

Get-Variable

Get-Variable -Name "descuento"

Set-Variable

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

Get-Process
Start-Process
Start-Process -FilePath “calc” –Verb

Stop-Process
Stop-Process -Name «calc»

Start-Service

Start-Service -Name "WSearch"


Stop-Service
Con este comando detienes los servicios que se encuentran en ejecución en el equipo.

Stop-Service -Name "Wsearch"

También podría gustarte