Está en la página 1de 8

INTRODUCCION A PowerShell EN

WINDOWS 10

0. CMD

CMD, también conocido como símbolo de sistema, es el intérprete de comandos en los


sistemas Windows. El ejecutable es cmd.exe y se trata de una aplicación que podemos
encontrar en todos los sistemas Windows.
Un poco de historia..
cmd.exe es el sucesor de command.com, de los sistemas MS-DOS y Windows9x. En
aquellos sistemas, el intérprete de ordenes también era el encargado de cargar la
configuración al arrancar el sistema. cmd.exe ya no tiene este cometido.

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

PowerShell es el intérprete que veremos en el módulo con mayor profundidad en


Sistemas Windows. Ofrece una serie de características pensadas sobre todo para los
administradores de sistemas (nosotros). Con el propósito de automatizar tareas y
realizarlas de manera más controlada.
La riqueza de PowerShell se debe sobre todo a que todo son Objetos, no se trata de una
shell que trabaja con cadenas de texto, sino que tanto los resultados, las variables y las
operaciones están orientadas a objetos. Esto se debe al uso de .NET Framework. Este
tipo de aproximación a la programación es habitual en los desarrolladores de
aplicaciones, pero no lo es tanto por parte de los administradores de sistemas.

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.

Completar nombres automáticamente


Para completar automáticamente un nombre de archivo o una ruta de acceso con las
opciones disponibles, escribe parte del nombre o la ruta, y presiona la tecla del
tabulador. Se completará automáticamente el nombre con la primera coincidencia que
encuentre. En el caso de los cmdlets, escribe la primera parte completa del
nombre(verbo) y el guión que le sigue. A continuación, pulsa el tabulador.
Ejemplo: Get-Cont<tab>.

3
1.2. Trabajar con archivos y carpetas.

Mostrar todos los archivos y carpetas que contiene una carpeta

Para obtener todos los elementos incluidos directamente en una carpeta


Get-ChildItem

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".

PS> Get-ChildItem -Path C:\WINDOWS\System32\w*32*.dll -Exclude


win*

Buscar nombres de elemento coincidentes con caracteres comodín:


El comando Get-ChildItem acepta caracteres comodín en la ruta de acceso de
los elementos que se van a enumerar.
Dado que las coincidencias con caracteres comodín se controlan mediante el
motor de Windows PowerShell, todos los cmdlets que acepten caracteres
4
comodín usan la misma notación y tienen el mismo comportamiento de
búsqueda de coincidencias. La notación de caracteres comodín de Windows
PowerShell conlleva las siguientes reglas:
- El asterisco (*) coincide con cero o más repeticiones de cualquier carácter.
- El signo de interrogación (?) coincide exactamente con un carácter.
- Los caracteres de corchete de apertura ([) y de cierre (]) rodean un juego de
caracteres que debe coincidir.
Ejemplos de cómo funciona la especificación de caracteres comodín.
- Escriba el siguiente comando para encontrar todos los archivos en el directorio
de Windows con el sufijo .log y exactamente cinco caracteres en el nombre
base:

- Encontrar todos los archivos que comienzan por la letra x en el directorio de


Windows:

- Encontrar todos los archivos cuyos nombres comienzan por "x" o "z":

Administración de la ubicación actual

Averiguar la ubicación actual.


Para averiguar la ruta de acceso de su ubicación de directorio actual, escriba el comando
Get-Location.

Configurar la ubicación actual (Set-Location)


El comando Get-Location se usa con el comando Set-Location . El comando Set-Location
permite especificar su ubicación de directorio actual.

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 :

Puedes especificar rutas relativas a la ubicación actual de la misma manera en que lo


hace en la mayoría de los shells de comandos de UNIX y Windows. En la notación
estándar de las rutas de acceso relativas, un punto ( . ) representa la carpeta actual y
dos puntos ( .. ), el directorio principal de su ubicación actual.

Así, si está en la carpeta C:\Windows, un punto ( . ) representa a C:\Windows y dos


puntos ( .. ), a C: . Puede cambiar su ubicación actual por la raíz de la unidad C:

COMPARTIR ARCHIVOS Y CARPETAS

Copia de archivos y carpetas


La copia se realiza con Copy-Item. El comando siguiente realiza una copia de seguridad
de C:\boot.ini en C:\boot.bak:
Copy-Item -Path C:\boot.ini -Destination C:\boot.bak

Otro ejemplo:

Para sobrescribir un destino preexistente, se puede usar el parámetro -Force:


Copy-Item -Path C:\boot.ini -Destination C:\boot.bak –Force

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:

Copy-Item -Filter *.txt -Path c:\data -Recurse -Destination C:\temp\text

Crear archivos y carpetas

La creación de nuevos elementos funciona igual en todos los proveedores de Windows


PowerShell. Si un proveedor de Windows PowerShell tiene más de un tipo de elemento
(por ejemplo, el proveedor FileSystem de Windows PowerShell distingue entre
directorios y archivos), debe especificar el tipo de elemento.
Este comando crea una carpeta nueva C:\temp\New Folder:
New-Item -Path 'C:\temp\New Folder' -ItemType Directory
Otro ejemplo:

Y ahora un archivo.

Eliminar todos los archivos y carpetas de una carpeta

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:

Renombrar ficheros y carpetas

Para cambiar el nombre de un elemento, se utiliza la instrucción Rename-Item el


nombre del archivo original seguido del parámetro -NewName con el nombre del
archivo nuevo.
Rename-Item "c:\archivo_original.txt" -NewName "archivo_nuevo.txt"

También podría gustarte