Dargslan.WinEdgeMgr.psm1
|
<# .SYNOPSIS Microsoft Edge browser management toolkit — policy audit, extension inventory, profile management, and security configuration (2026 Edition) .DESCRIPTION 2026 Edition — Part of the Dargslan Windows Admin Toolkit collection. More tools and resources at https://dargslan.com .LINK https://dargslan.com #> function Get-EdgeAudit { <# .SYNOPSIS Audit Microsoft Edge browser configuration and policies .DESCRIPTION Reports Edge browser policies, installed extensions, profiles, security settings, and update status. Part of Dargslan.WinEdgeMgr (2026 Edition) — https://dargslan.com #> [CmdletBinding()] param([switch]$Json) $report = [ordered]@{ Version = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Edge\BLBeacon" -ErrorAction SilentlyContinue).version Policies = Get-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Edge" -ErrorAction SilentlyContinue | Select-Object * -ExcludeProperty PS* Extensions = Get-ChildItem "$env:LOCALAPPDATA\Microsoft\Edge\User Data\Default\Extensions" -ErrorAction SilentlyContinue | Select-Object Name, CreationTime, LastWriteTime Profiles = Get-ChildItem "$env:LOCALAPPDATA\Microsoft\Edge\User Data" -Directory -ErrorAction SilentlyContinue | Where-Object Name -match "Profile|Default" | Select-Object Name, CreationTime UpdateService = Get-Service edgeupdate -ErrorAction SilentlyContinue | Select-Object Status, StartType Security = [PSCustomObject]@{ SmartScreen = (Get-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Edge" -ErrorAction SilentlyContinue).SmartScreenEnabled PasswordMonitor = (Get-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Edge" -ErrorAction SilentlyContinue).PasswordMonitorAllowed InPrivateBrowsing = (Get-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Edge" -ErrorAction SilentlyContinue).InPrivateModeAvailability } Summary = [PSCustomObject]@{ Version = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Edge\BLBeacon" -ErrorAction SilentlyContinue).version ExtensionCount = (Get-ChildItem "$env:LOCALAPPDATA\Microsoft\Edge\User Data\Default\Extensions" -ErrorAction SilentlyContinue | Measure-Object).Count ProfileCount = (Get-ChildItem "$env:LOCALAPPDATA\Microsoft\Edge\User Data" -Directory -ErrorAction SilentlyContinue | Where-Object Name -match "Profile|Default" | Measure-Object).Count } } if ($Json) { return $report | ConvertTo-Json -Depth 3 } Write-Host "`n [Edge Audit — 2026 Edition]" -ForegroundColor Cyan Write-Host " Version: $($report.Version) | Extensions: $($report.Summary.ExtensionCount) | Profiles: $($report.Summary.ProfileCount)" $report.Security | Format-List return $report } Export-ModuleMember -Function * |