Ich möchte wissen, wie ich den Speicherort ändern kann, auf den meine Variable $ profile verweist.
PS H:\> $profile
H:\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
H: \ ist eine Netzwerkfreigabe. Wenn ich also meine Profildatei erstelle und Powershell lade, wird Folgendes angezeigt:
Sicherheitswarnung Führen Sie nur Skripte aus, denen Sie vertrauen. Während Skripte aus dem Internet nützlich sein können, kann dieses Skript möglicherweise Ihren Computer beschädigen. Möchten Sie H: \ WindowsPowerShell \ Microsoft.PowerShell_profile.ps1 ausführen? [D] Nicht ausführen [R] Einmal ausführen [S] Suspend [?] Help (Standard ist "D"):
Laut Microsoft wird der Speicherort des $ -Profils durch die Umgebungsvariable% USERPROFILE% bestimmt . Das ist nicht wahr:
PS H:\> $env:userprofile
C:\Users\username
Zum Beispiel habe ich eine XP-Maschine, die so funktioniert, wie ich es möchte:
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
\
Hier ist dieselbe Ausgabe von der Vista-Maschine, auf der das $ -Profil auf die falsche Stelle zeigt:
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
\
Wie ändere ich es, da $ profile nicht durch% USERPROFILE% bestimmt wird? Es ist klar, dass alles, was das Ändern des Homedrive oder des Homepath beinhaltet, nicht die Lösung ist, nach der ich suche.