Está en la página 1de 9

PowerShell

1 INTÉRPRETES DE COMANDOS ....................................................................... 2


2 POWERSHELL ................................................................................................... 2
2.1 COMANDOS BÁSICOS Y CMDLETS EN POWERSHELL 5
2.2 FILTROS O TUBERÍAS 7
2.3 REDIRECCIONAMIENTOS 8
2.4 APLICACIONES Y UTILIDADES DEL SISTEMA 8

UT1. Sistema Operativo Windows Server: instalación y uso Página 1


PowerShell

1 INTÉRPRETES DE COMANDOS

Un intérprete de comandos permite la comunicación entre el sistema y el usuario.


Aunque existen interfaces gráficas de usuario (GUI), la línea de comandos presenta
ventajas evidentes frente a la interfaz gráfica:

• Menor consumo de recursos (muy importante si se actúa sobre sistemas remotos


mediante una conexión lenta).
• Posibilidad de programar guiones o scripts.
• Programas y sintaxis enfocada a conseguir una mayor productividad.

Existen multitud de intérpretes de comandos, en algunos sistemas operativos puede


haber varios instalados y cada usuario decide cuál utilizar. Algunos ejemplos:
UNIX/LINUX WINDOWS
Korn Shell (ksh) command.com
C Shell (csh) cmd.exe
Bourne Shell (sh) MSH Windows PowerShell (Monad)
Bourne Again Shell (bash)
Tcsh
Z Shell (Zsh)

2 POWERSHELL

Desde los principios de MS-DOS, Microsoft ha incluido una línea de comandos muy
básica que ha ido evolucionando, poco a poco, a lo largo del tiempo, sin perder su
compatibilidad con las versiones anteriores. La forma de automatizar acciones en la línea
de comandos era crear archivos de procesos por lotes.
En abril de 2006 Microsoft lanzó una nueva interfaz de consola, con un nutrido grupo de
órdenes y la capacidad de crear scripts usando una sintaxis moderna, que comparte
similitudes con el lenguaje Perl. Esta nueva interfaz comenzó
denominándose Monad durante su periodo de desarrollo, pero terminó
llamándose PowerShell en el momento de su lanzamiento.
Siempre ha sido una interfaz gratuita, pero antes de Windows 7 no se incluía con el
sistema operativo y necesitaba instalarse a parte. En la actualidad, está incluida en todos
los sistemas operativos de Microsoft, aunque requiere la presencia de .NET framework,
en el que está basado y del que hereda sus características orientadas a objetos.

UT1. Sistema Operativo Windows Server: instalación y uso Página 2


PowerShell

PowerShell permite realizar las mismas tareas que la interfaz de línea de comandos
existente desde el sistema operativo MS-DOS, pero además facilita la automatización
de tareas de administración del sistema operativo. Permite la orientación a objetos,
cmdlets (command-let), ordenes incluidas en PowerShell, alias de comandos,
funciones… Al principio, PowerShell tenía sólo 129 cmdlets básicos. Sin embargo, a lo
largo de las versiones, este número se ha ido incrementando. Además, pueden incluirse
conjuntos específicos para trabajar con Active Directory, Exchange, u otros roles de
servidor. En la actualidad PowerShell es una un entorno enorme, lleno de cmdlets para
administrar casi cualquier característica de Windows y de otras aplicaciones que
instalemos sobre él y, además, orientado a objetos.
Es posible seguir utilizando la consola clásica, y podemos ejecutar muchos comandos
en ella, pero cada vez se utiliza más la consola de PowerShell para realizar funciones
de administración que no son posibles de realizar mediante el símbolo del sistema (cmd).
PowerShell también se puede instalar en un sistema operativo Linux. La mayoría de los
cmdlet de PowerShell tienen alias a los comandos de la consola clásica de Windows y
a la terminal de Linux.
Windows PowerShell incorpora además del intérprete Shell de línea de comandos
PowerShell, un Entorno de Scripting Integrado ISE (Integrated Scripting
Environment) y un lenguaje de scripting completo y altamente desarrollado, con lo
que se facilita enormemente la automatización de tareas. El PowerShell ISE es un
entorno de ejecución de PowerShell que facilita la tarea a la hora de ejecutar y programar
scripts. Los scripts de PowerShell tienen la extensión .ps1.

En PowerShell tenemos diferentes tipos de elementos:

• CmdLets: comandos propios de PowerShell. Suelen devolver un objeto de tipo


Microsoft .NET. Para facilitar su uso se componen de dos partes: verbo y nombre.
• Alias: se utilizan para poder llamar a los comandos con otro nombre diferente.
Existen unos alias ya creados que se caracterizan por ofrecer compatibilidad con
otros sistemas o para facilitar la escritura de comandos.
• Funciones: se utilizan para realizar determinadas tareas, como los cmdlets, y
pueden devolver un objeto. Al igual que con los cmdlets y los alias, existen una
serie de funciones implementadas y los usuarios pueden crear las suyas propias
para facilitar su trabajo.

UT1. Sistema Operativo Windows Server: instalación y uso Página 3


PowerShell

Además de los elementos anteriores, se pueden crear variables, tablas, listas, tablas de
hash, objetos y ejecutar aplicaciones o programas ejecutables del sistema.

Se puede ejecutar PowerShell desde:

• El entorno gráfico “PowerShell ISE”

• La consola PowerShell: desde el símbolo del sistema ejecutando: PowerShell o


start PowerShell.

Si abrimos la consola de PowerShell y queremos volver a la consola de comandos


clásica usaremos el comando cmd o start cmd.

• El botón secundario del ratón, dejando la tecla Shift pulsada:

UT1. Sistema Operativo Windows Server: instalación y uso Página 4


PowerShell

Para instalar la última versión de PowerShell: desde https://learn.microsoft.com/es-


es/powershell/scripting/install/installing-powershell-on-windows?view=powershell-
7.3#msi

2.1 COMANDOS BÁSICOS Y CMDLETS EN POWERSHELL

Los comandos y cmdlets más generales son los siguientes:


Cmdlet Alias Función Descripción
Get-Alias gal Muestra todos los alias definidos en el sistema
Muestra los alias que tiene un determinado
comando:
Get-Alias -Definition Get-Date
Para saber el número exacto de cmdlets que
hay disponibles en el sistema:
Get-Command -CommandType cmdlet |
Measure-Object.
Get- gcm Obtiene todos los comandos. Si se le pasan
Command argumentos, se puede obtener información
sobre un comando o un conjunto de comandos.
Get-History History, Obtiene la lista de los comandos escritos en la
h, ghy sesión actual
Get-help man Proporciona información de ayuda sobre los
comandos de PowerShell. Si la ayuda
inicialmente no está instalada, hay que ejecutar
el cmdlet Update-Help
Obtener ayuda de cualquier comando
añadiendo el parámetro -?

UT1. Sistema Operativo Windows Server: instalación y uso Página 5


PowerShell

Obtener ayuda de forma detallada añadiendo el


parámetro -detailed
Obtener ayuda de un parámetro -Parameter

Get-help * help Muestra información de todos los elementos:


alias, cmdlets y funciones.
Set-Location sl Cambia de directorio
cd También se puede cambiar la unidad
chdir escribiendo su letra y dos puntos Z:
Get-Location gl Muestra la ruta de acceso de la ubicación del
pwd directorio actual
exit Sale de la instancia de PowerShell
Clear-Host cls Limpia la ventana de la consola
clear
Get-Date gtz Muestra o establece la fecha y la hora del
Set-Date stz sistema. (zona horaria)
Get-TimeZone
Set-TimeZone
Sort-Objetct sort Muestra por pantalla el contenido de un fichero
ordenado.
Get-Content cat Muestra el contenido de un archivo de texto
gc
type
Out-Host - more Muestra la información pantalla por pantalla (de
Paging forma paginada)
Get-ChildItem dir Muestra una lista de archivos y directorios
gci
ls Con el parámetro Force se muestran los
ficheros ocultos.
attrib Muestra o cambia los atributos del archivo
New-Item ni mkdir Crea un directorio o un archivo
alias:
md

Remove-Item del Elimina un directorio o un archivo

UT1. Sistema Operativo Windows Server: instalación y uso Página 6


PowerShell

erase
rd
ri
rm
rmdir
Copy-Item copy Copia uno o más archivos
cp
cpi
Get- Gp Obtiene la propiedad de un elemento
ItemProperty
Move-Item move Mueve archivos y directorios
Rename-Item Ren, rni Cambia el nombre de uno o más archivos
Test-Path Comprueba si existe una ruta
Push- pushd Guarda el directorio actual en una pila y cambia
Location a una nueva ubicación
Pop-Location popd Cambia la ubicación actual a la última ubicación
desde la que se realizó push-location
Stop- Apaga un equipo
Computer -computerName
Restart- Reinicia un equipo
Computer -computerName
Algunos cmdlets cuentan con la opción -whatif para ver el efecto que producirían antes
de probarlos realmente.

2.2 FILTROS O TUBERÍAS

Las tuberías o filtros se utilizan en una línea de comandos para conectar la salida
estándar de un comando con la entrada estándar de otro. Para ello se utiliza el carácter
|. Windows PowerShell proporciona un nuevo modelo interactivo que se basa en objetos,
en lugar de texto. Una de las mayores ventajas de utilizar objetos es que facilitan la
canalización de comandos, es decir, la transferencia de la salida de un comando como
entrada de otro comando. El comando que recibe un objeto puede actuar directamente
en sus propiedades y métodos sin ninguna conversión ni manipulación. Puede hacer
referencia a las propiedades y los métodos del objeto por el nombre, en lugar de calcular
la posición de los datos en la salida.

UT1. Sistema Operativo Windows Server: instalación y uso Página 7


PowerShell

En PowerShell se pueden utilizar filtros a los cmdlets para cambiar la salida de un


comando: Out-Host, Out-File, Out-Printer y Out-Null y para cambiar el formato de la
salida: Format-Wide, Format-List y Format-Table.

2.3 REDIRECCIONAMIENTOS

Se puede cambiar la salida de un comando a un fichero mediante los


redireccionamientos, en los que podemos utilizar los siguientes caracteres:

Redireccionamiento Descripción
Redirecciona la salida de un proceso al fichero que se le
>
indique, borrando la información que el fichero contenía.
Redirecciona la salida de un proceso al fichero que se le
>> indique, pero añadiendo al final de la información del fichero la
salida, con lo que no se borra el contenido del fichero.
Redirecciona la salida de errores de un proceso al fichero que
2>
se le indique, borrando la información que el fichero contenía.
Redirecciona la salida de errores de un proceso al fichero que
2>> se le indique, añadiendo al final de la información del fichero la
salida, con lo que no se borra el contenido del fichero.
Redirecciona la salida de error (Error) a la estándar (Success,
2>&1 correcta) y envía tanto la de error como la estándar al fichero
que se le indique.
Redirecciona la salida de error (Error) a la estándar (Success,
2>>&1 correcta) y las envía al fichero que se le indique, pero
añadiendo la información al final del fichero.
En todos los casos si el fichero indicado no existe se crea.
El número 1 indica salida estándar (pantalla), el número 2 indica salida de error.
Otras salidas son: 3 (Warning, advertencia), 4 (Verbose, detallada), 5 (Debug,
depuración), 6 (information, información) y * (todas).

2.4 APLICACIONES Y UTILIDADES DEL SISTEMA

Además de los comandos propios de PowerShell, desde la terminal se pueden ejecutar


aplicaciones y utilidades del sistema:
UT1. Sistema Operativo Windows Server: instalación y uso Página 8
PowerShell

Aplicaciones
Descripción
y Utilidades
systeminfo Muestra la configuración básica del equipo
Muestra gráficamente la estructura de directorios de una unidad o ruta
tree
de acceso
robocopy Utilidad avanzada para copiar árboles de archivos y directorios
print Imprime un archivo de texto
subst Asocia una ruta de acceso con una letra de unidad
xcopy Copia archivos y árboles de directorios
shutdown Apaga o reinicia el sistema. También cierra la sesión de usuario.
comp Compara el contenido de dos archivos o de un conjunto de archivos
label Crea, cambia o elimina la etiqueta del volumen de un disco.

UT1. Sistema Operativo Windows Server: instalación y uso Página 9

También podría gustarte