簡體   English   中英

Powershell腳本從數組中查找文件年齡

[英]Powershell script to find file age from an array

我正在使用Powershell腳本來讀取在多個共享上由CreationTime篩選的文件屬性。 這些腳本偶爾會起作用。 當我使用單個路徑時,它的效果很好,但是當我將文件夾路徑添加到數組時,卻得到了混合結果。 最令人不安的結果是它成功找到並讀取了所有路徑,然后將所有內容包括在c:windows \\ system32下。 共享為空時,出現相同的異常。

所以我想完成的是:

  1. 閱讀股份清單
  2. 讀取通過“ CreationTime”和“ Archive”屬性過濾的每個共享內容。
  3. 將結果保存到csv文件中。
  4. 如果文件不為空,則將結果寫入事件日志。

這是代碼

$timer = (Get-Date -Format yyy-MM-dd-HHmm)
$Date=(Get-Date).AddHours(-3)
$FolderList = "C:\Software\Scripts\FolderList.txt"
$Folders = get-content $FolderList
$Filepath = "C:\Software\Scripts"
$filename = "$Filepath\" + $timer + "OldFiles.csv"

foreach ($Folder in $Folders)

{
Get-ChildItem $Folder | Where-Object { $_.CreationTime -lt $Date -and $_.Attributes -band [System.IO.FileAttributes]::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"

}

這個(未經測試的)腳本可能會執行您想要的操作:

$Date = (Get-Date).AddHours(-3)

$FolderList = "C:\Software\Scripts\FolderList.txt"
$Folders    = Get-Content $FolderList
$Filepath   = "C:\Software\Scripts"

$timer    = (Get-Date -Format yyyy-MM-dd-HHmm)
$filename = Join-Path $Filepath ("{0}_OldFiles.csv" -f $timer)

$Data = foreach ($Folder in $Folders){
    Get-ChildItem $Folder | 
      Where-Object { $_.CreationTime -lt $Date -and 
                     $_.Attributes -band [System.IO.FileAttributes]::Archive} | 
        Select Attributes, CreationTime, Fullname 
}


if ($Data.Count){
    #Write to OpsMgr Log
    $Data | Export-Csv -Path $filename -NoTypeInformation
    $Message = $Data | ConvertTo-Csv
    Write-EventLog -LogName "Operations Manager" -Source "Health Service Script" `
                   -EventID 402 -EntryType Information `
                   -Message "Old files found. $Message"
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM