Я нашел сценарий, который может удалять файлы старше X дней, и немного изменил его, чтобы сканировать разные сетевые папки, чтобы увидеть, есть ли файлы старше X дней. Теперь, когда я запускаю сценарий с PowerShell ISE сценарий работает нормально и делает то, что должен. Это занимает около часа.
Теперь, когда я пытаюсь запланировать сценарий с Windows Диспетчер задач, задача запускается и завершается через 10 секунд, но скрипт не запускается. Значит, файлы не были удалены?
Настройка запланированного задания:
Общее
Запустить задачу с учетной записью, которая имеет вход в систему как пакетные привилегии
Запускать независимо от того, вошел ли пользователь в систему или нет
Беги с высшими привилегиями
Курок
Действие
Программа / сценарий: Запустите программу C: \ windows \ system32 \ windowspowershell \ v1.0 \ powershell.exe
Аргумент: -Файл «C: \ scripts \ deletefiles.ps1»
Что я делаю не так? Или почему он не запускает скрипт?
Сценарий можно найти здесь.
Тебе надо Set-ExecutionPolicy чтобы учетная запись, выполняющая запланированную задачу, могла выполнять сценарии PowerShell:
Set-ExecutionPolicy -Scope LocalMachine Unrestricted
Согласно файлу справки для Set-ExecutionPolicy, область LocalMachine устанавливает политику для всех пользователей этого компьютера. В отличие от того, если бы вы просто Set-ExecutionPolicy Unrestricted
из вашей собственной учетной записи, он устанавливает эту политику только для вашей собственной учетной записи. Кроме того, существуют отдельные политики для 32-разрядных и 64-разрядных версий PowerShell.
И если Set-ExecutionPolicy -Scope LocalMachine Unrestricted
это слишком большая угроза безопасности для вас, вы можете установить его только для этого одного пользователя, войдя в систему как этот пользователь и выполнив это, или выполнив процесс в контексте безопасности этого пользователя и установив политику для этого пользователя.
О, и что ж, об этом, вероятно, не нужно говорить, но мы не можем знать, есть ли у пользователя, которого вы назначили для этой запланированной задачи, разрешения, необходимые для удаления материалов из этих UNC пути.