Действительно то, о чем Вы говорите, является своего рода системой менеджмента конфигурации для управления контролем. В сущности Вам нужен контроль, который будет настроен, при настройке нового хоста и deprovisioned, когда Вы завершаете работу хоста. В доме мы используем марионетку для настройки наших хостов в nagios и затем вручную удаляем, поскольку это не общая задача. С течением времени процесс удаления будет автоматизирован также.
Я посмотрел бы на шеф-повара и марионетку как главные соперники в этом пространстве.
Если вы используете Win2k8 или новее, вы можете использовать диспетчер ресурсов файлового сервера для создания задачи истечения срока действия файлов, которая переместит файлы старше x
в другой каталог.
The code example will be slow, as you're enumerating every single file and directory recursively, before applying the filter. This is not PowerShell's fault, the underlying filesystem classes in .Net are actually very fast.
You want to use the builtin filter parameters instead of piping to where-object (in general, do filtering as far "left" as possible.)
Не так давно Powershell укусил меня, когда я делал нечто подобное. На это нужны годы и годы. К счастью, у меня был установлен Cygwin, и я мог протестировать соответствующий маневр, используя собственные команды * nix. Разница во времени была ошеломляющей.
Таким образом, в плане скорости медлительность связана не столько с окнами или файловой системой как таковой, сколько с эффективностью выполнения используемого языка.
Глубина / длина пути Я не знаю еще экспериментировал, но для этих очень трудоемких задач обработки файлов я теперь использую cygwin поверх PowerShell на машине с Windows. Это отстой, но это так.
Есть, вероятно, другие, более рекомендуемые альтернативы, которые также ускоряют файловые операции, чем собственные команды Windows. Я думаю, что если и есть, то многие.