簡體   English   中英

在任務計划程序上運行PowerShell腳本

[英]Running PowerShell Script on Task Scheduler

我在其他問題中查看了有關任務調度程序答案的所有PowerShell腳本,但未能找到解決此問題的腳本。

我嘗試使用以下命令直接通過任務計划程序運行PowerShell腳本:

       powershell.exe -file c:\path_to_your_script\script.ps1

以及創建批處理以運行PowerShell腳本。

PowerShell腳本可以完美地查找它自己運行以及手動運行批處理時的情況。

它打開一個excel,刷新,保存和關閉。

我無法通過任務處理程序成功安排此操作。

有什么建議?

謝謝您的幫助

編輯:

@luke這是任務調度程序設置的導出

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
<Date>2015-05-11T12:40:51.6084684</Date>
<Author>----------</Author>
  </RegistrationInfo>
  <Triggers>
 <TimeTrigger>
  <Repetition>
    <Interval>PT1H</Interval>
    <StopAtDurationEnd>false</StopAtDurationEnd>
  </Repetition>
  <StartBoundary>2015-05-11T12:30:00</StartBoundary>
  <Enabled>true</Enabled>
</TimeTrigger>
  </Triggers>
  <Principals>
<Principal id="Author">
  <UserId>------\Administrator</UserId>
  <LogonType>Password</LogonType>
  <RunLevel>HighestAvailable</RunLevel>
</Principal>
  </Principals>
  <Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>true</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
  <StopOnIdleEnd>true</StopOnIdleEnd>
  <RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>true</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<WakeToRun>true</WakeToRun>
<ExecutionTimeLimit>P3D</ExecutionTimeLimit>
<Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
<Exec>
  <Command>C:\Windows\System32\cmd.exe</Command>
  <Arguments>/q /c "C:\Users\---------\Documents\PowerBI\PowerShell\RunExcelRefreshingScriptPowerShell2.bat"</Arguments>
</Exec>
  </Actions>
</Task>

您可以在沒有用戶名或密碼的情況下提供任務計划設置的導出。

我有很多通過任務計划程序運行的功能,而不是一個問題,因為我的調度程序調用了啟動powershell的bat。

TaskSchedulerLastRunResult

這是您可以找到最后一次運行結果的地方。

我遇到了同樣的問題,我創建了一個計划任務來運行我創建的PowerShell腳本。 我發現如果你在程序/腳本窗口中添加Powershell.exe的路徑(即:%SystemRoot%\\ system32 \\ WindowsPowerShell \\ v1.0 \\ powershell.exe)以及實際PowerShell腳本的路徑(即:D) :\\ Scripts \\ PowershellScript.ps1)(參見下面的示例)它將在Arguments窗口中工作。 您還必須檢查服務器的PowerShell執行策略,以確保它設置為“不受限制”。 您也可以嘗試將其添加為參數(-ExecutionPolicy Bypass)。 我希望這會對某人有所幫助。 示例: 運行PowerShell腳本的任務

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM