Powershell PSScriptroot Verständnissfrage
Hallo,
Ich bin davon ausgegangen , dass PSScriptRoot den aktuellen ordner als Pfad setzt. Anscheinend aber das Laufwerk.
Ich habe nämlich eine Powershell Datei mit lauter Variablen, die ich in andern Powershell Files , die sich aber im selben Ordner befinden laden möchte.
Setzte ich "PSScriptroot\environment.ps1" an den Anfang jedes Scripts. funktioniert das aber leider nicht.
kann ich denn den Ordner , in dem das Script ausgeführt wird, als Location festlegen?
Ich bin davon ausgegangen , dass PSScriptRoot den aktuellen ordner als Pfad setzt. Anscheinend aber das Laufwerk.
Ich habe nämlich eine Powershell Datei mit lauter Variablen, die ich in andern Powershell Files , die sich aber im selben Ordner befinden laden möchte.
Setzte ich "PSScriptroot\environment.ps1" an den Anfang jedes Scripts. funktioniert das aber leider nicht.
kann ich denn den Ordner , in dem das Script ausgeführt wird, als Location festlegen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 445876
Url: https://administrator.de/forum/powershell-psscriptroot-verstaendnissfrage-445876.html
Ausgedruckt am: 11.04.2025 um 21:04 Uhr
8 Kommentare
Neuester Kommentar
Moin,
in der Systemvariablen $PSScriptRoot steht der volle Pfad auf das Powershellskript, in dem die Variable aufgerufen wird.
Was willst Du denn erreichen?
Liebe Grüße
Erik
in der Systemvariablen $PSScriptRoot steht der volle Pfad auf das Powershellskript, in dem die Variable aufgerufen wird.
Zitat von @MarciMarc85:
Setzte ich "PSScriptroot\environment.ps1" an den Anfang jedes Scripts. funktioniert das aber leider nicht.
kann ich denn den Ordner , in dem das Script ausgeführt wird, als Location festlegen?
Setzte ich "PSScriptroot\environment.ps1" an den Anfang jedes Scripts. funktioniert das aber leider nicht.
kann ich denn den Ordner , in dem das Script ausgeführt wird, als Location festlegen?
Was willst Du denn erreichen?
Liebe Grüße
Erik

"PSScriptroot\environment.ps1"
Da fehlt das Dollarzeichen vor der Variablen und ein Punkt zum Dot-Sourcing .... "$PSScriptroot\environment.ps1"
Zitat von @MarciMarc85:
". : Die Benennung "\environment.ps1" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt"
. "$PSScriptRoot\environment.ps1"
". : Die Benennung "\environment.ps1" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt"
Dann ist sie nicht im selben Verzeichnis wie das Skript oder heißt anders.

Entweder es gibt das Script im selben Verzeichniss wie das Quelllscript nicht, du hast einen Schreibfehler, oder du testest das ganze ungespeichert in der ISE. Die Variable ist nur gefüllt wenn das Script auch gespeichert wurde.