Skip to content

Commit aacc79d

Browse files
authored
Merge pull request #204 from AsBuiltReport/dev
v0.9.4] public release
2 parents e82640f + fe1ceeb commit aacc79d

38 files changed

+10021
-4743
lines changed

.github/workflows/PSScriptAnalyzerSettings.psd1

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
@{
22
ExcludeRules = @(
33
'PSUseToExportFieldsInManifest'
4+
'PSAvoidUsingWriteHost'
45
)
56
Rules = @{
67
PSAvoidExclaimOperator = @{
@@ -12,5 +13,11 @@
1213
UseCorrectCasing = @{
1314
Enable = $true
1415
}
16+
PSAvoidUsingCmdletAliases = @{
17+
Enable = $true
18+
}
19+
PSUseConsistentWhitespace = @{
20+
Enable = $true
21+
}
1522
}
1623
}

.github/workflows/Release.yml

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -41,29 +41,29 @@ jobs:
4141
shell: pwsh
4242
run: |
4343
Publish-Module -Path ./ -NuGetApiKey ${{ secrets.PSGALLERY_API_KEY }} -Verbose
44-
tweet:
45-
needs: publish-to-gallery
46-
runs-on: ubuntu-latest
47-
steps:
48-
- uses: Eomm/why-don-t-you-tweet@v2
49-
# We don't want to tweet if the repository is not a public one
50-
if: ${{ !github.event.repository.private }}
51-
with:
52-
# GitHub event payload
53-
# https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#release
54-
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"
55-
env:
56-
TWITTER_CONSUMER_API_KEY: ${{ secrets.TWITTER_CONSUMER_API_KEY }}
57-
TWITTER_CONSUMER_API_SECRET: ${{ secrets.TWITTER_CONSUMER_API_SECRET }}
58-
TWITTER_ACCESS_TOKEN: ${{ secrets.TWITTER_ACCESS_TOKEN }}
59-
TWITTER_ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
60-
bsky-post:
61-
needs: publish-to-gallery
62-
runs-on: ubuntu-latest
63-
steps:
64-
- uses: zentered/bluesky-post-action@v0.1.0
65-
with:
66-
post: "[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"
67-
env:
68-
BSKY_IDENTIFIER: ${{ secrets.BSKY_IDENTIFIER }}
69-
BSKY_PASSWORD: ${{ secrets.BSKY_PASSWORD }}
44+
# tweet:
45+
# needs: publish-to-gallery
46+
# runs-on: ubuntu-latest
47+
# steps:
48+
# - uses: Eomm/why-don-t-you-tweet@v2
49+
# # We don't want to tweet if the repository is not a public one
50+
# if: ${{ !github.event.repository.private }}
51+
# with:
52+
# # GitHub event payload
53+
# # https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#release
54+
# 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"
55+
# env:
56+
# TWITTER_CONSUMER_API_KEY: ${{ secrets.TWITTER_CONSUMER_API_KEY }}
57+
# TWITTER_CONSUMER_API_SECRET: ${{ secrets.TWITTER_CONSUMER_API_SECRET }}
58+
# TWITTER_ACCESS_TOKEN: ${{ secrets.TWITTER_ACCESS_TOKEN }}
59+
# TWITTER_ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
60+
# bsky-post:
61+
# needs: publish-to-gallery
62+
# runs-on: ubuntu-latest
63+
# steps:
64+
# - uses: zentered/bluesky-post-action@v0.2.0
65+
# with:
66+
# post: "[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"
67+
# env:
68+
# BSKY_IDENTIFIER: ${{ secrets.BSKY_IDENTIFIER }}
69+
# BSKY_PASSWORD: ${{ secrets.BSKY_PASSWORD }}

.github/workflows/Stale.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: 'Close stale issues and PRs'
2+
on:
3+
schedule:
4+
- cron: '30 1 * * *'
5+
6+
jobs:
7+
stale:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- uses: actions/stale@v9
11+
with:
12+
stale-issue-message: 'This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.'
13+
days-before-stale: 30
14+
days-before-close: 7
15+
exempt-pr-labels: 'help wanted,enhancement,security,pinned'
16+
stale-pr-label: 'wontfix'
17+
stale-issue-label: 'wontfix'
18+
exempt-issue-labels: 'help wanted,enhancement,security,pinned'

AsBuiltReport.Microsoft.AD.json

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,26 @@
2121
"WinRMSSL": false,
2222
"WinRMFallbackToNoSSL": true,
2323
"WinRMSSLPort": 5986,
24-
"WinRMPort": 5985
24+
"WinRMPort": 5985,
25+
"EnableDiagrams": true,
26+
"EnableDiagramDebug": false,
27+
"DiagramTheme": "White",
28+
"DiagramObjDebug": false,
29+
"DiagramWaterMark": "",
30+
"DiagramType": {
31+
"CertificateAuthority": false,
32+
"Forest": false,
33+
"Sites": false,
34+
"SitesInventory": false,
35+
"Trusts": false
36+
},
37+
"ExportDiagrams": false,
38+
"ExportDiagramsFormat": [
39+
"png"
40+
],
41+
"EnableDiagramSignature": false,
42+
"SignatureAuthorName": "",
43+
"SignatureCompanyName": ""
2544
},
2645
"InfoLevel": {
2746
"_comment_": "0 = Disabled, 1 = Enabled, 2 = Adv Summary, 3 = Detailed",
@@ -56,12 +75,11 @@
5675
"DP": true,
5776
"Zones": true,
5877
"BestPractice": true
59-
6078
},
6179
"CA": {
6280
"Status": true,
6381
"Statistics": true,
6482
"BestPractice": true
6583
}
6684
}
67-
}
85+
}

AsBuiltReport.Microsoft.AD.psd1

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
RootModule = 'AsBuiltReport.Microsoft.AD.psm1'
1313

1414
# Version number of this module.
15-
ModuleVersion = '0.9.3'
15+
ModuleVersion = '0.9.4'
1616

1717
# Supported PSEditions
1818
# CompatiblePSEditions = @()
@@ -54,7 +54,7 @@
5454
RequiredModules = @(
5555
@{
5656
ModuleName = 'AsBuiltReport.Core';
57-
ModuleVersion = '1.4.2'
57+
ModuleVersion = '1.4.3'
5858
},
5959
@{
6060
ModuleName = 'PSPKI';
@@ -66,11 +66,11 @@
6666
},
6767
@{
6868
ModuleName = 'Diagrammer.Microsoft.AD';
69-
ModuleVersion = '0.2.8'
69+
ModuleVersion = '0.2.14'
7070
},
7171
@{
7272
ModuleName = 'Diagrammer.Core';
73-
ModuleVersion = '0.2.15'
73+
ModuleVersion = '0.2.24'
7474
}
7575

7676
)

CHANGELOG.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,45 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
##### This project is community maintained and has no sponsorship from Microsoft, its employees or any of its affiliates.
99

10+
## [0.9.4] - 2025-04-28
11+
12+
### Added
13+
14+
- Add a new section in Get-AbrDomainSection to retrieve and sort DCs while excluding specified ones, enhancing the overall structure and clarity of the script.
15+
- Add diagram options to configuration file for various sections.
16+
- Introduced Get-AbrDiagrammer function to generate diagrams in multiple formats.
17+
18+
### Changed
19+
20+
- Increase AsBuiltReport.Core to v1.4.3
21+
- Increase Diagrammer.Core minimum requirement
22+
- Increase Diagrammer.Microsoft.AD minumum requirement
23+
- Improve Get-ValidCimSession,Get-ValidPSSession to detect current connected DC
24+
- Reuse the WinRM session
25+
- Reuse the CIM session
26+
- Improve DNS settings retrieval by filtering only active network adapters in Get-AbrADDomainController function
27+
- Update Sample report
28+
- Improve Get-AbrADSite to handle cases where information cannot be collected from DCs, ensuring that the output remains informative and consistent.
29+
- Update existing functions to utilize new diagram features and handle domain status.
30+
- Improve error handling and reporting for offline domains and DCs.
31+
- Updated Get-AbrDNSSection to better handle domain status checks and improve logging clarity.
32+
- Refined Get-AbrDomainSection to ensure consistent domain information retrieval and improved error handling.
33+
- Updated Get-AbrADOU to utilize DNSRoot for domain references and improved error handling.
34+
- Modified Get-AbrADSecurityAssessment to enhance domain information retrieval and output formatting.
35+
- Enhanced Get-AbrADSiteReplication to streamline domain controller handling and improve logging messages.
36+
- Revised Get-AbrADTrust to ensure consistent use of DNSRoot and improved trust information retrieval.
37+
- Enhanced SharedUtilsFunctions to improve session management and error handling for WinRM connections.
38+
- Get-ValidCIMSession
39+
- Get-ValidPSSession
40+
41+
### Fixed
42+
43+
- Fix issue with WinRM connection setup in Domain Controller section
44+
45+
### Removed
46+
47+
- Remove DCDiag section as it is not functioning properly
48+
1049
## [0.9.3] - 2025-02-21
1150

1251
### Added

README.md

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -172,18 +172,30 @@ The **Report** schema provides configuration of the Microsoft AD report informat
172172

173173
The **Options** schema allows certain options within the report to be toggled on or off.
174174

175-
| Sub-Schema | Setting | Default | Description |
176-
| ----------------------- | ------------------ | --------- | ------------------------------------------------------------------------------------------------------------------------- |
177-
| ShowDefinitionInfo | true/false | False | Toggle to enable/disable Microsoft AD term explanations |
178-
| PSDefaultAuthentication | Negotiate/Kerberos | Negotiate | Allow to set the value of the PSRemoting authentication method. For Workgroup authentication Negotiate value is required. |
179-
| Exclude.Domains | Array List | Empty | Allow to filter on AD Domain FQDN |
180-
| Exclude.DCs | Array List | Empty | Allow to filter on AD Domain Controller Server FQDN. |
181-
| Include.Domains | Array List | Empty | Allow only a list of Active Directory Domain Controller FQDN to document. |
182-
| Include.DCs | Array List | Empty | Allow only a list of Active Directory Domain FQDN to document. |
183-
| WinRMSSL | Bool | True | Allow to enable SSL for WINRM connection |
184-
| WinRMFallbackToNoSSL | Bool | True | Allow to fallback to WINRM without SSL |
185-
| WinRMSSLPort | Int | 5986 | Allow to set tcp port for WinRM over SSL |
186-
| WinRMPort | Int | 5985 | Allow to set tcp port for WinRM |
175+
| Sub-Schema | Setting | Default | Description |
176+
| ----------------------- | ------------------ | --------- | ----------------------------------------------------------------------------- |
177+
| DiagramTheme | string | White | Set the diagram theme (Black/White/Neon) |
178+
| DiagramType | true / false | true | Toggle to enable/disable the export of individual diagram diagrams |
179+
| DiagramWaterMark | string | empty | Set the diagram watermark |
180+
| EnableDiagrams | true / false | false | Toggle to enable/disable infrastructure diagrams |
181+
| EnableDiagramsDebug | true / false | false | Toggle to enable/disable diagram debug option |
182+
| EnableDiagramSignature | true / false | false | Toggle to enable/disable diagram signature (bottom right corner) |
183+
| EnableHardwareInventory | true / false | false | Toggle to enable/disable hardware information |
184+
| ExportDiagrams | true / false | true | Toggle to enable/disable diagram export option |
185+
| ExportDiagramsFormat | string array | png | Set the format used to export the infrastructure diagram (dot, png, pdf, svg) |
186+
| Exclude.DCs | Array List | Empty | Allow to filter on AD Domain Controller Server FQDN. |
187+
| Exclude.Domains | Array List | Empty | Allow to filter on AD Domain FQDN |
188+
| Include.DCs | Array List | Empty | Allow only a list of Active Directory Domain FQDN to document. |
189+
| Include.Domains | Array List | Empty | Allow only a list of Active Directory Domain Controller FQDN to document. |
190+
| PSDefaultAuthentication | Negotiate/Kerberos | Negotiate | Allow to set the value of the PSRemoting authentication method. |
191+
| | | | For Workgroup authentication Negotiate value is required. |
192+
| ShowDefinitionInfo | true/false | False | Toggle to enable/disable Microsoft AD term explanations |
193+
| SignatureAuthorName | string | empty | Set the signature author name |
194+
| SignatureCompanyName | string | empty | Set the signature company name |
195+
| WinRMFallbackToNoSSL | Bool | True | Allow to fallback to WINRM without SSL |
196+
| WinRMPort | Int | 5985 | Allow to set tcp port for WinRM |
197+
| WinRMSSL | Bool | True | Allow to enable SSL for WINRM connection |
198+
| WinRMSSLPort | Int | 5986 | Allow to set tcp port for WinRM over SSL |
187199

188200

189201
### InfoLevel

0 commit comments

Comments
 (0)