PowerShell没有';“当”时,不能按计划任务运行;无论用户是否登录,都要运行";设定

PowerShell没有';“当”时,不能按计划任务运行;无论用户是否登录,都要运行";设定,powershell,Powershell,我想安排一个PowerShell脚本。虽然它似乎在任务调度器中运行,但实际上并没有运行我的脚本。我发现这是因为我将任务设置为“无论用户是否登录都运行”。如果禁用此选项,任务将运行脚本 上周我发现一篇文章指出,这是因为我使用了基于用户的变量,但并没有建议如何绕过它 有人能帮我写下面的脚本吗 #UPDATE DATA IN EXCEL FILES #THEN CREATE PDF FILE [string]$path = "\\server\folder\" #Path to Excel spre

我想安排一个PowerShell脚本。虽然它似乎在任务调度器中运行,但实际上并没有运行我的脚本。我发现这是因为我将任务设置为“无论用户是否登录都运行”。如果禁用此选项,任务将运行脚本

上周我发现一篇文章指出,这是因为我使用了基于用户的变量,但并没有建议如何绕过它

有人能帮我写下面的脚本吗

#UPDATE DATA IN EXCEL FILES
#THEN CREATE PDF FILE
[string]$path = "\\server\folder\"  #Path to Excel spreadsheets to save to PDF
[string]$savepath = "\\server\folder\Reports\"
[string]$dToday = Get-Date -Format "yyyyMMdd"

$xlFixedFormat = "Microsoft.Office.Interop.Excel.xlFixedFormatType" -as [type] 
$excelFiles = Get-ChildItem -Path $path -include *.xls, *.xlsx -recurse 

# Create the Excel application object
$objExcel = New-Object -ComObject excel.application 
$objExcel.visible = $false   #Do not open individual windows

foreach($wb in $excelFiles) 
{ 
# Path to new PDF with date 
 $filepath = Join-Path -Path $savepath -ChildPath ($wb.BaseName + "_" + $dtoday + ".pdf") 
 # Open workbook - 3 refreshes links
 $workbook = $objExcel.workbooks.open($wb.fullname, 3)
 $workbook.RefreshAll()

 # Give delay to save
 Start-Sleep -s 5

 # Save Workbook
 $workbook.Saved = $true 
"saving $filepath" 
 #Export as PDF
 $workbook.ExportAsFixedFormat($xlFixedFormat::xlTypePDF, $filepath) 
 $objExcel.Workbooks.close() 
} 
$objExcel.Quit()

过去,我通过
计划任务使用
Microsoft.Office.Interop.Excel
时也遇到一些问题。因此,我们转而使用以下模块:

此模块利用,可在计划任务中轻松使用,因为不需要安装Microsoft Excel的
版本,这在任何情况下都不是服务器上理想的解决方案

所以我建议你看看这个,因为它肯定会对你有所帮助

如果仍希望使用Microsoft.Office.Interop.Excel对象,则需要阅读,以便知道需要手动创建以下两个文件夹:

C:\Windows\System32\config\systemprofile\Desktop  
C:\Windows\SysWOW64\config\systemprofile\Desktop

当这些文件夹在您的系统上可用时,
计划任务
很可能会正确运行。

您好,您真的想在没有任何登录用户的情况下运行此任务吗?我个人会用Try/Catch(需要设置
$ErrorActionPreference=“Stop”
)在catch中,比如说
$Error | Out File C:\Debug\Error.txt-Append
——但正如DarkLite所说,我还记得Excel和计划任务中的一些问题。是的,我需要在没有任何用户登录的情况下运行此程序。