Configurar y administrar PowerShell en Windows 11 para admins

Advertisement

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.

Advertisement

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.

Advertisement
PowerShell Key Configuration

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:

Advertisement

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:

  1. Compruebe que el archivo de perfil ya existe en la ubicación predeterminada. Si aún no tienes uno, puedes crearlo manualmente.
  2. Utilice un editor de texto, como el Bloc de notas o Visual Studio Code, para editar el archivo de perfil según sea necesario.
  3. 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-List

Los 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 -Force

Adició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:

  1. Vaya al sitio web oficial de la Galería de PowerShell en https://www.powershellgallery.com.
  2. Utilice la función de búsqueda en el sitio para encontrar los módulos que necesita.
  3. Instale el módulo directamente a través de PowerShell con el comando Install-Module.
Install-Module -Name ModuleName -Scope CurrentUser

Reemplace 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 -ListAvailable

2. Si la versión existente es antigua, actualícela con el siguiente comando:

Install-Module -Name PowerShellGet -Force -Scope CurrentUser

3. 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 ModulName

2. Instalación del módulo:

Install-Module -Name ModulName -Scope PenggunaSaatIni

3. Visualice los módulos que ya están instalados en el sistema:

Get-InstalledModule

4. Eliminación de módulos:

Uninstall-Module -Name ModulName

5. Actualización del módulo:

Update-Module -Name ModulName

Implementació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:

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:

Ejemplo de un comando manual:

Si no usa la directiva de grupo, puede establecer la directiva directamente en PowerShell:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

2. 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:

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 PSWindowsUpdate

3. ActiveDirectory

Función: Administrar Active Directory como usuarios, grupos y políticas.

Ejemplo de comando:

Get-ADUser -Filter * -Properties  DisplayName

4. Pester

Función: Probar scripts y módulos de PowerShell para garantizar la calidad del código.

Instalación:

Install-Module -Name Pester

5. 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

Artículos Recientes