我正在使用Powershell脚本读取多个共享上的CreationTime筛选的文件属性。这些脚本偶尔会起作用。当我使用单个路径时,它的效果很好,但是当我将文件夹路径添加到数组时,却得到了混合结果。最令人不安的结果是它成功找到并读取了所有路径,然后将所有内容包括在c:windows \ system32下。共享为空时,也会出现相同的异常情况。
所以我要完成的是:
这是我的测试代码
$Date=(Get-Date).AddHours(-3)
$FolderList = "C:\Software\Scripts\FolderList.txt"
$Folders = get-content $Folderpath
$Filepath = "C:\Software\Scripts"
$filename = "$Filepath\" + $timer + "OldFiles.csv"
foreach ($Folder in $Folders)
{
Get-ChildItem -Path $Folder -Recurse -Force | Where-Object { $_.CreationTime -lt $Date -and $_.Attributes -eq "Archive"} | Select Attributes, CreationTime, Fullname | Export-Csv -Path $filename -NoTypeInformation
}
if ( (get-childitem $filename).length -eq 0 )
{
exit
}
else{
#Write to OpsMgr Log
$Message = get-content $filename
Write-EventLog -LogName "Operations Manager" -Source "Health Service Script" -EventID 402 -EntryType Information -Message "Old files found. $Message"
}