Cambiar el directorio de Powershell $ profile

11

Me gustaría saber cómo cambiar la ubicación a la que apunta mi variable $ profile.

PS H:\> $profile
H:\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

H: \ es un recurso compartido de red, por lo que cuando creo mi archivo de perfil y cargo PowerShell obtengo lo siguiente:

Advertencia de seguridad Ejecute solo scripts en los que confíe. Si bien los scripts de Internet pueden ser útiles, este script puede dañar su computadora. ¿Desea ejecutar H: \ WindowsPowerShell \ Microsoft.PowerShell_profile.ps1? [D] No ejecutar [R] Ejecutar una vez [S] Suspender [?] Ayuda (el valor predeterminado es "D"):

Según Microsoft, la ubicación del perfil $ está determinada por la variable de entorno% USERPROFILE% . Esto no es verdad:

PS H:\> $env:userprofile
C:\Users\username

Por ejemplo, tengo una máquina XP que funciona como quiero:

PS H:\> $profile
C:\Documents and Settings\username\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
PS H:\> $env:userprofile
C:\Documents and Settings\username
PS H:\> $env:homedrive
H:
PS H:\> $env:homepath
\

Aquí está la misma salida de la máquina Vista donde el perfil $ apunta al lugar equivocado:

PS H:\> $profile
H:\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
PS H:\> $env:userprofile
C:\Users\username
PS H:\> $env:homedrive
H:
PS H:\> $env:homepath
\

Dado que $ profile no está determinado por% USERPROFILE%, ¿cómo lo cambio? Claramente, cualquier cosa que implique cambiar la ruta de inicio o la ruta de inicio no es la solución que estoy buscando.

Swoogan
fuente
¿Tiene un perfil móvil o algún tipo de redirección de la carpeta de mis documentos (por gpo)?
Shay Levy

Respuestas:

5

También puede consultar esta publicación en Stack Overflow . La mejor solución ofrecida hasta ahora (para mi pregunta casi idéntica) es cambiar $ profile.AllUsersAllHosts para "fuente de puntos" de otro archivo de su elección.

No he visto nada hasta ahora que indique que puede cambiar el valor predeterminado de $ profile en sí.

Frank Merrow
fuente
1
Esta es una solución para muchos casos, pero en realidad no es una respuesta a las necesidades de OP.
villasv
3

Estaba teniendo un problema similar al usar Windows XP y Windows 8 desde una máquina virtual VMware Fusion:

PS C:> $profile
\\vmware-host\Shared Folders\<user>\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

Una vez que detuve la duplicación de 'Escritorio' (mantuve las carpetas compartidas), el problema se resolvió:

PS C:> $profile
C:\Documents and Settings\Administrator\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
craibuc
fuente
Mismo problema aquí. Como referencia, la configuración se encuentra en Máquina virtual / Configuración ... / Compartir / Carpetas duplicadas.
ngm
Buena atrapada. Tuve que desmarcar la duplicación de "Documentos", ni siquiera he marcado el Escritorio. Supongo que cualquier reflejo causa problemas.
Miha Markic
1

Estoy en Windows 10 y estaba teniendo el mismo problema. Pude solucionarlo cambiando el Locationen Document Properties.

Mi $profileestaba siendo referenciado por la ruta UNC (ej. \\server\path\to\my\document\WindowsPowerShell\Microsoft.PowerShell_profile.ps1). Cuando Powershell intentó ejecutar esto, recibí la advertencia de seguridad.

Para arreglar esto:

  1. Cree una unidad asignada a la carpeta de red.
  2. Vaya This PCy haga clic derecho en la Documentscarpeta y seleccione Properties.

    Carpeta de documentos

  3. Actualizar ubicación a ruta de unidad asignada

    Configuración de ubicación

  4. Haga clic en Aceptar o aplicar.

Derek
fuente