Todo sobre Apple, Android, Juegos Apks y Sitios de Peliculas

Cómo empezar a aprender PowerShell

“Sí, conozco un poco de PowerShell”, puede ser una de las declaraciones más utilizadas en las conferencias de tecnología a lo largo de los años. No se pueden hacer muchas afirmaciones que puedan ser tanto una subestimación como una exageración.

Algunos de los que dicen esto son bastante humildes, aunque probablemente sepan bastante sobre PowerShell. Otros tienden a pensar que conocer PowerShell equivale a saber cómo usarlo. Para aquellos que no saben cómo usarlo, que sigue siendo una gran parte del personal de ingeniería y soporte de sistemas, puede ser una idea bastante desalentadora pensar por dónde empezar a utilizar PowerShell. Ha escuchado innumerables discursos técnicos, leído páginas de artículos y ha tenido muchas conversaciones con colegas sobre todo lo que puede hacer por usted. Estás mirando esta montaña en crecimiento, y todo lo que puedes hacer es concentrarte en la cima, y ​​lo obvio se te escapa cuando se trata de planificar cómo llegar a esa cima. Ese primer paso está directamente frente a ti, al pie de la montaña. Demos ese primer paso juntos.

Es posible que no sepas nada sobre PowerShell, y eso está bien

Dejemos esto de lado. Si no conoce PowerShell, está perfectamente bien. Está bien si conoce PowerShell, pero está bien confesarlo si nunca lo ha usado. Asentir con la cabeza en las discusiones entre pares e incluir PowerShell en su CV para, con suerte, obtener una ventaja puede ser una realidad mucho más rápida de lo que piensa. Cada uno tiene su propia historia de PowerShell y la suya será tan única como su viaje por el mundo de la ingeniería y el soporte de TI. ¡No tienes adónde ir más que arriba!

De acuerdo a Documentos de Microsoft, “PowerShell es una solución de automatización de tareas multiplataforma compuesta por un shell de línea de comandos, un lenguaje de secuencias de comandos y un marco de gestión de configuración. PowerShell se ejecuta en Windows, Linux y macOS”. El enfoque de esta publicación será estrictamente en la parte Shell de PowerShell y un enfoque fundamental en eso. Los otros aspectos se combinan con un poco más de claridad cuando se adquiere más experiencia en la parte del shell de PowerShell.

Microsoft desarrolló PowerShell y lo está desarrollando continuamente para interactuar con los sistemas operativos de escritorio de Windows, los sistemas operativos de Windows Server, los recursos de Office 365 y los recursos de la nube de Azure. Será una parte integral de casi todo el universo de productos de Microsoft. PowerShell permite a los ingenieros y al personal de soporte administrar sus responsabilidades de manera más eficiente al permitir la creación y modificación masiva de recursos como archivos, carpetas, configuraciones y ajustes. Es más conocido por su nomenclatura de cmdlets verbo-sustantivo única y fácil de usar, que se pronuncia como ‘command-lets’. Los cmdlets son los comandos reales que se utilizan para hacer algo con PowerShell. Algunos cmdlets se pueden ejecutar exactamente como están, sin parámetros que los definan. Los escribes, presionas enter y ¡BOOM! Se le ha proporcionado una salida en la consola. Si está familiarizado con el siempre fiel símbolo del sistema en el entorno de Windows, se sentirá muy cómodo con PowerShell. Muchos de los comandos que normalmente ejecutaría dentro de un símbolo del sistema también se pueden ejecutar dentro de una consola PowerShell. En todo caso, inténtelo la próxima vez que utilice habitualmente el símbolo del sistema. Vea cómo puede hacer lo mismo dentro de la consola PowerShell.

Quitando el velo de la GUI

La mayoría de la gente ama su preciosa GUI. Pueden ver todo lo que creen que necesitan ver y obtienen esa sensación cálida y confusa cuando presionan Aplicar y luego Aceptar. ¡A algunos de ellos les gusta vivir al límite y evitar por completo presionar Aplicar! Con el tiempo, a medida que profundice más en la administración de servidores, escritorios o Exchange, se encontrará haciendo clic sin parar cuando haya que realizar un cambio que requiera agregar 360 usuarios a 20 grupos de seguridad de Active Directory diferentes. ¿Estás preparado para esa pesadilla de hacer clic?

Es bastante seguro decir que PowerShell ayuda a levantar el velo que es la preciosa y querida GUI. PowerShell le permite asumir la tarea de colocar a los usuarios de AD en varios grupos y diseñar algunos comandos para hacer el trabajo en una mera fracción del tiempo que llevaría hacerlo todo a través de la GUI. Lo bueno es que Microsoft quiere que utilices PowerShell para estas tareas. Con el énfasis en el uso de PowerShell en muchos de los principales exámenes de certificación de Microsoft, está empezando a no ser sólo para administradores experimentados, sino que se está convirtiendo en algo que se necesita cada vez más en su caja de herramientas de soporte diario. Es razonablemente exacto decir que cualquier acción, botón, ajuste o configuración que vea en la GUI se puede manipular y configurar usando PowerShell, incluso hasta el meollo de la cuestión del registro.

Dando los primeros pasos

Comencemos con solo algunos cmdlets que puede usar ahora mismo si está leyendo esto en una PC con Windows. Una cosa con la que interactúan la mayoría de los administradores de sistemas e ingenieros es la consola de Servicios. Si abre una consola PowerShell, simplemente ingrese

 Get-Service 

y presione enter para obtener una lista de los servicios instalados. Obtendrá una rápida visualización de todos los servicios instalados en el sistema local y su estado actual de En ejecución o Detenido. Este resultado sería conveniente para ver si un servicio de aplicación específico se está ejecutando o no.

Quizás no quieras la lista completa de servicios y estés buscando un servicio específico. Supongamos que desea ver si el servicio de cola de impresión se está ejecutando. Puedes llamarlo por su nombre usando el parámetro -ServiceName así:

Get-Service -ServiceName spooler

Este resultado le brindará la lista única del servicio Print Spooler y su estado. Digamos que el servicio está actualmente iniciado o detenido y usted desea detenerlo o iniciarlo. Puede utilizar la siguiente entrada para detener/iniciar el servicio de cola de impresión:

Start-Service -ServiceName spooler

Stop-Service -ServiceName spooler

De forma predeterminada, estas líneas no enumerarán el estado del servicio cuando se envíe el comando. Deberá ejecutar la cola Get-Service -ServiceName para ver el estado actual.

Afortunadamente, PowerShell admite comodines al enumerar objetos y nombres. Digamos que necesita verificar un servicio específico, pero no está muy seguro de cuál es el nombre “oficial” del servicio. Sólo sabes que la primera palabra es remota. Eso es fácil:

Get-Service -ServiceName remote*

Esta entrada enumerará todos los servicios comenzando con el control remoto y le permitirá limitar su búsqueda para encontrar el servicio específico que está buscando y tomar cualquier acción que necesite. No olvide que también hay un cmdlet Restart-Service.

Llevando esto un paso más allá para obtener un retorno de este pequeño conocimiento de los servicios, verifiquemos los servicios en una computadora remota. Supongamos que se encuentra en un entorno de dominio de Windows y tiene acceso administrativo a las computadoras remotas que administra. Puede usar los mismos cmdlets discutidos anteriormente, pero necesita agregar un parámetro y un valor. Para verificar el servicio de cola de impresión en un servidor remoto llamado PrintServer01:

Get-Service -ComputerName PrintServer01

Este resultado enumerará todos los servicios instalados en la máquina remota, tal como lo hicimos antes en el sistema local. Este cmdlet le evitará utilizar RDP para iniciar sesión en el servidor remoto para verificar el servicio o agregar el servidor remoto a un complemento MMC local. Esta capacidad en sí misma da sus frutos muy rápidamente.

Otro comando que se puede utilizar de inmediato, sin parámetros, es Get-NetIPAddress. Este cmdlet le brindará una lista de todos los adaptadores de red en el sistema local y una buena cantidad de información sobre cada adaptador. En este resultado verá el funcionamiento interno detrás de la GUI. Puede ver mucha más información sobre cosas que normalmente ve como un ícono dentro de la GUI. Lo bueno de ver más información es que siempre puedes usar PowerShell para manipular y buscar esa información adicional. Por ejemplo, si desea realizar cambios en adaptadores de red específicos, puede buscar o filtrar solo aquellos con un valor particular. ¡Las posibilidades son infinitas!

Dónde aprender más

Ahora que tiene la más mínima experiencia de PowerShell, depende de usted continuar la búsqueda de la montaña mencionada anteriormente. Poner un pie delante del otro es tan fácil como buscar en algunos recursos consejos sobre PowerShell. Una simple búsqueda en Google de un cmdlet es un buen comienzo. Microsoft Docs tiene una biblioteca poderosa para cada cmdlet con muchos ejemplos de su uso. El propio PowerShell proporciona un buen recurso para explicaciones y ejemplos. El comando Get-Help Get-Service le brindará más información sobre nuestro ejemplo anterior.

Un recurso que muchos usuarios experimentados de PowerShell recordarán es un libro muy valorado de Don Jones y Jeffrey Hicks. Estos gigantes de PowerShell poseen los hombros sobre los que muchos se apoyan cuando se trata de conquistar la montaña de PowerShell. El libro se titula “Aprenda Windows PowerShell en un mes de almuerzos”. Este libro fácil de leer lo guía a través de los conceptos básicos para conocer PowerShell en fragmentos pequeños y termina siendo un recurso al que consultará continuamente cuando se encuentre con una situación en la que necesite usar PowerShell.

La comunidad de PowerShell también es un lugar muy abierto y útil para aprender. El subreddit r/PowerShell y el sitio PowerShell.org Tenemos una comunidad muy próspera de personas con distintos grados de experiencia. Siempre puede obtener orientación de estos recursos. No podrás escalar esa montaña a menos que sigas los pasos, así que ponte en marcha y descubre cómo PowerShell puede ayudarte con tu rutina diaria y las tareas mundanas que a veces temes. Es posible que se sienta desesperado por programar y automatizar una buena cantidad de su carga de trabajo para poder darse tiempo para aprender más sobre PowerShell.