[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseDeclaredVarsMoreThanAssignments', '')] param() try { Add-Type -Path (Get-ChildItem -Path "C:\Windows\assembly\" -Include "Microsoft.Web.Administration.dll" -Recurse).FullName } catch { try { # Just in case we have IIS Express and IIS loaded (dev machines) [System.Reflection.Assembly]::LoadFile("C:\Windows\system32\inetsrv\Microsoft.Web.Administration.dll") } catch { # Do nothing in case this is a brand new server Write-Warning "[Alkami.DevOps.Inventory] : Unable to Load Assembly Microsoft.Web.Administration. Some functions may not work as expected." } } $inventoryFilterSetOptions = @( @{ FilterName = "Uptime"; FunctionName = "Get-ComputerUptime"; SectionVariable = "SystemData"; } @{ FilterName = "EnvironmentVariables"; FunctionName = "Get-EnvironmentalVariables"; SectionVariable = "SystemData"; } @{ FilterName = "Memory"; FunctionName = "Get-MemoryInventory"; SectionVariable = "SystemData"; } @{ FilterName = "Modules"; FunctionName = "Get-ModuleInventory"; SectionVariable = "SystemData"; } @{ FilterName = "Processors"; FunctionName = "Get-ProcessorInventory"; SectionVariable = "SystemData"; } @{ FilterName = "RestartHistory"; FunctionName = "Get-RestartHistory"; SectionVariable = "SystemData"; } @{ FilterName = "IISResetHistory"; FunctionName = "Get-IISResetHistory"; SectionVariable = "SystemData"; } @{ FilterName = "DotNetTempFiles"; FunctionName = "Get-DotNetTempFilesCreationTime"; SectionVariable = "SystemData"; } @{ FilterName = "Time"; FunctionName = "Get-TimeConfiguration"; SectionVariable = "SystemData"; } @{ FilterName = "Services"; FunctionName = "Get-WindowsServiceInventory"; SectionVariable = "SystemData"; } @{ FilterName = "Features"; FunctionName = "Get-WindowsFeatureInventory"; SectionVariable = "SystemData"; } @{ FilterName = "FileSystem"; FunctionName = "Get-FileSystemInventory"; SectionVariable = "SystemData"; } @{ FilterName = "Applications"; FunctionName = "Get-ApplicationInventory"; SectionVariable = "SystemData"; } @{ FilterName = "OrbVersion"; FunctionName = "Get-OrbInventory"; SectionVariable = "ConfigData"; } @{ FilterName = "AppSettings"; FunctionName = "Get-AppSettingsInventory"; SectionVariable = "ConfigData"; } @{ FilterName = "ConnectionStrings"; FunctionName = "Get-ConnectionStringInventory"; SectionVariable = "ConfigData"; } @{ FilterName = "IIS"; FunctionName = "Get-IISInventory"; SectionVariable = "ConfigData"; } @{ FilterName = "Chocolatey"; FunctionName = "Get-ChocolateyInventory"; SectionVariable = "ConfigData"; } @{ FilterName = "ServiceFabric"; FunctionName = "Get-ServiceFabricInventory"; SectionVariable = "ConfigData"; } @{ FilterName = "Certificates"; FunctionName = "Get-CertificateInventory"; SectionVariable = "ConfigData"; } @{ FilterName = "SecurityPolicy"; FunctionName = "Get-LocalSecurityPolicyInventory"; SectionVariable = "ConfigData"; } @{ FilterName = "SystemWebSettings"; FunctionName = "Get-SystemWebSettingsInventory"; SectionVariable = "ConfigData"; } @{ FilterName = "AlkamiInstallationDrive"; FunctionName = "Get-AlkamiInstallationDriveInventory"; SectionVariable = "ConfigData"; } )