Мы пытаемся запустить скрипт с кучей удаленных компьютеров, чтобы проверить штампы даты файлов в фиксированной папке, которая старше 12 часов и вернуть результаты в CSV. Диапазон дат должен быть гибким, так как это установленное время в 18:00 вчера, которое будет двигаться с течением времени.Проверьте файлы на удаленных компьютерах на отметку времени старше X часов и экспортируйте результаты в CSV
$computers = Get-Content -Path computers.txt
$filePath = "c:\temp\profile"
$numdays = 0
$numhours = 12
$nummins = 5
function ShowOldFiles($filepath, $days, $hours, $mins)
{
$files = $computers @(get-childitem $filepath -include *.* -recurse | where {($_.LastWriteTime -lt (Get-Date).AddDays(-$days).AddHours(-$hours).AddMinutes(-$mins)) -and ($_.psIsContainer -eq $false)})
if ($files -ne $NULL)
{
for ($idx = 0; $idx -lt $files.Length; $idx++)
{
$file = $files[$idx]
write-host ("Old: " + $file.Name) -Fore Red
}
}
}
Write-output $computers, $numdays, $numhours, $nummins >> computerlist.txt
В какой именно момент времени? Всегда 6 часов. предыдущего дня? Всегда за 12 часов до этого? Что-то другое? –
Время возврата в основном 18:00 28 апреля 2015 года, но когда мы перенаправляем задание, мы хотим изменить это время на перенесенное время. @ Код Чарда дает мне информацию каким-то образом. Мне нужно просто вывести машины, у которых DONT есть обновленные файлы. На данный момент он возвращает все машины. –