- Improves dashboard logic for excluding files
- Improves dashboard logic for excluding files
- Improves dashboard logic for excluding files
- Added
PassThru
to get the output of Start-TheDashboard
to be able to use it in other scripts
- Added ability to cleanup files not in use by the dashboard (it actually deletes the files, be sure you want to do it)
- Supports
WhatIf
for cleanup of files
- Add
Title
to the pages for better page distinction
- Improve
Repair-DashboardContent
to fix issues with PS 5.1
- Improve
Repair-DashboardContent
to add ability to bump time by one minute
- Improve
New-DashboardReplacement
to allow for more complex replacements
- Improvements overall
- Added
Repair-DashboardContent
to fix issues with HTML incompatible with SharePoint
- Added
Repair-DashboardExtension
to convert HTML files to ASPX files or vice versa (for SharePoint)
- New options to
New-DashboardReplacement
to allow for more complex replacements
- Make links without spaces
- Fix links to reports
- Fix for sorting of reports in menu (again)
- Remove not needed field
- Respect extension on cleanup of old html files
- Fix for sorting of reports in menu
- Fix for sorting descending when using limits
- Fix for primary calendar showing history reports
- Ignore XML files when generating reports
New-DashboardLimit
now works on global level
- Removed -Force from
Start-TheDashboard
as it was not really useful causing inconsistent reports
- Added
New-DashboardLimit
to limit number of reports generated and allow history reports
- Reworked few things making it easier to use and better overall
- Fixes an issue with file being overwritten with pages with same name
- Fixes a bug when using old configuration that would not regenerate all HTML files
- Allow new way to define the dashboard using
New-Dashboard*
cmdlets
Start-TheDashboard -HTMLPath "$PSScriptRoot\Reports\Index.html" -Logo 'https://evotec.xyz/wp-content/uploads/2021/04/Logo-evotec-bb.png' -ShowHTML {
$Today = Get-Date
$Forest = Get-ADForest
$AllUsers = $Forest.Domains | ForEach-Object { Get-ADUser -Filter * -Properties 'DistinguishedName' -Server $_ }
$AllComputers = $Forest.Domains | ForEach-Object { Get-ADComputer -Filter * -Properties 'DistinguishedName' -Server $_ }
$AllGroups = $Forest.Domains | ForEach-Object { Get-ADGroup -Filter * -Server $_ }
$AllGroupPolicies = $Forest.Domains | ForEach-Object { Get-GPO -All -Domain $_ }
New-DashboardGage -Label 'Users' -MinValue 0 -MaxValue 500 -Value $AllUsers.Count -Date $Today
New-DashboardGage -Label 'Computers' -MinValue 0 -MaxValue 200 -Value $AllComputers.Count -Date $Today
New-DashboardGage -Label 'Groups' -MinValue 0 -MaxValue 200 -Value $AllGroups.Count -Date $Today
New-DashboardGage -Label 'Group Policies' -MinValue 0 -MaxValue 200 -Value $AllGroupPolicies.Count -Date $Today
New-DashboardFolder -Name 'ADEssentials' -IconBrands gofore -UrlName 'ADEssentials' -Path $PSScriptRoot\Reports\ADEssentials {
New-DashboardReplacement -SplitOn "_" -AddSpaceToName
New-DashboardReplacement -BeforeSplit @{
'GPOZaurr' = ''
'PingCastle-' = ''
'Testimo' = ''
'GroupMembership-' = ''
'_Regional' = ' Regional'
}
New-DashboardReplacement -AfterSplit @{
'G P O' = 'GPO'
'L A P S' = 'LAPS'
'L D A P' = 'LDAP'
'K R B G T' = 'KRBGT'
'I N S' = 'INS'
'I T R X X' = 'ITRXX'
'A D' = 'AD'
}
} -DisableGlobalReplacement
New-DashboardFolder -Name 'GPOZaurr' -IconBrands gofore -UrlName 'GPOzaurr' -Path $PSScriptRoot\Reports\GPOZaurr
New-DashboardReplacement -SplitOn "_" -AddSpaceToName
New-DashboardReplacement -BeforeSplit @{ 'GPOZaurr' = '' }
New-DashboardReplacement -BeforeSplit @{ 'GroupMembership-' = ''; '_Regional' = ' Regional' }
New-DashboardReplacement -BeforeSplit @{
'GPOZaurr' = ''
'PingCastle-' = ''
'Testimo' = ''
}
New-DashboardReplacement -AfterSplit @{ 'G P O' = 'GPO' }, @{ 'L D A P' = 'LDAP' }
New-DashboardReplacement -AfterSplit @{ 'L A P S' = 'LAPS' }, @{ 'K R B G T' = 'KRBGT' }
New-DashboardReplacement -AfterSplit @{ 'A D' = 'AD' }, @{ 'I T R X X' = 'ITRXX' }, @{ 'I N S' = 'INS' }
} -StatisticsPath "$PSScriptRoot\Dashboard.xml" -Verbose -Online -Force
- Better handling of naming when not doing replacements
- Rearranged some code to make it work nicer
- Added some more output
- Fixes ordering of reports in menu - should be alphabetical from now on
- Improves performance of report generation by generating only new reports and not all reports
- Using the
-Force
flag will generate all reports. Keep in mind it can take very long time to generate all reports in some environments