Skip to content

Commit

Permalink
Merge pull request #95 from rebelinux/dev
Browse files Browse the repository at this point in the history
v0.7.12
  • Loading branch information
rebelinux authored May 23, 2023
2 parents e3a461b + 890d95c commit 098ff94
Show file tree
Hide file tree
Showing 12 changed files with 2,253 additions and 1,325 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/Release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
with:
# GitHub event payload
# https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#release
tweet-message: "[New Release] ${{ github.event.repository.name }} ${{ github.event.release.tag_name }}! Check out what's new! ${{ github.event.release.html_url }} #Microsoft #ActiveDirectory #AsBuiltReport #PowerShell #MVPBuzz #cybersecurity #infosec"
tweet-message: "[New Release] ${{ github.event.repository.name }} ${{ github.event.release.tag_name }}! Check out what's new! ${{ github.event.release.html_url }} #Microsoft #ActiveDirectory #AsBuiltReport #PowerShell #MicrosoftMVP #MVPBuzz #cybersecurity #infosec"
env:
TWITTER_CONSUMER_API_KEY: ${{ secrets.TWITTER_CONSUMER_API_KEY }}
TWITTER_CONSUMER_API_SECRET: ${{ secrets.TWITTER_CONSUMER_API_SECRET }}
Expand Down
4 changes: 2 additions & 2 deletions AsBuiltReport.Microsoft.AD.Style.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,10 @@ if (!($ReportConfig.Report.ShowCoverPageImage)) {
}
if ($Orientation -eq 'Portrait') {
BlankLine -Count 11
$LineCount = 32 + $LineCount
$LineCount = 23 + $LineCount
} else {
BlankLine -Count 7
$LineCount = 15 + $LineCount
$LineCount = 9 + $LineCount
}

# Cover Page Image
Expand Down
7 changes: 0 additions & 7 deletions AsBuiltReport.Microsoft.AD.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
"_comment_": "0 = Disabled, 1 = Enabled, 2 = Adv Summary, 3 = Detailed",
"Forest": 1,
"Domain": 1,
"DHCP": 0,
"DNS": 0,
"CA": 0
},
Expand Down Expand Up @@ -48,12 +47,6 @@
"DP": true,
"Zones": true
},
"DHCP": {
"Summary": true,
"Credential": true,
"Statistics": true,
"BP": true
},
"CA": {
"Status": true,
"Statistics": true
Expand Down
27 changes: 27 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# :arrows_clockwise: Microsoft AD As Built Report Changelog

## [0.7.12] - 2023-05-23

### Changed

- Removed DHCP section (migrated to AsBuiltReport.Microsoft.DHCP)
- Disabled DNS & CA section by default

## [0.7.11] - 2023-03-09

### Added
Expand All @@ -21,6 +28,26 @@

### Fixed

- [#81](https://github.com/AsBuiltReport/AsBuiltReport.Microsoft.AD/issues/81)
### Added

- Added section for Local Administrator Password Solution.

### Changed

- Improved bug and feature request templates
- Changed default logo from Microsoft to the AsBuiltReport logo due to licensing requirements
- Changed default report style font to 'Segoe Ui' to align with Microsoft guidelines
- Changed Required Modules to AsBuiltReport.Core v1.3.0
- Changed Infolevel 1 table structure on the following section:
- Hardware Inventory
- Fined Grained Password Policies
- Group Managed Service Accounts (GMSA)
- Sites Replication Connection
- Domain and Trusts

### Fixed

- [#81](https://github.com/AsBuiltReport/AsBuiltReport.Microsoft.AD/issues/81)

## [0.7.10] - 2022-10-28
Expand Down
8 changes: 2 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,15 +65,14 @@ This report is compatible with the following PowerShell versions;

## :wrench: System Requirements
<!-- ********** Update system requirements ********** -->
PowerShell 5.1 or PowerShell 7, and the following PowerShell modules are required for generating a Microsoft AD As Built report.
PowerShell 5.1, and the following PowerShell modules are required for generating a Microsoft AD As Built report.

- [AsBuiltReport.Microsoft.AD Module](https://www.powershellgallery.com/packages/AsBuiltReport.Microsoft.AD/)
- [PScriboCharts Module](https://github.com/iainbrighton/PScriboCharts)
- [ActiveDirectory Module](https://docs.microsoft.com/en-us/powershell/module/activedirectory/?view=windowsserver2019-ps)
- [ADCSAdministration Module](https://learn.microsoft.com/en-us/powershell/module/adcsadministration/?view=windowsserver2019-ps)
- [PSPKI Module](https://www.powershellgallery.com/packages/PSPKI/3.7.2)
- [GroupPolicy Module](https://docs.microsoft.com/en-us/powershell/module/grouppolicy/?view=windowsserver2019-ps)
- [DhcpServer Module](https://docs.microsoft.com/en-us/powershell/module/dhcpserver/?view=windowsserver2019-ps)
- [DnsServer Module](https://docs.microsoft.com/en-us/powershell/module/dnsserver/?view=windowsserver2019-ps)

### Linux & macOS
Expand All @@ -97,7 +96,6 @@ Install-Module -Name AsBuiltReport.Microsoft.AD
Install-WindowsFeature -Name RSAT-AD-PowerShell
Install-WindowsFeature -Name RSAT-ADCS,RSAT-ADCS-mgmt
Install-WindowsFeature -Name RSAT-DNS-Server
Install-WindowsFeature -Name RSAT-DHCP
Install-WindowsFeature -Name GPMC
```

Expand All @@ -110,7 +108,6 @@ Add-WindowsCapability -online -Name 'Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.
Add-WindowsCapability -Online -Name 'Rsat.CertificateServices.Tools~~~~0.0.1.0'
Add-WindowsCapability -online -Name 'Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0'
Add-WindowsCapability –online –Name 'Rsat.Dns.Tools~~~~0.0.1.0'
Add-WindowsCapability -Online -Name 'Rsat.DHCP.Tools~~~~0.0.1.0'
```

### GitHub
Expand Down Expand Up @@ -191,7 +188,6 @@ The table below outlines the default and maximum **InfoLevel** settings for each
| Forest | 1 | 1 |
| Domain | 1 | 3 |
| DNS | 0 | 2 |
| DHCP | 0 | 2 |
| CA | 0 | 3 |

### Healthcheck
Expand Down Expand Up @@ -222,5 +218,5 @@ PS C:\> New-AsBuiltReport -Report Microsoft.AD -Target 'admin-dc-01v.contoso.loc

- Issues with WinRM when using the IP address instead of the "Fully Qualified Domain Name".
- This project relies heavily on the remote connection function through WinRM. For this reason the use of a Windows 10 client is specifically used as a jumpbox.
- The report provides the ability to extract the configuration of the DHCP/DNS services. In order to obtain this information it is required that the servers running these services have powershell modules installed for each service (RSAT-DHCP, RSAT-DNS-Server, RSAT-AD-PowerShell).
- The report provides the ability to extract the configuration of the DHCP/DNS services. In order to obtain this information it is required that the servers running these services have powershell modules installed for each service (RSAT-DNS-Server & RSAT-AD-PowerShell).
- This report assumes that the DNS Server service is running on the same server where Domain Controller is running (Cohost).
3,478 changes: 2,210 additions & 1,268 deletions Samples/Sample Microsoft AD As Built Report.html

Large diffs are not rendered by default.

Binary file modified Samples/Sample Microsoft AD As Built Report.pdf
Binary file not shown.
4 changes: 2 additions & 2 deletions Src/Private/Get-AbrADDNSInfrastructure.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -249,8 +249,8 @@ function Get-AbrADDNSInfrastructure {
'Refresh Interval' = ConvertTo-EmptyToFiller $DNSSetting.RefreshInterval
'Scavenging Interval' = ConvertTo-EmptyToFiller $DNSSetting.ScavengingInterval
'Last Scavenge Time' = Switch ($DNSSetting.LastScavengeTime) {
"" {"-"; break}
$Null {"-"; break}
"" {"--"; break}
$Null {"--"; break}
default {ConvertTo-EmptyToFiller ($DNSSetting.LastScavengeTime.ToString("MM/dd/yyyy"))}
}
'Scavenging State' = Switch ($DNSSetting.ScavengingState) {
Expand Down
4 changes: 2 additions & 2 deletions Src/Private/Get-AbrADDNSZone.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -263,8 +263,8 @@ function Get-AbrADDNSZone {
'Refresh Interval' = ConvertTo-EmptyToFiller $Settings.RefreshInterval
'NoRefresh Interval' = ConvertTo-EmptyToFiller $Settings.NoRefreshInterval
'Available For Scavenge' = Switch ($Settings.AvailForScavengeTime) {
"" {"-"; break}
$Null {"-"; break}
"" {"--"; break}
$Null {"--"; break}
default {(ConvertTo-EmptyToFiller ($Settings.AvailForScavengeTime).ToUniversalTime().toString("r")); break}
}
}
Expand Down
2 changes: 1 addition & 1 deletion Src/Private/Get-AbrADSite.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ function Get-AbrADSite {
'Site Name' = $Item.Name
'Description' = ConvertTo-EmptyToFiller $Item.Description
'Subnets' = Switch (($SubnetArray).count) {
0 {"-"}
0 {"--"}
default {$SubnetArray}
}
'Creation Date' = $Item.createTimeStamp.ToShortDateString()
Expand Down
10 changes: 5 additions & 5 deletions Src/Private/SharedUtilsFunctions.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ function ConvertTo-TextYN {
)

switch ($TEXT) {
"" {"-"; break}
$Null {"-"; break}
"" {"--"; break}
$Null {"--"; break}
"True" {"Yes"; break}
"False" {"No"; break}
default {$TEXT}
Expand Down Expand Up @@ -112,7 +112,7 @@ function Invoke-DcDiag {
function ConvertTo-EmptyToFiller {
<#
.SYNOPSIS
Used by As Built Report to convert empty culumns to "-".
Used by As Built Report to convert empty culumns to "--".
.DESCRIPTION
.NOTES
Expand All @@ -137,8 +137,8 @@ function ConvertTo-EmptyToFiller {
)

switch ($TEXT) {
"" {"-"; break}
$Null {"-"; break}
"" {"--"; break}
$Null {"--"; break}
"True" {"Yes"; break}
"False" {"No"; break}
default {$TEXT}
Expand Down
32 changes: 1 addition & 31 deletions Src/Public/Invoke-AsBuiltReport.Microsoft.AD.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ function Invoke-AsBuiltReport.Microsoft.AD {
.DESCRIPTION
Documents the configuration of Microsoft AD in Word/HTML/Text formats using PScribo.
.NOTES
Version: 0.7.11
Version: 0.7.12
Author: Jonathan Colon
Twitter: @jcolonfzenpr
Github: rebelinux
Expand Down Expand Up @@ -56,15 +56,12 @@ function Invoke-AsBuiltReport.Microsoft.AD {
Get-RequiredFeature -Name 'Rsat.CertificateServices.Tools~~~~0.0.1.0' -OSType $OSType
Get-RequiredFeature -Name 'Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0' -OSType $OSType
Get-RequiredFeature -Name 'Rsat.Dns.Tools~~~~0.0.1.0' -OSType $OSType
Get-RequiredFeature -Name 'Rsat.DHCP.Tools~~~~0.0.1.0' -OSType $OSType

}
if ($OSType -eq 'Server' -or $OSType -eq 'DomainController') {
Get-RequiredFeature -Name RSAT-AD-PowerShell -OSType $OSType
Get-RequiredFeature -Name RSAT-ADCS -OSType $OSType
Get-RequiredFeature -Name RSAT-ADCS-mgmt -OSType $OSType
Get-RequiredFeature -Name RSAT-DNS-Server -OSType $OSType
Get-RequiredFeature -Name RSAT-DHCP -OSType $OSType
Get-RequiredFeature -Name GPMC -OSType $OSType
}

Expand Down Expand Up @@ -290,33 +287,6 @@ function Invoke-AsBuiltReport.Microsoft.AD {
}
}
}
#---------------------------------------------------------------------------------------------#
# DHCP Section #
#---------------------------------------------------------------------------------------------#

Try {
$Global:DHCPinDomain = Get-DhcpServerInDC -CimSession $TempCIMSession
} Catch {
throw "Unable to get DHCP discovery from $System"
}

if ($InfoLevel.DHCP -ge 1 -and $DHCPinDomain ) {
Section -Style Heading1 "DHCP Configuration" {
foreach ($Domain in ($OrderedDomains.split(" "))) {
if ($Domain -notin $Options.Exclude.Domains) {
try {
$DomainInfo = Invoke-Command -Session $TempPssSession {Get-ADDomain $using:Domain -ErrorAction Stop}
if ($DomainInfo) {
Get-AbrDHCPReport -Domain $DomainInfo
}
} catch {
Write-PScriboMessage -IsWarning "Unable to retreive $($Domain) information. Removing Domain from report"
}
}
}
}

}

#---------------------------------------------------------------------------------------------#
# Certificate Authority Section #
Expand Down

0 comments on commit 098ff94

Please sign in to comment.