peterleb
Goto Top

Ausführung von Powershell-Scripten als Verknüpfung vom Desktop

Hallo Mädels und Jungs,

Lexware Finanzmanager legt im Verzeichnis:
C:\Users\XXX XXX\AppData\Roaming\Lexware\FinanzManager\2024\
eine Datei namens "QW.RMD" ab, wenn offene Überweisungen vorhanden sind.
Wenn jedoch Finanzmanager von einem anderen Rechner aus gestartet wird (bei Deluxe möglich) zeigt die Zahlungserinnerung Buchungen an, die längst erledigt sind.
Da zwar die Finanzmanager-Datei in der Cloud liegt, jedoch diese Reminder-Datei lokal gespeichert wird, gibt es diese Unstimmigkeiten und Lexware empfiehlt das Löschen der o.g. Datei.
(Ganz schön lange Vorrede!)

Also Script geschrieben:

DelReminder.ps1 (liegt im gleichen Verzeichnis)
$RmdFile =  "C:\Users\XXX XXX\AppData\Roaming\Lexware\FinanzManager\2024\QW.RMD"   
 if(Test-Path $RmdFile){
        del $RmdFile -Force
    }else{
       write-host "'$RmdFile' existiert nicht." -F yellow  
 }
Dann Link auf dem Desktop abgelegt.
Beim Anklicken des Links sehe ich kurz ein PS-Fenster, aber die Datei wird nicht gelöscht.
Gehe ich in das entsprechende Verzeichnis und führe die ps1 "vor Ort" aus, wird "QW.RMD" ohne Fehlermeldung gelöscht.
Wie muß ich das Script richtig verknüpfen?

Vielen Dank für hilfreiche Tipps.
Peter

Content-ID: 7726587076

Url: https://administrator.de/contentid/7726587076

Ausgedruckt am: 19.11.2024 um 04:11 Uhr

7426148943
Lösung 7426148943 03.07.2023 aktualisiert um 17:02:41 Uhr
Goto Top
Beim Anklicken des Links sehe ich kurz ein PS-Fenster, aber die Datei wird nicht gelöscht.
Wie sieht die Verknüpfung aus? Nur direkte Verknüpfung oder als Doppelklick Ziel = powershell.exe -EP Bypass -File "C:\Pfad\zum\Script.ps1" ?
Füge am Ende des Skripts mal ein Read-Host ein dann siehst du was passiert und das Fenster bleibt offen. Und am Ende des Del-Befehls ein -Verbose

Ich vermute das Leerzeichen im User-Profil macht hier den Ärger. Dann mach die Verknüpfung wie oben geschrieben.
powershell.exe -EP Bypass -File "C:\Pfad\zum\Script.ps1"
oder alternativ mit
powershell.exe -EP Bypass -command "&'C:\Pfad\zum\Script.ps1'"

Oder gleich die Befehle direkt in die Verknüpfung gepackt dann braucht es noch nicht mal ein Skript:
powershell.exe -EP Bypass -command "remove-item 'C:\Users\XXX XXX\AppData\Roaming\Lexware\FinanzManager\2024\QW.RMD' -Force -EA 0"

Zeppel
PeterleB
PeterleB 03.07.2023 um 17:13:13 Uhr
Goto Top
Nur direkter Link auf die ps1.
Ich versuche es mit der powershell.exe Verknüpfung.

Danke erstmal
Peter
PeterleB
PeterleB 03.07.2023 um 17:16:16 Uhr
Goto Top
Der Aufruf: powershell.exe -EP Bypass -File "C:\Pfad\zum\Script.ps1" ist die Lösung.

Danke
PeterleB
PeterleB 03.07.2023 um 17:19:57 Uhr
Goto Top
PS:
Mit Powershell 7 (also pwsh.exe) klappt es aber nicht.
Sind dann die Parameter falsch?
7426148943
7426148943 03.07.2023 aktualisiert um 18:33:44 Uhr
Goto Top
Sind dann die Parameter falsch?
Nö ...
https://learn.microsoft.com/de-de/powershell/module/microsoft.powershell ...
Mit Powershell 7 (also pwsh.exe) klappt es aber nicht.
"Was" klappt nicht? Fehlermeldungen posten sollte man hier schon erwarten können face-sad!!!

Klappt doch ...

screenshot

Works as designed!
PeterleB
PeterleB 03.07.2023 aktualisiert um 19:20:10 Uhr
Goto Top
"C:\Program Files\PowerShell\7\pwsh.exe" -EP Bypass -File "C:\Users\XXX XXX\AppData\Roaming\Lexware\FinanzManager\2024\DelReminder.ps1"  
Keine Fehlermeldung.
Die Datei wird einfach nicht gelöscht.

Gruß
Peter
7426148943
7426148943 03.07.2023 aktualisiert um 20:50:58 Uhr
Goto Top
Zitat von @PeterleB:

"C:\Program Files\PowerShell\7\pwsh.exe" -EP Bypass -File "C:\Users\XXX XXX\AppData\Roaming\Lexware\FinanzManager\2024\DelReminder.ps1"  
Keine Fehlermeldung.
Klar gibt es die wenn die Datei wirklich existiert du dich nicht vertippt hast und sie nicht gelöscht werden kann, erzähl doch nichts vom Pferd! Du siehst sie dann wohl einfach wieder nicht ... Die Hinweise wie du das debuggst steht schon oben!
PeterleB
PeterleB 03.07.2023 um 21:54:15 Uhr
Goto Top
Sorry, wurde abgelenkt.
Mache morgen weiter.

Danke.