PowerShell es una herramienta útil para los administradores de TI. En Windows 11, PowerShell se puede personalizar para que se adapte a sus necesidades mediante la adición de módulos, el uso de perfiles de PowerShell y la aplicación de directiva de grupo.
Configuración del entorno de PowerShell
PowerShell tiene configuraciones integradas que se crean para satisfacer las necesidades generales de los usuarios. Sin embargo, esta configuración es solo básica y es posible que deba adaptarse a las necesidades específicas del administrador.
Por ejemplo, algunas funciones, como la ejecución de scripts o el registro de módulos, no están activas de forma predeterminada, por lo que los usuarios deben activarlas para que se ajusten a sus políticas de seguridad o entorno de trabajo.

Cómo cambiar la configuración mediante scripts de perfil de PowerShell
El script de perfil de PowerShell es un script automatizado que se ejecuta cada vez que se abre PowerShell. Estos scripts permiten a los usuarios configurar el entorno de trabajo automáticamente, como agregar módulos, establecer variables o definir funciones personalizadas.
PowerShell proporciona cuatro tipos de archivos de perfil para varios escenarios:
1. AllUsersAllHosts
Este perfil se aplica a todos los usuarios de todos los hosts de PowerShell.
Ubicación predeterminada:
C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1
2. AllUsersCurrentHost
Este perfil se aplica a todos los usuarios, pero solo en determinados hosts (como PowerShell, VS Code o Terminal Windows).
Ubicación predeterminada:
C:\Windows\System32\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1
3. CurrentUserAllHosts
Este perfil solo se aplica a los usuarios registrados, pero se puede utilizar en todos los hosts.
Ubicación predeterminada:
C:\Users\<Username>\Documents\WindowsPowerShell\profile.ps1
4. CurrentUserCurrentHost
Este perfil solo se aplica a los usuarios que han iniciado sesión en un host específico.
Ubicación predeterminada:
C:\Users\<Username>\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
Pasos para cambiar la configuración del perfil:
- Compruebe que el archivo de perfil ya existe en la ubicación predeterminada. Si aún no tienes uno, puedes crearlo manualmente.
- Utilice un editor de texto, como el Bloc de notas o Visual Studio Code, para editar el archivo de perfil según sea necesario.
- Agregue configuraciones, como la carga automática de módulos o la configuración de variables, dentro del archivo.
Sintaxis simple para verificar la ubicación de los archivos de perfil con $Profile
PowerShell tiene una variable integrada denominada $Profile que almacena la ubicación de cada tipo de archivo de perfil. Puede utilizar el siguiente comando para comprobar la ubicación de su archivo de perfil:
$Profile | Format-ListLos resultados mostrarán la ubicación completa de cada archivo de perfil. Si el archivo de perfil aún no existe, puede crear uno con el siguiente comando:
New-Item -Path $Profile.CurrentUserAllHosts -ItemType File -ForceAdición y administración de módulos de PowerShell
Un módulo de PowerShell es una colección de comandos (cmdlets), funciones y scripts organizados en una sola unidad. Este módulo se creó para mejorar la capacidad de PowerShell para realizar determinadas tareas, como la administración del sistema, la configuración de seguridad y la automatización de procesos administrativos.
Las funciones principales del módulo PowerShell incluyen:
- Proporciona comandos adicionales para una variedad de necesidades especiales.
- Simplifique la gestión del sistema a través de la automatización.
- Se agregaron características integradas de PowerShell para admitir la integración con aplicaciones o servicios de terceros.
Cómo acceder a la Galería de PowerShell para descargar módulos
PowerShell Gallery es un repositorio en línea que almacena miles de módulos creados por Microsoft y la comunidad. Puede buscar, descargar e instalar módulos desde esta galería fácilmente.
Pasos para acceder a la Galería de PowerShell:
- Vaya al sitio web oficial de la Galería de PowerShell en https://www.powershellgallery.com.
- Utilice la función de búsqueda en el sitio para encontrar los módulos que necesita.
- Instale el módulo directamente a través de PowerShell con el comando Install-Module.
Install-Module -Name ModuleName -Scope CurrentUserReemplace ModuleName por el nombre del módulo que desea instalar.
Pasos para actualizar PowerShellGet
Para aprovechar las características más recientes de la Galería de PowerShell, asegúrese de que el módulo PowerShellGet esté actualizado a la versión más reciente. Estos son los pasos:
1. Compruebe la versión actual de PowerShellGet:
Get-Module -Name PowerShellGet -ListAvailable2. Si la versión existente es antigua, actualícela con el siguiente comando:
Install-Module -Name PowerShellGet -Force -Scope CurrentUser3. Asegúrese de que el módulo esté actualizado comprobando de nuevo la versión.
Comandos básicos para buscar y agregar módulos
Estos son algunos comandos básicos para administrar módulos en PowerShell:
1. Buscando el módulo en la Galería de PowerShell:
Find-Module -Name ModulName2. Instalación del módulo:
Install-Module -Name ModulName -Scope PenggunaSaatIni3. Visualice los módulos que ya están instalados en el sistema:
Get-InstalledModule4. Eliminación de módulos:
Uninstall-Module -Name ModulName5. Actualización del módulo:
Update-Module -Name ModulNameImplementación de directiva de grupo para PowerShell
Group Policy es una característica importante de Windows que permite a los administradores establecer la configuración y las directivas en los equipos de una red basada en Active Directory. Con la directiva de grupo, puede controlar varios aspectos del sistema operativo, incluida la configuración PowerShell, lo que le proporciona más control sobre la seguridad, el registro y el comportamiento predeterminado.
En el contexto de PowerShell, la directiva de grupo permite:
- Aplicación de políticas de seguridad a los scripts.
- Administración de registros de actividad de PowerShell para auditorías.
- Provisión de un entorno de trabajo uniforme en todos los equipos de la organización.
Directivas configurables a través de la directiva de grupo para PowerShell
1. Política de ejecución
Esta directiva especifica los permisos para ejecutar scripts de PowerShell. Puede configurar el nivel de seguridad seleccionando una de las siguientes directivas:
- Restricted: No permite la ejecución de scripts.
- RemoteSigned: Los scripts de un control remoto deben tener una firma digital válida.
- Unrestricted: Todos los scripts se pueden ejecutar sin restricciones.
Pasos para establecer la directiva de ejecución en la directiva de grupo:
- Abre Group Policy Management Console (GPMC).
- Navegue hasta Computer Configuration > Administrative Templates > Windows Components >Windows PowerShell.
- Establezca la política Turn on Script Execution y seleccione la política deseada.
Ejemplo de un comando manual:
Si no usa la directiva de grupo, puede establecer la directiva directamente en PowerShell:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned2. Grabación de módulos
Esta directiva permite el registro de actividades de módulos específicos utilizados en PowerShell. Esto es especialmente útil para auditorías de seguridad o resolución de problemas.
Cómo establecer el registro de módulos en la directiva de grupo:
- Abre Windows PowerShell > Turn on Module Logging.
- Agregue el módulo para el que desea habilitar el registro, como NTFSSecurity o ActiveDirectory.
3. Registro de bloques de script
Esta directiva registra todos los bloques de scripts que se ejecutan en PowerShell, incluidos los comandos y scripts más complejos. Esta función ayuda a detectar actividades sospechosas o ataques basados en scripts.
Cómo configurar el registro de bloques de scripts:
- Políticas de acceso Turn on PowerShell Script Block Logging.
- Habilite la política para registrar todas las ejecuciones de bloques de scripts.
4. Transcripción
Esta directiva registra todas las sesiones de PowerShell en archivos de registro, incluidas las entradas y salidas. Es muy eficaz para auditar y depurar.
Cómo configurar la transcripción:
- Vaya a Turn on PowerShell Transcription en Directiva de grupo.
- Especifique la ubicación donde se almacenan los registros, por ejemplo: C:\Transcripts\.
- Los resultados del registro registrarán todas las sesiones ejecutadas por el usuario.
Cómo actualizar la ayuda local con Update-Help
PowerShell tiene una característica de Update Help que funciona para actualizar la documentación de ayuda de los módulos que ya están instalados. Puede usar la directiva de grupo para configurar un repositorio local como origen de las actualizaciones, de modo que no tenga que descargarlas de Internet.
Pasos manuales usando Update-Help:
1. Cree un repositorio local para el archivo de ayuda.
2. Defina el repositorio local con el siguiente comando:
Save-Help -DestinationPath “C:\HelpRepo”3. Actualizar la ayuda que usa repositorios locales:
Update-Help -SourcePath “C:\HelpRepo”Recomendaciones para módulos y scripts de uso frecuente
Para aumentar la productividad y automatizar las tareas administrativas, estos son algunos módulos recomendados de PowerShell:
1. NTFSSecurity
Función: Administre fácilmente ACLs (Access Control Lists) en archivos y carpetas.
Ejemplo de comando:
Get-NTFSAccess -Path “C:\ContohFolder”2. PSWindowsUpdate
Su función: Administrar las actualizaciones de Windows a través de PowerShell.
Instalación:
Install-Module -Name PSWindowsUpdate3. ActiveDirectory
Función: Administrar Active Directory como usuarios, grupos y políticas.
Ejemplo de comando:
Get-ADUser -Filter * -Properties DisplayName4. Pester
Función: Probar scripts y módulos de PowerShell para garantizar la calidad del código.
Instalación:
Install-Module -Name Pester5. ImportExcel
Función: Administrar datos de Excel sin necesidad de abrir la aplicación de Excel.
Ejemplo de comando:
Import-Excel -Path “C:\Data.xlsx” | Select-Object Name, Age
