Taskplaner-PowerShell-Skript wird nicht ausgeführt

Taskplaner-PowerShell-Skript wird nicht ausgeführt

Ich habe ein Powershell-Skript, das jeden Morgen eine Excel-Datei öffnet, ein Makro ausführt und schließt. Das hat bis vor Kurzem problemlos funktioniert, bis wir unsere alten Netzwerklaufwerke auf Sharepoint Online verschoben haben.

Wenn ich das Skript manuell ausführe, wird es gestartet und tut, was es tun soll. Wenn ich es jedoch in den Taskplaner platziere, öffnet es die Datei nicht.

Ich habe versucht:

  • Platzieren des Skripts außerhalb meines OneDrive-Ordners: Das Skript wird ausgeführt, aber die Datei lässt sich nicht öffnen.
  • Platzieren von Skript und Datei außerhalb von OneDrive und Sharepoint: Das Skript wird ausgeführt und die Datei wird geöffnet.
  • Wenn sich beide im OD/SP-Modus befinden, führen Sie einen Taskplaner aus, um ein Powershell-Fenster zu öffnen und das Skript von dort aus auszuführen: Das erste Fenster wird geöffnet, aber Powershell wird beim Ausführen des zweiten Skripts geschlossen.

Der Benutzer, der die Aufgabe ausführt, also ich selbst, hat die volle Kontrolle über die Ordner, in denen sich sowohl das Skript als auch die Datei befinden, und wie erwähnt funktioniert das Skript in all diesen Fällen, wenn es manuell ausgeführt wird. Ich scheine weder im Internet noch in den Protokollen etwas finden zu können (es sei denn, ich bin blind, es wurden keine Protokolle erstellt, nachdem alle vorherigen Aufgaben ausgeführt wurden), und mir gehen langsam die Haare aus, an denen ich mich raufen kann.

Hat jemand eine Idee/einen Rat?

Danke!

Antwort1

Taskplaner-PowerShell-Skript wird nicht ausgeführt

Basierend auf dem, was Sie beschreiben und was ich sehe in derXML-Datei gemäß Ihrer KonfigurationWo du hast. . .

<Exec>
  <Command>"C:\Path\To\OneDrive - Company Ltd\Scripts\pwsh\DonwloadOpen.ps1"</Command>
  <Arguments>-ExecutionPolicy Bypass</Arguments>
<Exec>

Ich denke, dass es stattdessen so konfiguriert werden muss, um PowerShell vom Taskplaner aus auszuführen. . .

<Exec>
  <Command>Powershell</Command>
  <Arguments>-ExecutionPolicy Bypass -File "C:\Path\To\OneDrive - Company Ltd\Scripts\pwsh\DonwloadOpen.ps1"</Arguments>
</Exec>

Also von derAktionerstellen Sie einAktiondefiniert als:

  • Aktion: Start a program
  • Programm/Skript: Powershell
  • Argumente hinzufügen (optional): -ExecutionPolicy Bypass -File "C:\Path\To\OneDrive - Company Ltd\Scripts\pwsh\DonwloadOpen.ps1"
  • Beginnen in (optional): C:\Windows\System32\WindowsPowerShell\v1.0 Bildbeschreibung hier eingeben

Darüber hinaus könnten einige dieser Optionen in Ihrem Fall hilfreich sein, aber basierend auf der Sicherheit und Ihrer Konfiguration bin ich nicht 100 %ig davon überzeugt, dass sie erforderlich sind, aber sie lassen sich leicht genug testen. . .

Von demAllgemeinder geplanten Aufgabe, stellen Sie sicher, dass dieWird ausgeführt, unabhängig davon, ob der Benutzer angemeldet ist oder nichtund dasMit höchsten Berechtigungen ausführenBeide Optionen sind ausgewählt.

Bildbeschreibung hier eingeben

Zusätzliche Ressourcen


verwandte Informationen