Cuando alguien saca a relucir el PowerShell, es probable que conjures imágenes de diferentes tipos de automatización que puedes lograr con él. Tal vez piense en la administración de productos de software como Microsoft Exchange o Windows Server. Tal vez sólo piense en PowerShell como un reemplazo de cmd.exe. De cualquier manera, ¿ha considerado alguna vez cómo PowerShell podría ser una herramienta de aprendizaje para estas tecnologías? ¿No cómo automatizarlas, sino para aprender realmente cómo funcionan? Hagamos un rápido resumen de cómo puede empezar a usar PowerShell de esta manera.
PowerShell como herramienta de descubrimiento
PowerShell puede ser una maravillosa herramienta de descubrimiento. Su naturaleza intuitiva permite que cualquiera pueda simplemente emitir un cmdlet de Get seguido de algún sustantivo para averiguar más sobre él. Si pudiéramos usar PowerShell en el mundo físico, podrías encontrar un cmdlet de Get-CarEngine. Este cmdlet devolvería todas las propiedades del motor de ese coche como la bomba de agua, el cigüeñal, el colector de admisión, etc. ¿No sería genial? Tal vez uno de estos días alguien pueda crear módulos de Ford, Chevrolet o BMW que interactúen con los coches conectados a Internet!
De todas formas, ya lo entiendes. Tener una herramienta de descubrimiento como PowerShell permite a un curioso aprendiz jugar con un tema. PowerShell te permite explorar varias propiedades y atributos de los diferentes tipos de objetos que componen cualquier tecnología con la que trabajes.
Empezando
Para empezar a usar PowerShell como una herramienta de aprendizaje, primero necesita saber cómo – sorpresa – usar PowerShell. Si recién está comenzando, le recomiendo que vea algunos de los cursos de PowerShell. Por el bien del argumento, digamos que usted ya sabe cómo usar PowerShell. Conoces lo suficiente de los conceptos que hay detrás de él y conoces bien el lenguaje. Un día tu jefe viene a ti y te deja el Directorio Activo en tu regazo. «Felicitaciones», dice. «Ahora eres nuestro chico de AD». ¿Te suena familiar? Acabas de ganarte otro sombrero para usar. ¿A dónde vas para aprender más sobre la EA? Aparte de los cursos (¡por supuesto!), la aplicación de PowerShell a la EA sería otra gran manera de aprender la EA.
Comandos de ejecución
Tal vez quieras aprender sobre los diferentes tipos de objetos en la EA. Podrías simplemente ejecutar Get-AdUser -Filter * -Property * | select -first 1 y devolvería un objeto de un solo usuario del dominio y todas sus propiedades. Entonces podrías notar el nombre distinguido que contiene una unidad organizativa en la que se encuentra el usuario. «Hmm… ¿cuál es la unidad organizativa?», preguntas. Intuitivamente, escribes Get-AdOrganizationalUnit y descubres todas sus propiedades.
También puede ver que una de las propiedades de un usuario es la propiedad «miembro de». Usted quiere saber cuál es, por lo que realiza una rápida búsqueda en Internet, que revela que este usuario es miembro de unos pocos grupos. Pero espera, ¿qué es un grupo? Consigue un grupo y lo sabrás. La relación entre un usuario y un grupo también puede ser demasiado, ya que ese usuario es miembro de varios grupos.
Usar PowerShell te permite aprender una tecnología de una manera orientada al objeto. Cuando ejecutas estos comandos estás creando un modelo de objeto en tu cabeza de cómo cada uno de estos objetos encajan entre sí. Eres capaz de conectar qué objetos se relacionan con otros, cualquier dependencia que pueda existir, mapeos como 1:1 o 1:muchos y así sucesivamente. El uso de una herramienta de descubrimiento como PowerShell te permite responder a todas esas preguntas que a menudo surgen.
Mucha gente de IT aprende de esta manera, y tal vez eso es porque no podemos aprender de un libro de texto de manera lineal. En su lugar, aprendemos buceando en la parte más profunda de la piscina, lo que nos obliga a averiguar instintivamente cómo encajan todas las piezas. Cuando se aprende de esta manera, se necesita un método para descubrir rápidamente los objetos y atributos. La naturaleza intuitiva de PowerShell te permite pensar en lo que es un comando… ¡y normalmente tienes razón!
La próxima vez que quieras aprender una nueva tecnología te animo a que pruebes PowerShell.