¿qué es Power Shell?
Es un marco de administración, de automatización. Es un lenguaje script (CI/CD).
Es un shell de comandos que además acepta y devuelve objetos .NET. Extensible mediante funciones, clases, script, módulos, sistema de formato y sistema de tipos.
PowerShell es diferente a Windows PowerShell.
_
Plataformas de automatización
Microsoft [Azure, Windows, Exchange, SQL] y de terceros [AWS, VMWare, Google Cloud]
_
- Desire State Configuration (DSC) para administrar infraestructura empresarial._
Instalación en Windows
Paquete MSI para el usuario habitual.
PowerShell se ejecuta en paralelo con Windows PowerShell.
_
Comando para instalación silenciosa con opciones habilitadas :
msiexec.exe /package PowerShell-7.2.5-win-x64.msi /quiet ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL=1ENABLE_PSREMOTING=1REGISTER_MANIFEST=1USE_MU=1ENABLE_MU=1
Comando para listar opciones de líneas de comandos:
msiexec.exe
Actualización de una instalación existente
Preguntas frecuentes
A usar el mismo método que usó la primer vez porque cada método de instalación guarda en una ubicación diferente.
_
Comunicación remota con PowerShell
Ver más adelante en los siguientes enlaces.
Otra técnica de instancia
Mediante SSH
Mediante WSMan
_
Para la comunicación remota se deben cumplir previos requisitos de instalación:
+Windows Management Framework (WMF).
+Entorno de ejecución de C universal en las versiones anteriores a Windows 10.
_
Descripción de PowerShell:<ins>command line shell</ins> y lenguaje de script.
Nació en Windows para Automatizar tareas de administración y creció hasta ser multiplataforma.
- Se puede usar para recursos de nube, también para canalizar una parte de CI/CD (Integración Continua/Implementación Continua) y para automatizar casi cualquier tarea en Windows.
- Se puede usar por el administrador del sistema, DevOps y Ingenieros de software.
_
En PowerShell los comandos se definen cmdlets y se incluyen cientos de estos preinstalados. Constan de dos palabras “verbo-sustantivo”, nomenclatura que facilita la comprensión de su acción.
_
PowerShell esta diseñado para ayudarnos a descubrirlo con tres cmdlets. Podemos descubrir qué comandos están disponibles, qué hacen y con su tipo (Get-Verb, Get-Command, Get-Member).
_
Al insertar el cmdlet Get-Help con el nombre de un comando como argumento, se muestra una página de ayuda en la que se describe varios de sus elementos.
Get-Help
El concepto de "verbo" es una nomenclatura para seguir al escribir comando propios y así indicar lo que se requiere.
_
Get-Verb_ es para obtener una lista de estos verbos.
El cmdlet Get-Command contiene una lista de comandos instalados. Podríamos filtrar la respuesta mediante parámetros o cmdlets de asistente, los parámetros que usaríamos son -Name, -ParameterName y -Type. El carácter * (comodín) se ajusta a la coincidencia y se usa dentro de comillas sumando lo que tratamos de filtrar, así: “*Type”. Para filtrar también podríamos usar el argumento -Verb (verbo) o -Noun (sustantivo) más el carácter * (comodín), además podemos combinar el verbo y el sustantivo para acotar aún más la búsqueda si se conoce el verbo y lo que queremos.
Get-Command
Además usaríamos cmdlets para filtrar la búsqueda, dos de ellos son: Select-Object y Where-Object. Para más información de esto clic aquí.
Para averiguar más sobre el cmdlet que quisiéramos, podríamos usar Get-Member después de este. Para saber más sigue este enlace.
Get-Member
_
Te pongo a despegar hay como para probar finura
Si después de realizar el ejercicio que nos proponen en la documentación quisiéramos detener el proceso, detendríamos la consola PowerShell de la siguiente manera…
- Lo que hacemos las personas inteligentes para encontrar la salida es tratar de recordar cómo entramos y el recorrido por del área… entonces recordamos que Get-Verb nos lista los verbos de las acciones que podríamos realizar y en ella encontramos el verbo Stop con el que podríamos intuir algo, el verbo exit también me parece una buena opción para el final.
_ - Lo siguiente sería ver que se puede hacer con este verbo Stop, así que usaríamos el cmdlet Get-Command para averiguar para qué nos serviría la acción Stop. Lo haríamos con el argumento -Verb y entonces sería así de la siguiente manera: Get-Command -Verb “Stop” y allí encontramos cómo detener el proceso.
_ - Con Get-PSHostProcessInfo vimos que los procesos están identificados y el comando que encontramos en nuestra búsqueda para detener procesos nos pide identificación del proceso. Así que usamos el Id que nos enseña Get-PSHostProcessInfo.
_
Postdata: PowerShell funciona en Windows, Linux y macOS.
_
Source: https://docs.microsoft.com/en-us/powershell/
_
Para seguir estudiando nos recomiendan leer el tutorial ¿qué es CMD y para qué sirve?
_
¡La bendición!
Curso de Introducción a la Terminal y Línea de Comandos