Cómo crear un perfil de PowerShell

¿Quiere sacar más partido a su PowerShell? Luego, asegúrese de configurar su perfil de PowerShell para mejorar su consola de PowerShell.

El perfil de PowerShell es un script que se ejecuta cuando abre PowerShell. Le permite cargar secuencias de comandos o módulos de PowerShell automáticamente, crear alias para los cmdlets que usa con frecuencia y cambiar el aspecto de su consola.

En este artículo, vamos a echar un vistazo a las diferentes ubicaciones de perfiles de PowerShell, explicaremos cómo crear un perfil y le daremos algunos ejemplos útiles.

Ubicación del perfil de PowerShell

Lo que la mayoría de la gente no sabe es que hay diferentes perfiles. Puede crear un perfil para la consola/terminal de PowerShell y uno separado para PowerShell ISE. Pero también es posible crear un perfil que se utilice en todas las ubicaciones.

Para encontrar la ubicación de su perfil de PowerShell, vamos a utilizar PowerShell.

  1. Abierto PowerShell
  2. Escribe $perfil
$profile

#result:
C:\Users\rmens\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

La variable $profile devuelve el perfil del usuario actual en el programa actual (host). Pero como se mencionó, hay diferentes perfiles.

Si también trabaja mucho en PowerShell ISE, tiene más sentido usar el perfil Usuario actual: todos los hosts.

El término Anfitrión es un poco confuso aquí. Con Host Microsoft significa en este caso un programa PowerShell, como la consola PowerShell o el editor ISE.

Descripción Sendero Comando para abrir
Usuario actual – Host actual $Inicio\[My ]Documentos\
PowerShell\Microsoft.PowerShell_profile.ps1
$perfil
Usuario actual –
Todos los anfitriones
$Inicio\[My ]Documentos\
PowerShell\Perfil.ps1
$perfil.CurrentUserAllHosts
Todos los usuarios –
Anfitrión actual
$PSHOME\Microsoft.PowerShell_profile.ps1 $profile.AllUsersCurrentHost
Todos los usuarios –
Todos los anfitriones
$PSHOME\Perfil.ps1 $profile.AllUsersAllHosts
Ubicaciones de perfiles de PowerShell

Para crear un perfil específico para PowerShell ISE, deberá ejecutar el comando desde dentro de PowerShell ISE.

Cómo crear su perfil de PowerShell

El uso de perfiles de PowerShell realmente puede hacer que su trabajo diario sea mucho más fácil. Ya no necesita navegar a la carpeta correcta para ejecutar un script que usa con frecuencia. O puede crear alias fáciles de usar para los cmdlets que usa con frecuencia.

El primer paso para crear su propio perfil es probar si ya tiene un perfil. Abra PowerShell y escriba:

test-path $profile

Si devuelve Falso, primero debemos crear el perfil, escriba:

New-Item -Path $profile -Type File -Force
crear perfil de PowerShell

Puede usar el mismo método para crear el perfil de todos los hosts o todos los usuarios usando el comando en la tabla anterior.

Para usar el perfil, deberá asegurarse de haber configurado la Política de ejecución en Firmado remoto.

De lo contrario, no podrá ejecutar el script cuando se abra PowerShell. Asegúrese de ejecutar PowerShell con permisos elevados (modo de administrador) para cambiar la política de ejecución:

Get-ExecutionPolicy

# Set the ExecutionPolicy to RemoteSigned:
Set-ExecutionPolicy RemoteSigned

Editar el perfil de PowerShell

El perfil ahora está creado, lo que le permite abrir y editar el perfil de PowerShell. Nuevamente estamos usando el comando PowerShell para abrir el archivo de perfil:

ise $profile

Esto abrirá el perfil en PowerShell ISE y mostrará un archivo de perfil completamente en blanco. Tenga en cuenta que cuanto más agregue a su perfil, más tiempo pasará antes de que se inicie PowerShell.

Ejemplos de perfiles de PowerShell

El perfil es un script de PowerShell, por lo que podemos corregir casi cualquier función de PowerShell en él. Pero básicamente, quieres hacer un par de cosas en tu perfil:

  • Dale estilo a tu consola PowerShell
  • Establecer ubicación predeterminada
  • Cargue diferentes rutas (carpetas) con scripts
  • Establecer variables predeterminadas
  • Importar módulos
  • Crear alias

Dale estilo a tu consola PowerShell

Puede diseñar su consola PowerShell, configurar la fuente y el color de fondo y el título de las ventanas, por ejemplo. Personalmente, uso Windows Terminal y uso un tema personalizado para ello. Puede leer más sobre Windows Terminal en este artículo.

# Style default PowerShell Console
$shell = $Host.UI.RawUI

$shell.WindowTitle= "PS"

$shell.BackgroundColor = "Black"
$shell.ForegroundColor = "White"

# Load custom theme for Windows Terminal
Import-Module posh-git
Import-Module oh-my-posh
Set-Theme LazyAdmin

Establecer ubicación predeterminada

De forma predeterminada, PowerShell se inicia en su carpeta de inicio $home. Pero cuando trabajo con PowerShell, la mayoría de las veces quiero tener acceso fácil a mi carpeta de scripts. Entonces podemos establecer la ubicación predeterminada para iniciar PowerShell en:

# Set Default location
Set-Location D:\SysAdmin\scripts

Cargue scripts desde diferentes ubicaciones

Para tener acceso rápido a sus scripts, puede cargar las carpetas que contienen los scripts en la ruta de su entorno. $env:path. Esto le permite tener acceso a todo su script sin necesidad de cambiar de directorio cada vez:

# Load scripts from the following locations
$env:Path += ";D:\SysAdmin\scripts\PowerShellBasics"
$env:Path += ";D:\SysAdmin\scripts\Connectors"
$env:Path += ";D:\SysAdmin\scripts\Office365"

Establecer variables predeterminadas

Otro consejo útil es establecer variables predeterminadas en su perfil. Por ejemplo, a menudo necesito conectarme a Office 365.

Al configurar la URL de administración de SharePoint o mi UserPrincipalName como una variable en el perfil, puedo conectarme rápidamente a los diferentes puntos finales.

Esto funciona mejor en combinación con los scripts de conexión que puede encontrar .

# Set default variables
$adminUPN = "[email protected]"
$sharepointAdminUrl = "https://lazydev-admin.sharepoint.com"

Importar módulos o Scripts

La mayoría de mis scripts están escribiendo como una función. Pero para usarlos realmente como una función, deberá crear un módulo de PowerShell a partir de él. Y esos archivos de módulo deben colocarse en su carpeta de módulos: $HOME\Documents\PowerShell\Modules.

Mi carpeta de módulos no está conectada a mi repositorio de GitHub, por lo que los cambios realizados en los scripts deben copiarse en la carpeta del módulo, que siempre olvido.

Un método más fácil, en mi opinión, es usar un alias para sus scripts. De esta manera, puede llamar a sus scripts como una función, sin necesidad de crear módulos a partir de ellos:

# Lazy way to use scripts as module
Set-Alias ConnectTo-SharePointAdmin ConnectTo-SharePointAdmin.ps1
Set-Alias ConnectTo-EXO ConnectTo-EXO.ps1
Set-Alias Get-MFAStatus MFAStatus.ps1
Set-Alias Get-MailboxSizeReport MailboxSizeReport.ps1
Set-Alias Get-OneDriveSizeReport OneDriveSizeReport.ps1

Crear alias para comandos

También puede crear alias para los comandos que usa con frecuencia, como:

# Create aliases for frequently used commands
Set-Alias im Import-Module
Set-Alias tn Test-NetConnection

Una vez que haya realizado todos los cambios, guarde su archivo de perfil y reinicie su consola de PowerShell.

Terminando

Un perfil de PowerShell bien configurado realmente puede ahorrarle tiempo cuando trabaja con PowerShell.

Le brinda acceso directo a scripts, variables y funciones de uso frecuente.

Si tiene sugerencias o consejos para el perfil, compártalos a continuación. Además, si tiene preguntas, simplemente deje un comentario a continuación.

Otros artículos relacionados

Cómo ejecutar un script de PowerShell

Cómo ejecutar un script de PowerShell

Los scripts de PowerShell son una excelente manera de automatizar tareas, recopilar información o modificar propiedades de forma masiva. La ...
Leer Más
Cómo crear un nuevo usuario local con PowerShell

Cómo crear un nuevo usuario local con PowerShell

Cuando necesite crear un usuario local en Windows 10 u 11, puede usar el panel de control de Cuentas de ...
Leer Más
Conéctese a Exchange Online con PowerShell

Conéctese a Exchange Online con PowerShell

Administrar Exchange Online con PowerShell hace que muchas tareas diarias sean mucho más fáciles (y rápidas). No solo para sus ...
Leer Más
Eliminar carpetas vacías en SharePoint Online

Eliminar carpetas vacías en SharePoint Online

Después de fusionar carpetas duplicadas en SharePoint Online, necesitaba eliminar las carpetas vacías. Esto es algo que también podemos hacer ...
Leer Más
Explicación de Set-ADUser: cómo modificar usuarios de AD con PowerShell

Explicación de Set-ADUser: cómo modificar usuarios de AD con PowerShell

¿Necesita actualizar varios usuarios en su Active Directory? ¿O busca una forma más eficiente de modificar las propiedades de los ...
Leer Más
Cómo agregar o configurar MailboxFolderPermission con PowerShell

Cómo agregar o configurar MailboxFolderPermission con PowerShell

En Exchange Online podemos compartir buzones completos con otros usuarios. Pero, ¿qué sucede si desea compartir solo una carpeta? ¿O ...
Leer Más

Deja un comentario