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

37 lines
1.5 KiB
PowerShell

function Get-AppSettingsInventoryConfigPaths {
<#
.SYNOPSIS
Collects the anticipated config paths for AppSettings Inventorying
.DESCRIPTION
Collects the existing config files from
* C:\ProgramData\Chocolatey\lib
* Get-ChildItem (Get-OrbPath)
* Get-ChildItem (Get-DotNetConfigPath -use64Bit:$true)
#>
[CmdletBinding()]
Param()
$logLead = (Get-LogLeadName)
$providerStopWatch = [System.Diagnostics.StopWatch]::StartNew()
[array]$configs = @()
$chocoInstallPath = Get-ChocolateyInstallPath
Write-Verbose "$logLead : [$($providerStopWatch.Elapsed)] : Reading Choco App Configs"
$configs += Get-ChildItem "$chocoInstallPath\lib" -File -Recurse -Filter Alkami*.exe.config
Write-Verbose "$logLead : [$($providerStopWatch.Elapsed)] : Done Reading Choco App Configs"
Write-Verbose "$logLead : [$($providerStopWatch.Elapsed)] : Reading ORB App|Web Configs"
$configs += Get-ChildItem (Get-OrbPath) -File -Recurse -Filter *.config -Depth 1 `
| Where-Object {$_.Directory.Attributes.ToString() -notmatch "ReparsePoint" -and $_.Name -notmatch "log4net"}
Write-Verbose "$logLead : [$($providerStopWatch.Elapsed)] : Done Reading ORB App|Web Configs"
Write-Verbose "$logLead : [$($providerStopWatch.Elapsed)] : Reading Machine Config"
$configs += Get-ChildItem (Get-DotNetConfigPath) -File
$providerStopWatch.Stop()
Write-Verbose "$logLead : [$($providerStopWatch.Elapsed)] : Done Reading Machine Config"
return $configs
}