Я немного смущен, чтобы спросить это.Кажется, такая простая вещь.И из всех примеров, которые я нашел и попробовал, это должно работать, но, видимо, я что-то упускаю.
У меня есть очень простой скрипт powershell:
[IO.Directory]::SetCurrentDirectory("C:\Program Files (x86)\MyFolder")
cp .\simpleTestScript.ps1 .\sucess.ps1
I 'запускаем от имени администратора: Set-ExecutionPolicy remoteSigned -scope localMachine.И я планирую сценарий как администратор, поэтому не должно быть проблем с разрешениями.Я обнаружил, что «cd» не совсем работает, как и ожидалось, в powershell, но SetCurrentDirectory хорошо зарекомендовал себя. Но, возможно, это все еще проблема с рабочим каталогом.Я могу запустить его из командного файла с такой строкой:
powershell.exe -File "C:\Program Files (x86)\MyFolder\simpleTestScript.ps1"
И он запускается до конца, копирует файл, и жизнь хороша.
Но
Планирование той же команды (в планировщике задач Win7) «завершается успешно», но файл не копируется.
Без изменений, когда я помещаю C: \ Program Files (x86) \ MyFolder \ в «start in: "field.
Так чего мне здесь не хватает?
Редактировать, некоторые другие вещи, которые я пробовал
$scriptDir = Split-Path $myInvocation.MyCommand.Path
cp $scriptDir\simpleTestScript.ps1 $scriptDir\sucess.ps1
То же поведение
$scriptDir = "C:\Program Files (x86)\MyFolder"
cp $scriptDir\simpleTestScript.ps1 $scriptDir\sucess.ps1
То же поведение
[IO.Directory]::SetCurrentDirectory((Convert-Path (Get-Location -PSProvider FileSystem)))
cp .\simpleTestScript.ps1 .\sucess.ps1
То же поведение.Работает как командный файл, все работает.Но по расписанию он не копирует файл.
Я также пытался составить расписание пакетного файла, который вызывает скрипт powershell, который просто глуп и не работает.
Редактировать, часть Duex
О да, это, вероятно, поможет.Это на Windows Server 2008 R2.Powershell 2.0
Edit хммммм, совет там, включая manojlds, прекрасно работает при применении его в windowsXP.Так что это проблема Server 2008.
Редактировать финал Получается, что это проблема безопасности.Я работаю как администратор, чтобы сделать это, но нет, видимо, когда они изменили планировщик в Vista, они решили добавить: «Вы действительно хотели это сделать?»флажок.Прошу прощения, StackOverflow и особенно вам, Manojlds, это оказалось скорее проблемой для суперпользователя.Но, черт побери, Microsoft за добавление новой функции, которая изменила поведение старого инструмента.Вы могли бы проверить это по умолчанию, и жизнь была бы хорошей.
Вся моя ярость.