任務計劃程序 PowerShell 腳本未執行

任務計劃程序 PowerShell 腳本未執行

我有一個 powershell 腳本,每天早上打開一個 Excel 文件,運行一個巨集然後關閉。直到最近我們將舊網路磁碟機移轉到 Sharepoint Online 之前,該功能一直運作良好。

如果我手動執行該腳本,該腳本將啟動並執行其必須執行的操作。但是,當我將其放在任務計劃程序上時,它不會打開該文件。

我嘗試過:

  • 將腳本放置在我的 OneDrive 資料夾之外:腳本運行,但檔案無法開啟。
  • 將腳本和檔案放置在 OneDrive 和 Sharepoint 之外:腳本運行並開啟檔案。
  • 在 OD/SP 中,執行任務規劃程式以開啟 Powershell 視窗並從那裡執行腳本:第一個視窗打開,但執行第二個腳本時 Powershell 關閉。

運行任務的使用者(我自己)可以完全控制腳本和文件所在的資料夾,並且如上所述,在所有這些情況下,如果手動運行腳本,則腳本可以正常工作。我似乎無法在互聯網上找到任何內容,也無法在日誌中找到任何內容(除非我瞎了,否則在運行之前的所有任務後不會創建任何日誌),而且我開始精疲力竭拉。

有人有什麼想法/建議嗎?

謝謝!

答案1

任務計劃程序 PowerShell 腳本未執行

根據您的描述和我在根據您的配置配置 XML 文件你在哪裡。 。 。

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

我認為需要像這樣配置,而不是從任務計劃程式執行 PowerShell。 。 。

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

所以從行動選項卡您將建立一個行動定義為:

  • 行動: Start a program
  • 程式/腳本: Powershell
  • 新增參數(可選): -ExecutionPolicy Bypass -File "C:\Path\To\OneDrive - Company Ltd\Scripts\pwsh\DonwloadOpen.ps1"
  • 開始於(可選): C:\Windows\System32\WindowsPowerShell\v1.0 在此輸入影像描述

此外,在您的情況下,其中一些選項可能會有所幫助,但根據安全性和您的配置,我不是 100% 需要它們,但很容易測試。 。 。

來自一般的計劃任務選項卡,確保無論用戶是否登入都運行以最高權限運行選項均被選中。

在此輸入影像描述

其他資源


相關內容