Jump to content

Win11 Powershell Test-Path


Empfohlene Beiträge

Geschrieben (bearbeitet)

Hallo Leute,
gestern habe ich meinem PC, auf dem ich mit Powershell Skripte erstelle, auf Windows 11 umgestellt.
Seit dem habe ich folgendes Problem:

Ich habe ein Skript, das ein Pfad zu einer Datei prüft, mittels IF (Test-Path -Path $Datei) ...
Das Skript bearbeite ich aktuell und führe es mit ISE als Administrator aus.
Das war bisher kein Problem, nur wenn die Datei vorhanden war, wurde die Funktion aufgerufen - so wie es sein soll.

Seit ich mit Win 11 und PS 5.1 arbeite, wird an dieser Stelle nicht mehr die Datei geprüft, sondern nur der Pfad.
Damit geht das Skript in die Funktion und scheitert, weil die Datei zu Bearbeitung nicht gefunden werden kann.

Und jetzt wird es richtig Kurios:
Wenn der Fehler nach dem Start der ISE Umgebung auftritt und ich es dann ein zweites Mal ausführe, geht es.

 

Ich hatte es dann statt -Path auch mal mit -LiteralPath versuche, dies half aber nicht... auch nicht nur Test-Path.

 


Was ist da los?
Hat das schon mal jemand anders vorgefunden?

Danke vorab für Eure Hilfe.

Infos zur Version:
'Name                           Value                                                                                                                                                                                  
----                           -----                                                                                                                                                                                  
PSVersion                      5.1.26100.6584                                                                                                                                                                         
PSEdition                      Desktop                                                                                                                                                                                
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}                                                                                                                                                                
BuildVersion                   10.0.26100.6584                                                                                                                                                                        
CLRVersion                     4.0.30319.42000                                                                                                                                                                        
WSManStackVersion              3.0                                                                                                                                                                                    
PSRemotingProtocolVersion      2.3                                                                                                                                                                                    
SerializationVersion           1.1.0.1   

bearbeitet von ZippiScrippi
Geschrieben (bearbeitet)

Vielleicht teilst Du einfach mal das komplette Skript mit uns. So ohne jeglichen Code wird es schwer irgendwas Hilfreiches zu empfehlen.

 

Wenn Du Code oder Konsolen-Output postest, formatier das Ganze bitte auch als Code hier im Forum. Das erleichtert das Lesen und Kopieren usw.

 

bearbeitet von BOfH_666
Geschrieben

Ok, aber es ist nichts besonders mit dem Code:
 

$Reboot="C:\Test\Reboot.txt"

IF (Test-Path -Path $Reboot) {

    Write-Log "INSTALLATION FINISHED - REBOOT ALREADY DONE"

	Do something with the file Reboot.txt...
}


Das Problem ist, dass nach dem ersten Start der ISE unter Windows 11 die Abfrage true ergibt und dann die Funktion ausgeführt wird - was so nicht sein soll.
Es wird dann eine Meldung wegen der Exception eingeblendet, hier kann ich z.B. nein wählen - was ich dann mache.

Dann starte ich das Skript in ISE erneut, dieses Mal erfolgt die Abfrage ohne Fehler, die Funktion wird nicht aufgerufen.

Wenn ich das Skript in der endgültigen Umgebung laufen lasse, tritt der oben genannte Fehler immer auf...

 

 

 

 

 

Geschrieben

Hi Leute, 
shame on me.
Ich habe den Fehler gefunden.
In einer anderen Ecke, die ich zwar nicht bearbeitet habe, habe ich wohl versehentlich die Datei in der Var $Reboot kaput gemacht.
Statt "C:\Test\Reboot.txt" stand dort "C:\Test\Reboot"

 

So geht es natürlich gar nicht.
Aber der Fehler ist gefunden.


Sorry und Danke.

  • Like 1

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...