Ändern Sie das Powershell $ -Profilverzeichnis


11

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.


Haben Sie ein Roaming-Profil oder eine Umleitung meines Dokumentenordners (per GPO)?
Shay Levy

Antworten:


5

Sie können diesen Beitrag auch über Stapelüberlauf lesen . Die beste Lösung, die bisher angeboten wurde (für meine fast identische Frage), besteht darin, $ profile.AllUsersAllHosts in "Punktquelle" einer anderen Datei Ihrer Wahl zu ändern.

Ich habe bisher nichts gesehen, was darauf hindeutet, dass Sie den Standardwert von $ profile selbst ändern können.


1
Dies ist eine Problemumgehung für viele Fälle, aber keine wirkliche Antwort auf die Bedürfnisse von OP.
Villasv

3

Ich hatte ein ähnliches Problem mit Windows XP und Windows 8 innerhalb einer virtuellen VMware Fusion-Maschine:

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

Nachdem ich die 'Desktop'-Spiegelung gestoppt hatte (ich habe die freigegebenen Ordner beibehalten), wurde das Problem behoben:

PS C:> $profile
C:\Documents and Settings\Administrator\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

Gleiches Problem hier. Als Referenz befindet sich die Einstellung unter Virtuelle Maschine / Einstellungen ... / Freigabe / Gespiegelte Ordner.
ngm

Guter Fang. Ich musste die Spiegelung "Dokumente" deaktivieren und habe noch nicht einmal Desktop überprüft. Ich denke, jede Spiegelung verursacht Probleme.
Miha Markic

1

Ich bin unter Windows 10 und hatte das gleiche Problem. Ich war in der Lage , es zu beheben , indem Sie den Wechsel Locationin Document Properties.

Mein $profilewurde vom UNC-Pfad (z. B. \\server\path\to\my\document\WindowsPowerShell\Microsoft.PowerShell_profile.ps1) referenziert . Als Powershell versuchte, dies auszuführen, erhielt ich die Sicherheitswarnung.

Um dies zu beheben:

  1. Erstellen Sie ein zugeordnetes Laufwerk für den Netzwerkordner.
  2. Gehen Sie zu This PCund klicken Sie mit der rechten Maustaste auf den DocumentsOrdner und wählen Sie Properties.

    Dokumentordner

  3. Aktualisieren Sie den Speicherort auf den zugeordneten Laufwerkspfad

    Standorteinstellung

  4. Klicken Sie auf OK oder übernehmen Sie.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.