¿Powershell tiene algún tipo de equivalente .bashrc?

¿Powershell tiene algún tipo de equivalente .bashrc?

Tengo algunas funciones que me gustaría cargar de forma predeterminada cuando abro un PowerShell administrativo. ¿Hay algún equivalente que decir .bashrco .profileque pueda usar para importar automáticamente los scripts cuando inicio el Shell?

Respuesta1

El artículomencionado encomentario de jehadexplica que hay varios lugares desde los cuales PowerShell puede cargar un perfil, que es lo que desea. Probablemente quieras el por usuario para la consola PowerShell normal. La ruta en la que PowerShell buscará ese archivo se proporciona en la $profilevariable. Puede crear ese archivo y el directorio que lo contiene con este comando:

New-Item $profile -Type File -Force

Crea un archivo llamado Microsoft.PowerShell_profile.ps1en una carpeta llamada WindowsPowerShellen su carpeta Documentos. Luego puedes abrirlo con un editor de texto:

notepad $profile

Todo lo que contiene se ejecutará cada vez que inicie la consola PowerShell, sin importar si tiene acceso elevado o no. solíaeste otro articulopara producir una función (que puede usar como cmdlet) para verificar si la instancia actual de PowerShell está elevada. Pon esto en tu nuevo archivo de perfil:

Function Test-Elevated {
  $wid = [System.Security.Principal.WindowsIdentity]::GetCurrent()
  $prp = New-Object System.Security.Principal.WindowsPrincipal($wid)
  $adm = [System.Security.Principal.WindowsBuiltInRole]::Administrator
  $prp.IsInRole($adm)
}

Esa función se puede usar en su experiencia normal de PowerShell, pero también puede usarla para ejecutar cosas en el script de su perfil solo cuando ejecuta elevado:

If (Test-Elevated) {
  echo "Be careful!"
} Else {
  echo "Eh, do whatever."
}

Dado que este archivo contiene código que se ejecutará automáticamente incluso en una instancia administrativa de PowerShell, no desea que los programas que se ejecutan sin niveles tengan acceso de escritura. Sugiero cambiar su ACL para darle solo acceso de lectura a su cuenta de usuario y al mismo tiempo permitir a los administradores un control total. (Primero deberá desactivar la herencia). Entonces solo podrá editar el script desde programas elevados.

información relacionada