Introduccion A Power Shell
Introduccion A Power Shell
Introduccion A Power Shell
WINDOWS 10
0. CMD
CMD vs PowerShell
El símbolo de sistema ha sido una de las herramientas más utilizadas por parte de los
administradores de sistemas en Windows para realizar tareas, sin embargo, ha sido
superado por una de las herramientas más versátiles para los administradores que se ha
desarrollado Microsoft : PowerShell.
Desde Noviembre de 2017, PowerShell ha ido ganando terreno en las builds de Windows
10, siendo ya el intérprete por defecto cuando se pulsan las teclas Win+X o en el
explorador de ficheros.
1. POWERSHELL
1
Una interfaz de línea de comandos (CLI), como Windows PowerShell, debe aplicar un
enfoque distinto para exponer información, ya que carece de menús o sistemas gráficos
que sirvan de ayuda al usuario. Es necesario que el usuario conozca los nombres de los
comandos para emplearlos.
1.1. Conceptos importantes sobre PowerShell.
cmdlets
Se trata de los comandos básicos en PowerShell, están orientados a realizar una tarea
concreta. Sus nombres constan de dos partes:
<verbo>-<nombre>.
La parte del verbo indica la acción que se va a realizar con la ejecución del cmdlet y la
parte del nombre indica el recurso sobre el que el *cmdlet *va a realizar la acción.
Ejemplo: obtener una lista de los cmdlets que permiten ver y cambiar servicios de
Windows:
Get-command *-service
Mostrar información del acerca del comando Get-Service:
Get-help get-service
2
Parámetros
Los parámetros (argumentos) son los modificadores que se añaden a un comando para
cambiar el modo de ejecución de dicho comando.
Ejemplo: Nos devolverá aquellos directorios y ficheros que comiencen por w en la
carpeta en la que estemos.
Get-ChildItem -Name w*
Tuberias |
Uno de los conceptos más complicados, y más potentes y utilizados en la administración
de sistemas. Se trata que el resultado de la ejecución de un comando puede ser enviado
como entrada del siguiente.
Ejemplo: Get-Process | sort -Descending id
Get-Process nos muestra el listado de procesos, lo pasa a sort y este nos lo muestra de
manera descendente por id.
Ayuda en PowerShell
No hace falta que nos aprendamos de memoria todas las opciones de los comandos, el
primer motivo es porque normalmente dispondremos de internet, pero a veces (más a
menudo de lo que imaginamos) nos encontramos en lugares donde no es fácil encontrar
conectividad.
PowerShell ofrece ayuda acerca de los cmdlets (comandos), que podemos consultar
ejecutando:
Comando -?:ayuda estándar comando.
get-help comando : Ayuda estándar
get-help comando -detailed: Ayuda detallada con ejemplos de uso
get-help comando -full: Ayuda detallada, ejemplos y consideraciones técnicas.
También se puede emplear man y help.
3
1.2. Trabajar con archivos y carpetas.
Algunos Parámetros
–Force C:\ : se muestran los archivos ocultos o del sistema
- Recurse: muestra el contenidos de las carpeta y subcarpetas, suele llevar
tiempo.
- Path: muestra la carpeta que le digamos
- Name: filtrar elementos por su nombre
Ejemplos:
- Exclude: sirve para excluir elementos. Por ejemplo, imagine que está buscando
el archivo .dll del servicio de hora de Windows en la carpeta System32 y solo
recuerda que el nombre del archivo .dll comienza por "W" y contiene "32".
- Encontrar todos los archivos cuyos nombres comienzan por "x" o "z":
5
Para comprobar que se ha producido un cambio de directorio correcto al indicar el
comando Set-Location , incluye el parámetro -PassThru cuando escriba el comando Set-
Location :
Otro ejemplo:
6
También puede copiar una selección de elementos. El siguiente comando copia todos
los archivos .txt de cualquier ubicación de C:\data en C:\temp\text:
Y ahora un archivo.
Los elementos contenidos se pueden quitar mediante Remove-Item, pero se pedirá que
se confirme la eliminación si el elemento contiene algo más. Por ejemplo, si se intenta
eliminar la carpeta C:\temp\DeleteMe que contiene otros elementos, Windows
PowerShell le pedirá confirmación antes de eliminar la carpeta:
7
Si no quiere que se le solicite confirmación por cada elemento contenido, especifique el
parámetro -Recurse: