Está en la página 1de 9

Fundamentos de PowerShell

Identificar sintaxis de PowerShell


• Para saber el número de comandos disponibles en powershell
Get-command –CommandType cmdlet | Measure-Object
• Dir o Get-ChildItem
• Clear
• Para saber la sintaxis completa de un comando: Get-Help .
Si necesitamos más ayuda y ejemplos de comando disponemos de
la siguiente ayuda:Get-Help –online (comando).
• Podemos descargar ayuda online en local con:
➢ Update-Help –Module Microsoft.PowerShell*
➢ Si se solicita ayuda más completa: Get-Help Get-ChildItem –Detailed.
➢ Para obtener ejemplos de uso de comando usa: -Examples.
➢ Si quieres saber la información detallada de cada argumento del comando
utiliza: -Full .

Estatus de premiosidad y cambio


• Para cambiar la política, siempre ejecutando PowerShell como
administrador: Set-ExecutionPolicy. RemoteSigned.
• Para saber qué política tenemos actualmente: Get-ExecutionPolicy

Windows Power Shell ISE


Windows PowerShell Integrated Scripting Environment (ISE) es una aplicación host
de Windows PowerShell. En el ISE, puede ejecutar comandos y escribir, probar y
depurar scripts en una única interfaz gráfica de usuario basada en Windows. El ISE
proporciona edición de varias líneas, finalización con tabulación, color de sintaxis,
ejecución selectiva, ayuda contextual y compatibilidad con idiomas de derecha a
izquierda. Los elementos de menú y métodos abreviados de teclado se asignan a
muchas de las mismas tareas que realizaría en la consola de Windows PowerShell.
Por ejemplo, al depurar un script en el ISE, puede hacer clic con el botón derecho
en una línea de código del panel de edición para establecer un punto de
interrupción.
Principales características
Entre las principales características de Windows PowerShell ISE están las
siguientes:
• Edición de varias líneas: para insertar una línea en blanco debajo de la
línea actual en el panel de comandos, presione MAYÚS+ENTRAR.
• Ejecución selectiva: para ejecutar parte de un script, seleccione el texto que
quiera ejecutar y, a continuación, haga clic en el botón Ejecutar script.
También puede presionar F5.
• Ayuda contextual: escriba Invoke-Item y, luego, presione F1. El archivo de
ayuda se abre en el artículo correspondiente al cmdlet Invoke-Item.
Windows PowerShell ISE permite personalizar algunos aspectos de su apariencia.
También tiene su propio script de perfil de Windows PowerShell.
Para iniciar Windows PowerShell ISE
Haga clic en Inicio, seleccione Windows PowerShell y, después, haga clic en
Windows PowerShell ISE. Como alternativa, puede escribir powershell_ise.exe en
cualquier shell de comandos o en el cuadro Ejecutar.
Para obtener ayuda de Windows PowerShell ISE
En el menú Ayuda, haga clic en Ayuda de Windows PowerShell. También puede
presionar F1. El archivo que se abre contiene información detallada sobre
Windows PowerShell ISE y Windows PowerShell, además de toda la ayuda
disponible con el cmdlet Get-Help.
Niveles de permisividad
Un aspecto importante para PowerShell es la seguridad. Su objetivo es evitar que
se ejecuten, sin la autorización del usuario, scripts que puedan dañar al equipo. Y
para alcanzarlo, dispone de varios modos de restricción en la ejecución de scripts.
Lo primero es que, de forma predeterminada, el sistema no permite la ejecución
de ningún tipo de scripts. De ese modo, un usuario sin los conocimientos
adecuados, no tendrá que preocuparse de nada. Simplemente, su sistema no
ejecuta scripts.
No obstante, un usuario que sí pretenda usar scripts en su actividad diaria, deberá
ajustar esta política predeterminada del sistema. Pero antes, necesitamos saber
que existen cuatro niveles de permisividad disponibles:
• Restricted: En este nivel no se permite la ejecución de scripts. Es decir.
PowerShell sólo puede utilizarse en modo interactivo. Esta es la opción
predeterminada.
• AllSigned: Cuando esta sea la opción elegida, deberán estar autenticados
todos los scripts, antes de poder ejecutarlos. Es la opción más restrictiva
• RemoteSigned: En este caso, sólo deberán estar autenticados los scripts
que procedan de una ubicación remota. Por ejemplo, los que hayan sido
descargados.
• Unrestricted: Si elegimos esta opción, se ejecutará cualquier script sin
importar su origen. Se trata de la opción menos recomendada.
Realizar un script
Para realizar un script es necesario habilitarlos y después se procede a realizar
uno en Windows Power Shell (ISE).
Se guarda el archivo y se procede a ejecutar desde el PowerShell llendo a la
carpeta donde se guardó el script y se ejecuta usando “.\” antes del nombre del
archivo.

Cuando se ejecute marcara la siguiente salida, esto indicar que el script está
correcto.

Variable
Zona de memoria con nombre
Ahí podemos escribir y leer
Memoria reservada para nuestro programa \scripts
Protección SO
Nombres únicos e inalterables.
Concepto de variable 2
El primer carácter debe ser siempre un símbolo de dólar ($)
Después, podemos utilizar cualquier combinación de letras números o símbolos.
También pueden utilizarse espacios en blanco, pero en este caso,

Concepto de variable 3
• Nuestra primera variable
$nombre = “ADD costa tropical”
• Operador asignación.
• Los valores de texto se encierran entre comilla para “car donde empiezan y
donde acaban.
Ejemplos:
$nombre
$edad
${resultado}

Describir las características de los argumentos y parámetros de


powershell
Variables en PowerShell
Para definir una variable en PowerShell sólo tenemos que nombrarla, aunque
siguiendo una serie de restricciones:
• El primer carácter debe ser siempre un símbolo de dólar ($)
• Después, podemos utilizar cualquier combinación de letras, números o
símbolos.
• También pueden utilizarse espacios en blanco, pero, en este caso, el nombre
debe ir rodeado por símbolos de llaves ({})
Habitualmente, la primera vez que se utiliza una variable es para asignarle un valor
inicial. Por ejemplo
Algunos nombres válidos para variables podrían ser estos:

Pedir información al usuario


Uno de los primeros usos que daremos a las variables será el de recibir y
almacenar algún valor que se solicite al usuario.
El cmdlet que se encarga de pedir información al usuario es Read-Host. Su
funcionamiento consiste en mostrar en pantalla un texto (de forma opcional) y
guardar en una variable, también como texto, lo que escriba el usuario. Veamos
un ejemplo:

Al ejecutar la línea anterior, el usuario verá en pantalla el texto ¿Cómo te llamas?


En respuesta, suponemos que escribirá su nombre, que será guardado en la
variable $Nombre.
Estructura de comandos:
• Los nombres de todos los cmdlest siguen un patrón común,
formado por un verbo, guion y nombre en singular. De este modo
será mucho más fácil recordarlos.
• PowerShell no distingue entre mayúsculas y minúsculas.
• Dispone de autocompletado si usamos el ISE.
• Argumentos y operandos.
• Opcionales y obligatorios.
• Ejemplo: cp –R origen destino.
Explicar el proceso de creación de objetos personalizados
Puede crear objetos en PowerShell y usar los objetos que cree en comandos y
scripts.
Hay muchas maneras de crear objetos, esta lista no es definitiva:
• New-Object: crea una instancia de un objeto de .NET Framework o un objeto
COM.
• Import-Csv/ConvertFrom-CSV: crea objetos personalizados
(PSCustomObject) a partir de los elementos definidos como valores
separados por caracteres.
• ConvertFrom-Json: crea objetos personalizados definidos en notación de
objetos JavaScript (JSON).
• ConvertFrom-StringData: crea objetos personalizados definidos como pares
clave-valor.
• Add-Type: permite definir una clase en la sesión de PowerShell que puede
crear instancias con New-Object.
• New-Module: el parámetro AsCustomObject crea un objeto personalizado
que se define mediante el bloque de scripts.
• Add-Member: agrega propiedades a objetos existentes. Puede usar Add-
Member para crear un objeto personalizado a partir de un tipo simple, como
[System.Int32].
• Select-Object: selecciona las propiedades de un objeto. Puede usar Select-
Object para crear propiedades personalizadas y calculadas en un objeto ya
creado por instancias.
Método new() estático
Todos los tipos de .NET tienen un new() método que permite construir instancias
más fácilmente. También puede ver todos los constructores disponibles para un tipo
determinado.
Para ver los constructores de un tipo, especifique el nombre del new método
después del nombre del tipo y presione ENTER.
Creación de objetos personalizados a partir de tablas hash
Los objetos personalizados son muy útiles y son fáciles de crear mediante el método
de tabla hash. La clase PSCustomObject está diseñada específicamente para este
propósito.
Los objetos personalizados son una excelente manera de devolver la salida
personalizada de una función o script. Esto es más útil que devolver la salida con
formato que no se puede volver a formatear ni canalizar a otros comandos.
Los comandos del Test-Object function conjunto de algunos valores de variable y,
a continuación, usan esos valores para crear un objeto personalizado. Puede ver
este objeto en uso en la sección de ejemplo del tema de ayuda del Update-Help
cmdlet.

Control del Shell


Describir el proceso de personalización del entorno Shell
La personalización del entorno de la shell se refiere a la configuración y ajuste de
las opciones y preferencias del intérprete de comandos utilizado en un sistema
operativo, como Bash, Zsh, PowerShell, entre otros. Estos entornos de shell
proporcionan una interfaz de línea de comandos para interactuar con el sistema
operativo y ejecutar comandos.
A continuación, se describe el proceso general de personalización del entorno shell:
Configuración de opciones de la shell: La mayoría de las shells tienen un archivo de
configuración específico donde se pueden establecer opciones y variables de
entorno. Por ejemplo, en Bash, el archivo de configuración es generalmente .bashrc
o .bash_profile. Aquí puedes definir alias para comandos, establecer variables de
entorno, modificar el prompt, configurar la historia de comandos, entre otros.
Alias y funciones: Puedes crear alias o abreviaciones para comandos largos o
frecuentemente utilizados. Por ejemplo, puedes establecer un alias "l" para el
comando "ls -la" para mostrar los archivos y directorios en formato largo.
Variables de entorno: Las variables de entorno son valores que se pueden utilizar
en los comandos y scripts de shell. Puedes definir tus propias variables de entorno
y asignarles valores específicos. Por ejemplo, puedes establecer una variable de
entorno llamada EDITOR con el valor nano, lo que hará que los programas utilicen
Nano como editor de texto predeterminado.
Prompt personalizado: El prompt es el símbolo o texto que se muestra antes de que
ingreses un comando en la shell. Puedes personalizar el prompt para mostrar
información útil, como el nombre de usuario, el directorio actual, la hora, etc. Esto
se puede hacer utilizando secuencias de escape y variables especiales en la
configuración de la shell.
Completado automático: Las shells modernas ofrecen la capacidad de completar
automáticamente comandos y nombres de archivo. Puedes personalizar las
opciones de completado automático para que se ajusten a tus necesidades. Por
ejemplo, puedes configurar la shell para que complete automáticamente los
nombres de archivo y directorio cuando presiones la tecla Tab.
Temas y colores: Algunas shells permiten aplicar temas y colores para resaltar
diferentes elementos en la interfaz de línea de comandos. Esto puede mejorar la
legibilidad y hacer que la interacción con la shell sea más agradable visualmente.
Puedes elegir un tema predefinido o personalizar los colores según tus preferencias.
Estos son solo algunos ejemplos del proceso de personalización del entorno de la
shell. Cada shell puede tener características y opciones específicas adicionales. La
personalización del entorno de la shell es una práctica común entre los usuarios
avanzados y programadores, ya que permite adaptar la experiencia de la línea de
comandos a las necesidades y preferencias individuales.

Identificar los objetos PSBase y PSObject


Los objetos PSBase y PSObject son parte del sistema de administración de objetos
(Object Management System, OMS) de PowerShell y se utilizan para proporcionar
capacidades de administración y manipulación de objetos.
PSBase:
El objeto PSBase es una propiedad que está presente en todos los objetos de
PowerShell. Proporciona acceso al objeto subyacente en el nivel base sin la
funcionalidad adicional proporcionada por el sistema de administración de objetos
de PowerShell. El acceso a PSBase se realiza utilizando la sintaxis de propiedad en
PowerShell, por ejemplo: $objeto.PSBase.
El objeto PSBase se utiliza principalmente cuando se desea acceder directamente
a las propiedades y métodos subyacentes del objeto sin ninguna modificación o
extensión realizada por PowerShell.
PSObject:
El objeto PSObject es un adaptador dinámico que envuelve el objeto subyacente y
proporciona funcionalidades adicionales de PowerShell. Al interactuar con un objeto
en PowerShell, este se envuelve automáticamente en un objeto PSObject, lo que
permite extender y modificar el comportamiento del objeto.
El objeto PSObject agrega propiedades y métodos adicionales al objeto subyacente
para ofrecer funcionalidades como la administración de propiedades extendidas, la
manipulación de objetos mediante el uso de cmdlets, la implementación de formatos
personalizados, el control de acceso a propiedades y métodos, entre otros.
En resumen, PSBase es una propiedad que proporciona acceso al objeto
subyacente sin las capacidades adicionales de PowerShell, mientras que PSObject
es un adaptador dinámico que envuelve el objeto subyacente y agrega
funcionalidades adicionales de PowerShell. Ambos objetos son componentes
esenciales del sistema de administración de objetos de PowerShell y se utilizan para
administrar y manipular objetos en el entorno de PowerShell.

También podría gustarte