ps/Modules/Alkami.DevOps.Inventory/Public/Get-DotNetTempFilesCreationTime.ps1
2023-05-30 22:51:22 -07:00

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
}