Я не могу запустить powershell в планировщике задач

#excel #powershell #xlsx #xls #windows-task-scheduler

#excel #powershell #xlsx #xls #windows-task-scheduler

Вопрос:

Я пытаюсь запустить следующий сценарий Powershell через планировщик задач, но, хотя он дает мне успешный запуск (0x0), ничего не происходит. Если я запускаю скрипт вручную с того же компьютера, что и обычный пользователь, скрипт выполняется без каких-либо проблем.

 $folderpath = "\shared_pathexcel.xls"
Add-Type -AssemblyName Microsoft.Office.Interop.Excel
$xlFixedFormat = [Microsoft.Office.Interop.Excel.XlFileFormat]::xlOpenXMLWorkbook
write-host $xlFixedFormat
$excel = New-Object -ComObject excel.application
$excel.visible = $false
$filetype ="*xls"
Get-ChildItem -Path $folderpath -Include $filetype -recurse | 
ForEach-Object `
{
    $path = ($_.fullname).substring(0, ($_.FullName).lastindexOf("."))
    
    $workbook = $excel.workbooks.open($_.fullname)
 
    $path  = ".xlsx"
    $excel.DisplayAlerts = $false;
    $workbook.saveas($path, $xlFixedFormat)
    $workbook.close()
    
}
$excel.Quit()
$excel = $null
[gc]::collect()
[gc]::WaitForPendingFinalizers()
  

Просто чтобы уточнить, я пробовал разные варианты в планировщике задач, например, запускал его с такими аргументами, как «-WindowStyle Hidden -NonInteractive -ExecutionPolicy Bypass -File «C:Temppowershell.ps1 » или СИСТЕМА и текущий пользователь, вошедший в систему, но ничего не изменилось.

Моя система — это домен, подключенный к Windows 10 с неограниченным доступом к общему местоположению (доступ для всех)

Есть идеи?

Комментарии:

1. различные приложения Office запускаются только через эти вызовы, если приложение было запущено хотя бы один раз этой учетной записью в этой системе . поэтому я бы вошел в целевую систему с целевой учетной записью и запустил приложения Office один раз, чтобы они были «инициализированы». ///// кроме того, вы можете добавить ведение журнала ИЛИ Start-Transcript командлет, чтобы получить больше информации о том, что делает скрипт… и где он терпит неудачу. ///// кроме того, вы еще не пробовали искать на этом сайте [powershell] run with task scheduler ?

Ответ №1:

Обычно я настраиваю планировщик задач для запуска сценария PowerShell со следующими настройками:

Новое действие

Действие: «Запустить программу».

Программа / скрипт: «C:WindowsSystem32WindowsPowerShellv1.0powershell.exe «

Добавьте аргументы (необязательно): .ScriptName.ps1 -Значение Arg11

Запустите в (необязательно): Path to Script Directory