Hier einfach nur ein kurzes Snippet, welches den ScriptPath sowohl in der PowerShell wie auch in der ISE ermittelt und zur späteren Verwendung bereitstellt.
if([string]::IsNullOrEmpty($PSScriptRoot)){
$Scriptpath = $psISE.CurrentFile.FullPath -replace $psISE.CurrentFile.DisplayName
$Scriptpath = $Scriptpath.TrimEnd("\")
} else{
$Scriptpath = $PSScriptRoot
}
Ist die vordefinierte Variable $PSScriptRoot (about Automatic Variables – PowerShell | Microsoft Learn) leer, dann befinden wir uns in der PowerShell ISE und der Scriptpath kann aus dem $psISE Objekt (The ISEFile Object – PowerShell | Microsoft Learn) und den Eigenschaften CurrentFile.FullPath sowie CurrentFile.DisplayName erstellt werden.
Sollte die Variable $PSScriptRoot einen Inhalt aufweisen, so entspricht dieser direkt dem gesuchten Scriptpath.
Schreibe einen Kommentar