Gibt es eine Möglichkeit, den Standardspeicherort von PowerShell zu ändern?
Wie legen Sie das Standardarbeitsverzeichnis von PowerShell fest?
windows
powershell
Youbloodywombat
quelle
quelle
Antworten:
Sie können das Verzeichnis angeben, das beim Starten von PowerShell geöffnet werden soll:
Verwenden Sie es einfach in Ihrer Verknüpfung.
Oder verwenden Sie ein Profil , um ein Startverzeichnis festzulegen .
quelle
pwsh.exe -WorkingDirectory C:\YourLocation\Goes\Here
Erstellen Sie ein PowerShell-Profil wie folgt.
Führen Sie PowerShell als Administrator aus und führen Sie den folgenden Befehl aus:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Dadurch kann PowerShell lokale Skripte und aus dem Internet heruntergeladene Skripte ausführen, die signiert wurden. Weitere Informationen zu diesem Befehl finden Sie in der Dokumentation .
Documents
Suchen Sie in Ihrem Ordner einen Ordner mit dem Namen "WindowsPowerShell
Classic PowerShell" oder "PowerShell
PowerShell Core". Wenn es nicht existiert, ist das in Ordnung; erstelle es einfach.profile.ps1
imWindowsPowerShell
Ordner (oderPowerShell
für PowerShell Core).Öffnen
profile.ps1
Sie den folgenden Befehl und fügen Sie ihn hinzu, um Ihr Standardarbeitsverzeichnis festzulegen:Öffnen Sie ein neues PowerShell-Fenster. Die Änderungen sollten wirksam werden.
quelle
powershell -File "myscript.ps1"
powershel -NoProfile -File "myscript.ps1"
Ich hatte die obigen Antworten in Windows Server 2016 ohne Erfolg versucht .
Aber ich fand, dass dieser Ansatz (er sollte für Windows 10 der gleiche sein) für mich funktioniert.
Getan!
Im selben Eigenschaften- Dialog können Sie auch viele andere Einstellungen wie Schriftarten, Farben, Größen und auf der Registerkarte Verknüpfung dort über die Schaltfläche ändern Advanced. Sie können auswählen, ob diese PowerShell-Sitzung mit Administratorrechten ausgeführt werden soll.
quelle
Run as administrator
im.lnk
erweiterten Menü nachsehen. Die Lösung scheint hier zu sein stackoverflow.com/questions/31622469/…Run as aministrator
Kontrollkästchens hin und her.Eine einfachere Möglichkeit, das Standardverzeichnis festzulegen, ist die folgende:
Klicken Sie mit der rechten Maustaste auf das Windows PowerShell-Symbol in Start, und klicken Sie erneut mit der rechten Maustaste auf Windows PowerShell, und wählen Sie Eigenschaften aus (nicht als Administrator ausführen und nicht Windows PowerShell ISE ).
quelle
Durch das Einfügen
Set-Location
in Ihr Profil wird das aktuelle Arbeitsverzeichnis bedingungslos geändert. Dies kann unerwünschte Folgen für das Arbeitsverzeichnis für Skripts haben, die Sie über "Mit PowerShell ausführen" ausführen.Eine alternative Lösung besteht darin, das Arbeitsverzeichnis für die
.lnk
Dateien in PowerShell zu ändern, das normalerweise in enthalten ist%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell
. Klicken Sie mit der rechten Maustaste auf einen Link und ändern Sie das Arbeitsverzeichnis von%HOMEDRIVE%%HOMEPATH%
in das gewünschte Verzeichnis.quelle
Run as administrator
im.lnk
erweiterten Menü nachsehen. Die Lösung scheint hier zu sein stackoverflow.com/questions/31622469/…-NoProfile
Option wiepowershell -NoProfile -File "myscript.ps1"
Geben Sie dies in PowerShell ein:
Es wird eine .ps1-Datei im PowerShell-Ordner erstellt. Öffnen Sie es und bearbeiten Sie es wie folgt:
Getan
Siehe diesen Link. Es funktioniert gut.
Ändern Sie das PowerShell-Startverzeichnis
quelle
Anstatt das Arbeitsverzeichnis wie in den vorherigen Antworten erwähnt bedingungslos zu ändern, können Sie eine einfache Funktion in das PowerShell-Profil schreiben, mit der Sie
Set-Location
das Arbeitsverzeichnis bei Bedarf schnell ändern können.Überprüfen Sie die Antwort von Jeremy Danyow , um ein PowerShell-Profil zu erstellen / zu ändern.
Fügen Sie Ihrem PowerShell-Profil eine oder mehrere Funktionen hinzu:
Ändern Sie einfach den Funktionsnamen und das Verzeichnis, auf das verwiesen wird. Die Verwendung von Anführungszeichen für den Pfad ist obligatorisch, wenn er Leerzeichen enthält. Ich versuche, das Präfix beizubehalten,
goto_
da es beim Speichern der Funktionsnamen hilft.Sie können mit der Eingabe beginnen und
goto_
dann die Tabulatortaste drücken, um alle hinzugefügten Funktionen zu durchlaufen (denken Sie daran, nach dem Hinzufügen / Ändern von Funktionen ein neues PowerShell-Fenster zu starten).quelle
Wenn eine Datei bereits über die Befehlszeile vorhanden ist, wird sie angehängt:
quelle
Damit scheint es einige Verwirrung hinsichtlich des "Arbeitsverzeichnisses" und des "Speicherorts" von PowerShell zu geben. Was die meisten Leute hier tun und sagen, dass sie den "Standort" von PowerShell ändern sollen. Das "Arbeitsverzeichnis" ist eigentlich anders. Hier ist ein Artikel , der es erklärt.
Für diejenigen, die den Artikel nicht lesen möchten: Öffnen Sie PowerShell und verwenden Sie, was andere gesagt haben
Set-Location "C:\some\directory"
. Beachten Sie, dass sich in Ihrem "Arbeitsverzeichnis" noch Ihre PowerShell befindet. Entweder"~"
oder"%SYSTEMROOT%\system32"
abhängig davon, ob Sie als Administrator ausgeführt wurden oder nicht. Verwenden Sie zum Überprüfen des Arbeitsverzeichnisses[Environment]::CurrentDirectory
.Hinweis: In dem Artikel sagt der Autor, dass er das "Arbeitsverzeichnis" mit diesem Befehl überprüfen soll:
Ich bin nicht sicher, ob dies mit älteren PowerShell-Versionen funktioniert, aber mit PowerShell 5 (und höher) müssen Sie verwenden
[Environment]::CurrentDirectory
.quelle
Machen Sie dies zur ersten Zeile in Ihrer Profile.ps1 und PowerShell Core (pwsh) wird in dem Verzeichnis geöffnet, in dem Sie gerade arbeiten:
set-location (get-location) .path
quelle
Schreibausgabe "Set-Location C: \" >> $ profile
quelle
Diese Lösung setzt den aktuellen Arbeitsordner auf den Speicherort, an dem sich das Skript befindet. Stellen Sie sicher, dass Sie es am Anfang Ihres Skripts platzieren oder zumindest bevor Sie versuchen, einen Befehl zu verwenden, der sich auf den Standortpfad stützt.
quelle