45 lines
1.6 KiB
PowerShell
45 lines
1.6 KiB
PowerShell
function Get-DotNetTempFilesCreationTime {
|
|
<#
|
|
.SYNOPSIS
|
|
Gets the first time a .NET Temporary File was created
|
|
#>
|
|
[CmdletBinding()]
|
|
Param(
|
|
[Parameter(Mandatory = $false)]
|
|
[Alias("AppPoolName")]
|
|
[string]$Name = ""
|
|
)
|
|
$logLead = (Get-LogLeadName);
|
|
$providerStopWatch = [System.Diagnostics.StopWatch]::StartNew()
|
|
|
|
|
|
$DotNetTempFilesCreationTimeDictonary = New-Object System.Collections.Specialized.OrderedDictionary
|
|
$DotNetTempFilesCreationTimeDetails = New-Object System.Collections.Specialized.OrderedDictionary
|
|
|
|
try {
|
|
|
|
Write-Verbose "$logLead : [$($providerStopWatch.Elapsed)] : Getting ASP.NET Temporary files"
|
|
$targetItems = Get-ChildItem -recurse "C:\Windows\Microsoft.NET\Framework*\v*\Temporary ASP.NET Files\$Name*";
|
|
Write-Verbose "$logLead : [$($providerStopWatch.Elapsed)] : Retrived ASP.NET Temporary files"
|
|
|
|
$LastWriteTimes = @()
|
|
foreach ($targetItem in $targetItems) {
|
|
Write-Verbose ("$logLead : Extracting Create time {0} for file {1}" -f $targetItem.creationTime, $targetItem.Name);
|
|
$LastWriteTimes += $targetItem.creationTime
|
|
}
|
|
|
|
$DotNetTempFilesCreationTimeDetails["Date"] = ($LastWriteTimes | sort-object)[0]
|
|
|
|
} catch {
|
|
|
|
$DotNetTempFilesCreationTimeDetails["Error"] = $_.Exception.ToString()
|
|
}
|
|
|
|
$DotNetTempFilesCreationTimeDictonary.Add("DotNetTemps", $DotNetTempFilesCreationTimeDetails)
|
|
|
|
Write-Verbose "$logLead : [$($providerStopWatch.Elapsed)] : Provider Complete"
|
|
$providerStopWatch.Stop()
|
|
|
|
return $DotNetTempFilesCreationTimeDictonary
|
|
}
|