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-Key: 7726587076

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

Printed on: April 28, 2024 at 10:04 o'clock

Mitglied: 7426148943
Solution 7426148943 Jul 03, 2023 updated at 15:02:41 (UTC)
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
Member: PeterleB
PeterleB Jul 03, 2023 at 15:13:13 (UTC)
Goto Top
Nur direkter Link auf die ps1.
Ich versuche es mit der powershell.exe Verknüpfung.

Danke erstmal
Peter
Member: PeterleB
PeterleB Jul 03, 2023 at 15:16:16 (UTC)
Goto Top
Der Aufruf: powershell.exe -EP Bypass -File "C:\Pfad\zum\Script.ps1" ist die Lösung.

Danke
Member: PeterleB
PeterleB Jul 03, 2023 at 15:19:57 (UTC)
Goto Top
PS:
Mit Powershell 7 (also pwsh.exe) klappt es aber nicht.
Sind dann die Parameter falsch?
Mitglied: 7426148943
7426148943 Jul 03, 2023 updated at 16:33:44 (UTC)
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!
Member: PeterleB
PeterleB Jul 03, 2023 updated at 17:20:10 (UTC)
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
Mitglied: 7426148943
7426148943 Jul 03, 2023 updated at 18:50:58 (UTC)
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!
Member: PeterleB
PeterleB Jul 03, 2023 at 19:54:15 (UTC)
Goto Top
Sorry, wurde abgelenkt.
Mache morgen weiter.

Danke.