Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Сбор информации о файлах измененных до ...

Ответить
Настройки темы
PowerShell - [решено] Сбор информации о файлах измененных до ...

Новый участник


Сообщения: 29
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день, уважаемые!
Такая проблема:
Есть файловая помойка объёмом под 6 Тб (доменная область обмена), на сервере 2008R2.
Первой задачей является сбор статистики - какие файлы, и сколько их, были изменены более 2 лет назад (изменены до 2010, до 2011 годов)
И выгрузка в csv этой статистики с информацией о имени файла, пути, дате изменения и, если возможно, дате открытия.

Второй задачей будет перемещение всех файлов созданных до 2010/2011 года на резервное хранилище.


Возможно ли решить это на PS?

Заранее спасибо за любую помощь!

Отправлено: 13:47, 18-10-2012

 

Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
#1
$date = Get-Date 1.1.2011
$files = Get-ChildItem -Path C:\ -Force -Recurce | Where {!$_.PsIsContainer -and $_.LastWriteTime -le $date} 
$files| Select Name,DirectoryName,LastWriteTime,LastAccessTime | Export-Csv -NoType result.csv -Encoding Unicode
#2
$files | Move-Item -Destination "E:\"
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:10, 18-10-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 29
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо, всё заработало (только случайная опечатка в -Force -RecurSe).
И доп. вопрос - как перемещать только те файлы, у которых и время записи ДО 2011 года, и время последнего доступа ДО 2011 года. Т.е. если файл был изменён ДО 2011, а открыт уже после - его не перемещать.
Есть вероятность, что многие программы не корректно записывают в свойства файла время открытия.


ЗЫ добавить в отчёт размер - так :
| Select Name,DirectoryName,LastWriteTime,LastAccessTime,Size |
?
Нашел - параметр Length нужен.

ЗЫЫ Перемещение не проверял, подскажите, как сделать, чтобы оно сохранялось с текущей структурой папок?

Последний раз редактировалось rox33, 18-10-2012 в 15:46.


Отправлено: 15:12, 18-10-2012 | #3


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


{!$_.PsIsContainer -and $_.LastWriteTime -le $date -and $_.LastAccessTime -le $date}

" Есть вероятность, что многие программы не корректно записывают в свойства файла время открытия." - Сплошь и рядом,можно вручную легко изменять,что и советует делать Microsoft.

Размер - Length

Move-Item -Destination {md $_.DirectoryName.Replace("C:\","E:\") -force}
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:51, 18-10-2012 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Сбор информации о файлах измененных до ...

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Сбор информации на удаленных ПК HFShak AutoIt 7 26-11-2011 18:55
Сбор информации по файлам Serg2010 AutoIt 1 14-11-2011 10:35
CMD/BAT - Сбор информации по файлам Serg2010 Скриптовые языки администрирования Windows 2 14-11-2011 04:05
VBS/WSH/JS - Нужна помощь в VBS(Сбор информации о файлах) MakeMeFeel Скриптовые языки администрирования Windows 4 08-09-2011 17:03
AD и сбор информации о клиентском ПО Trinux Microsoft Windows NT/2000/2003 1 07-09-2011 14:37




 
Переход