Проблемы с созданием запланированной задачи, которая запускает скрипт powershell с параметрами - PullRequest
0 голосов
/ 26 ноября 2018

Я пытаюсь выполнить сценарий PowerShell с параметрами в качестве запланированной задачи.На экране Запустить программу У меня есть

Программа / скрипт

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

и в Добавить аргументы

-Command "& C:\Test\MoveFiles.ps1 -destinationRoot \\OB-VM-ME-Data\ME-Data\Archived\Test"

Что я делаю неправильно?

РЕДАКТИРОВАТЬ: Прилагается сценарий в вопросе

Param (
    [Parameter(Mandatory=$true)][string]$destinationRoot
)

$path = (Get-Item -Path ".\").FullName

Get-ChildItem $path\* -Include *.bmp, *.svg | Where-Object {
    $_.LastWriteTime -lt (Get-Date).AddDays(-30)
} | ForEach-Object {
    $content = $path + "\" + $_.Name

    $year = (Get-Item $content).LastWriteTime.Year.ToString()
    $monthNumber = (Get-Item $content).LastWriteTime.Month
    $month = (Get-Culture).DateTimeFormat.GetMonthName($monthNumber)

    $destination = $destinationRoot + "\" + $year + "\" + $month 

    New-Item -ItemType Directory -Force -Path $destination

    Move-Item -Path $content -Destination $destination -Force
}

1 Ответ

0 голосов
/ 26 ноября 2018

Не используйте -Command, если вы хотите выполнить скрипт PowerShell (с параметрами или без параметров).Используйте -File вместо этого.Измените список аргументов запланированной задачи на что-то вроде этого:

-File "C:\Test\MoveFiles.ps1" -destinationRoot "\\OB-VM-ME-Data\ME-Data\Archived\Test"

Редактировать:

Я не вижу ничего плохого в вашем сценарии,Единственное, что подчеркивает, что может оказаться проблематичным, это то, что он пытается прочитать файлы из текущего рабочего каталога (Get-Item -Path ".\"), что может быть, а может и не быть тем, что вы думаете.Тем не менее, вы можете настроить рабочий каталог в настройках запланированных задач, чтобы удалить эту переменную из уравнения.

Поскольку запланированные задачи общеизвестно сложны для отладки, и даже не ясно, что является реальной проблемой или что вызываетэто, вероятно, ваш лучший выбор - следовать шагам отладки , которые я изложил в ответе на аналогичный вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...