Skip to content

Commit 88a5a4a

Browse files
authored
Merge pull request #223 from AsBuiltReport/dev
v0.9.9 public release
2 parents c38f7e8 + d318cb7 commit 88a5a4a

File tree

99 files changed

+2916
-1145
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

99 files changed

+2916
-1145
lines changed

.github/workflows/Release.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,6 @@ jobs:
2929
shell: pwsh
3030
run: |
3131
Install-Module -Name Diagrammer.Core -Repository PSGallery -Force
32-
- name: Install Diagrammer.Microsoft.AD module
33-
shell: pwsh
34-
run: |
35-
Install-Module -Name Diagrammer.Microsoft.AD -Repository PSGallery -Force
3632
- name: Test Module Manifest
3733
shell: pwsh
3834
run: |

AsBuiltReport.Microsoft.AD.Style.ps1

Lines changed: 2 additions & 2 deletions
Large diffs are not rendered by default.

AsBuiltReport.Microsoft.AD.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,15 @@
3535
"SitesInventory": true,
3636
"Trusts": true
3737
},
38-
"ExportDiagrams": false,
38+
"ExportDiagrams": true,
3939
"ExportDiagramsFormat": [
4040
"pdf"
4141
],
4242
"EnableDiagramSignature": false,
4343
"SignatureAuthorName": "",
4444
"SignatureCompanyName": "",
45-
"JobsTimeOut": 900
45+
"JobsTimeOut": 900,
46+
"DCStatusPingCount": 2
4647
},
4748
"InfoLevel": {
4849
"_comment_": "0 = Disabled, 1 = Enabled, 2 = Adv Summary, 3 = Detailed",

AsBuiltReport.Microsoft.AD.psd1

Lines changed: 2 additions & 7 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.8'
15+
ModuleVersion = '0.9.9'
1616

1717
# Supported PSEditions
1818
# CompatiblePSEditions = @()
@@ -64,15 +64,10 @@
6464
ModuleName = 'PScriboCharts';
6565
ModuleVersion = '0.9.0'
6666
},
67-
@{
68-
ModuleName = 'Diagrammer.Microsoft.AD';
69-
ModuleVersion = '0.2.18'
70-
},
7167
@{
7268
ModuleName = 'Diagrammer.Core';
73-
ModuleVersion = '0.2.35'
69+
ModuleVersion = '0.2.36.1'
7470
}
75-
7671
)
7772

7873
# Assemblies that must be loaded prior to importing this module

CHANGELOG.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,35 @@ 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.9] - 2026-01-16
11+
12+
### Added
13+
14+
- Add disclaimer warning to README.md about report usage and liability
15+
- Add option to control the ping count of the DC Test-Connection cmdlet
16+
17+
### Changed
18+
19+
- Improve error logging and handling for initial Forest and Domain discovery process
20+
- Update module version to `0.9.9`
21+
- Upgrade Diagrammer.Core module to version `0.2.36.1`
22+
- Improve overall code with pwsh best practices
23+
- Migrate Diagrammer.Microsoft.Ad diagrams to the main report
24+
- Enable export of diagrams by default
25+
- Updated the dcdiag section to include a 60-second timeout. This keeps the report from freezing if the diagnostic check takes too long.
26+
27+
28+
### Fixed
29+
30+
- Fix cannot index into a null array error when generating Trusts diagrams for domains with no trusts defined
31+
- Fix Trusts diagram generation when multiple domains are present in the report
32+
- Fix issue with Global:Report variable
33+
34+
### Removed
35+
36+
- Remove Diagrammer.Microsoft.Ad module dependency
37+
- Remove Image preview message from diagrams sections
38+
1039
## [0.9.8] - 2025-12-09
1140

1241
### Added

Language/en-US/MicrosoftAD.psd1

Lines changed: 106 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
ReportModuleInfo6 = - Getting dependency information:
1212
ProjectWebsite = - Please refer to the AsBuiltReport.Microsoft.AD github website for more detailed information about this project.
1313
CommunityProject = - AsBuiltReport is a community-maintained open source project. It has no sponsorship, endorsement, or affiliation with any technology vendors, their employees, or affiliates.
14-
DISCLAIMER = The information in this report has been gathered through automation and direct observation. The recommendations and conclusions are based on industry best practices, technical expertise, and empirical data. While comprehensive, this assessment may not cover all possible scenarios or configurations. Implementation of these recommendations should be carried out by qualified personnel with the appropriate knowledge and experience. The author(s) assume no responsibility for any damages, including but not limited to loss of business profits, business interruption, loss of data, or other financial losses resulting from the use of or reliance on this report.
14+
DISCLAIMER = This report combines automated data analysis with professional observations. While these findings offer expert insight, this assessment is not exhaustive. All recommendations should be reviewed and implemented by qualified personnel. The author(s) assume no liability for any damages-including lost profits, business interruptions, or financial losses-arising from the use of this report or its recommendations.
1515
'@
1616

1717
# Get-AbrADForest
@@ -39,5 +39,110 @@
3939
AnonymousAccess = Anonymous Access (dsHeuristics)
4040
AnonymousAccessEnabled = Enabled
4141
AnonymousAccessDisabled = Disabled
42+
'@
43+
NewADDiagram = ConvertFrom-StringData @'
44+
genMain = Please wait while the {0} diagram is being generated
45+
gereratingDiag = Generating {0} diagram
46+
diagramSignature = No diagram signature specified
47+
genDiagramSignature = Generating Signature SubGraph
48+
genDiagramMain = Generating Main SubGraph
49+
osType = {0} is required to run the Diagrammer.Microsoft.AD. Run 'Install-WindowsFeature -Name '{0}'' to install the required modules. https://github.com/rebelinux/Diagrammer.Microsoft.AD
50+
outputfolderpatherror = OutputFolderPath {0} is not a valid folder path.
51+
runasadmin = The requested operation requires elevation: Run PowerShell console as administrator
52+
signaturerequirements = New-AbrADDiagram: AuthorName and CompanyName must be defined if the Signature option is specified
53+
psSessionClear = Clearing PowerShell Session {0}
54+
psSessionSetup = Setting PowerShell Session for {0}
55+
unableToConnect = Unable to connect to {0} Domain Controller Server.
56+
InfoProject = - Please refer to the Diagrammer.Microsoft.AD github website for more detailed information about this project.
57+
InfoDocumentation = - Documentation: https://github.com/rebelinux/Diagrammer.Microsoft.AD
58+
InfoIssues = - Issues or bug reporting: https://github.com/rebelinux/Diagrammer.Microsoft.AD/issues
59+
InfoCommunity = - This project is community maintained and has no sponsorship from Microsoft, its employees or any of its affiliates.
60+
InfoVersion = - {0} v{1} is currently installed.
61+
WarningUpdate = - {0} v{1} update is available.
62+
WarningUpdateCommand = - Run 'Update-Module -Name {0} -Force' to install the latest version.
63+
64+
forestgraphlabel = Active Directory Forest Architecture
65+
domaingraphlabel = Active Directory Domain Architecture
66+
emptyForest = No Forest Infrastructure available to diagram
67+
fDomainNaming = Domain Naming
68+
fSchema = Schema
69+
fFuncLevel = Functional Level
70+
fInfrastructure = Infrastructure
71+
fPDC = PDC Emulator
72+
fRID = RID
73+
fSchemaVersion = Schema Version
74+
fForestRoot = Forest Root
75+
fForestRootInfo = Forest Root Information
76+
fForestRootLabel = Forest Root
77+
fChildDomains = Child Domains
78+
fNoChildDomains = No Child Domains
79+
80+
connectingDomain = Collecting Microsoft AD Domain information from {0}.
81+
connectingForest = Collecting Microsoft AD Forest information from {0}.
82+
forestRootInfo = Forest Root Information
83+
84+
DiagramLabel = Child Domains
85+
contiguous = Contiguous
86+
noncontiguous = Non Contiguous
87+
osTypelast = Unable to validate if {0} is installed.
88+
DiagramDummyLabel = Child Domains
89+
NoChildDomain = No Child Domains
90+
funcLevel = <B>Func Level</B>: {0}
91+
schemaVersion = <B>Schema Ver</B>: {0}
92+
infrastructure = <B>Infrastructure:</B> {0}
93+
rID = <B>RID:</B> {0}
94+
pdcEmulator= <B>PDC Emulator:</B> {0}
95+
schema = <B>Schema:</B> {0}
96+
domainNaming = <B>Domain Naming:</B> {0}
97+
fsmoRoles = FSMO Roles
98+
MicrosoftLogo = Microsoft Logo
99+
100+
SitesDiagramDummyLabel = Sites
101+
sitesgraphlabel = Active Directory Site Topology
102+
sitesinventorygraphlabel = Active Directory Site Inventory
103+
NoSites = No Site Topology
104+
NoSiteSubnet = No Site Subnets
105+
siteLinkCost = Site Link Cost
106+
siteLinkFrequency = Site Link Frequency
107+
siteLinkFrequencyMinutes = minutes
108+
siteLinkName = Site Link
109+
siteLinkNameInterSiteTP = Site Link Protocol
110+
NoSiteDC = No Site Domain Controllers
111+
emptySites = No Site topology available to diagram
112+
connectingSites = Collecting Microsoft AD Sites information from {0}.
113+
buildingSites = Building Microsoft AD Sites diagram from {0}.
114+
115+
NoTrusts = No Trusts Topology
116+
emptyTrusts = No Trust topology available to diagram
117+
connectingSTrusts = Collecting Microsoft AD Trusts information from {0}.
118+
genDiagTrust = Generating Trusts Diagram
119+
trustsDiagramLabel = Active Directory Domains and Trusts
120+
buildingTrusts = Building Microsoft AD Trust diagram from {0}.
121+
trustDirection = Direction
122+
trustType = Flavor
123+
TrustAttributes = Type
124+
AuthenticationLevel = Authentication
125+
TrustRelationships = Trust Relationships
126+
127+
Base64Output = Displaying Base64 string
128+
DiagramOutput = '{0}' diagram file '{1}' has been saved to '{2}'
129+
130+
caDiagramLabel = Active Directory Certificate Authority
131+
caStdRootCA = Standalone Root CA
132+
caEntRootCA = Enterprise Root CA
133+
caEntSubCA = Enterprise Subordinate CA
134+
caEnterpriseCA = Enterprise CA
135+
caStandaloneCA = Standalone CA
136+
caSubordinateCA = Subordinate CA
137+
NoCA = No Certificate Authority Infrastructure
138+
caNotBefore = Not Before
139+
caNotAfter = Not After
140+
caType = Type
141+
caRootCaIssuer = Root CA Issuer
142+
caDnsName = Dns Name
143+
144+
DomainControllers = Domain Controllers
145+
Sites = Sites
146+
Subnets = Subnets
42147
'@
43148
}

Language/es-ES/MicrosoftAD.psd1

Lines changed: 108 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
ReportModuleInfo6 = - Obteniendo información de dependencias:
1212
ProjectWebsite = - Por favor consulte el sitio web de github de AsBuiltReport.Microsoft.AD para obtener información más detallada sobre este proyecto.
1313
CommunityProject = - AsBuiltReport es un proyecto de código abierto mantenido por la comunidad. No tiene patrocinio, respaldo o afiliación con ningún proveedor de tecnología, sus empleados o afiliados.
14-
DISCLAIMER = La información en este informe ha sido recopilada mediante automatización y observación directa. Las recomendaciones y conclusiones se basan en las mejores prácticas de la industria, experiencia técnica y datos empíricos. Aunque es exhaustivo, esta evaluación puede no cubrir todos los posibles escenarios o configuraciones. La implementación de estas recomendaciones debe ser realizada por personal calificado con el conocimiento y la experiencia adecuados. El(los) autor(es) no asumen ninguna responsabilidad por daños, incluidos, entre otros, la pérdida de beneficios comerciales, interrupción del negocio, pérdida de datos u otras pérdidas financieras derivadas del uso o la confianza en este informe.
14+
DISCLAIMER = Este informe combina el análisis automatizado de datos con observaciones profesionales. Si bien estos hallazgos ofrecen una perspectiva experta, esta evaluación no es exhaustiva. Todas las recomendaciones deben ser revisadas e implementadas por personal cualificado. El/los autor(es) no asumen ninguna responsabilidad por daños, incluyendo lucro cesante, interrupciones del negocio o pérdidas financieras derivadas del uso de este informe o sus recomendaciones.
1515
'@
1616

1717
# Get-AbrADForest
@@ -39,5 +39,112 @@
3939
AnonymousAccess = Acceso Anónimo (dsHeuristics)
4040
AnonymousAccessEnabled = Habilitado
4141
AnonymousAccessDisabled = Deshabilitado
42+
'@
43+
NewADDiagram = ConvertFrom-StringData @'
44+
genMain = Por favor espere mientras se genera el diagrama: {0}
45+
gereratingDiag= Generando diagrama de {0}
46+
diagramSignature = No se ha especificado la firma del diagrama
47+
genDiagramSignature = Generando Subgráfica de la firma
48+
genDiagramMain = Generando Subgráfica Principal
49+
osType = {0} es requerido para ejecutar Diagrammer.Microsoft.AD. Ejecute 'Install-WindowsFeature -Name '{0}'' para instalar los módulos requeridos. https://github.com/rebelinux/Diagrammer.Microsoft.AD
50+
outputfolderpatherror = OutputFolderPath {0} no es una ruta de carpeta válida.
51+
runasadmin = La operación solicitada requiere elevación: Ejecute la consola de PowerShell como administrador
52+
signaturerequirements = New-AbrADDiagram: AuthorName y CompanyName deben estar definidos si se especifica la opción de firma
53+
psSessionClear = Limpiando la sesión de PowerShell {0}
54+
psSessionSetup = Configurando la sesión de PowerShell para {0}
55+
unableToConnect = No se puede conectar al servidor de controlador de dominio {0}.
56+
InfoProject = - Informacion: Consulte el sitio web de Diagrammer.Microsoft.AD en GitHub para obtener información más detallada sobre este proyecto.
57+
InfoDocumentation = - Documentación: https://github.com/rebelinux/Diagrammer.Microsoft.AD
58+
InfoIssues = - Reporte de problemas o errores: https://github.com/rebelinux/Diagrammer.Microsoft.AD/issues
59+
InfoCommunity = - Este proyecto es mantenido por la comunidad y no cuenta con patrocinio de Microsoft, sus empleados o cualquiera de sus afiliados.
60+
InfoVersion = - {0} v{1} está actualmente instalado.
61+
WarningUpdate = - La actualización {0} v{1} está disponible.
62+
WarningUpdateCommand = - Ejecute 'Update-Module -Name {0} -Force' para instalar la última versión.
63+
64+
forestgraphlabel = Arquitectura del bosque de Active Directory
65+
domaingraphlabel = Arquitectura del dominio de Active Directory
66+
emptyForest = No hay infraestructura de bosque disponible para diagramar
67+
fDomainNaming = Nombres de dominio
68+
fSchema = Esquema
69+
fFuncLevel = Nivel funcional
70+
fInfrastructure = Infraestructura
71+
fPDC = Emulador PDC
72+
fRID = RID
73+
fSchemaVersion = Version del esquema
74+
fForestRoot = Raíz del bosque
75+
fForestRootInfo = Informació]on de la raí]iz del bosque
76+
fForestRootLabel = Raiz del bosque
77+
fChildDomains = Dominios secundarios
78+
fNoChildDomains = No hay dominios secundarios
79+
80+
connectingDomain = Recopilando información del dominio de Microsoft AD desde {0}.
81+
connectingForest = Recopilando información del bosque de Microsoft AD desde {0}.
82+
forestRootInfo = Información de la raíz del bosque
83+
84+
DiagramLabel = Dominios secundarios
85+
contiguous = Contiguo
86+
noncontiguous = No contiguo
87+
osTypelast = No se puede validar si {0} está instalado.
88+
DiagramDummyLabel = Dominios secundarios
89+
NoChildDomain = No hay dominios secundarios
90+
funcLevel = <B>Nivel funcional</B>: {0}
91+
schemaVersion = <B>Versión del esquema</B>: {0}
92+
infrastructure = <B>Infraestructura:</B> {0}
93+
rID = <B>RID:</B> {0}
94+
pdcEmulator= <B>Emulador PDC:</B> {0}
95+
schema = <B>Esquema:</B> {0}
96+
domainNaming = <B>Nombres de dominio:</B> {0}
97+
fsmoRoles = Roles FSMO
98+
MicrosoftLogo = Logo de Microsoft
99+
100+
SitesDiagramDummyLabel = Sitios
101+
sitesgraphlabel = Topologia del sitio de Active Directory
102+
sitesinventorygraphlabel = Inventario del sitio de Active Directory
103+
NoSites = No hay topologia de sitio
104+
NoSiteSubnet = No hay subredes de sitio
105+
siteLinkCost = Costo del enlace del sitio
106+
siteLinkFrequency = Frecuencia del enlace del sitio
107+
siteLinkFrequencyMinutes = minutos
108+
siteLinkName = Enlace del sitio
109+
siteLinkNameInterSiteTP = Protocolo del enlace del sitio
110+
NoSiteDC = No hay controladores de dominio del sitio
111+
emptySites = No hay topologia de sitio disponible para diagramar
112+
connectingSites = Recopilando información de sitios de Microsoft AD desde {0}.
113+
buildingSites = Construyendo diagrama de sitios de Microsoft AD desde {0}.
114+
115+
NoTrusts = No hay topologia de confianza
116+
emptyTrusts = No hay topologia de confianza disponible para diagramar
117+
connectingSTrusts = Recopilando información de confianza de Microsoft AD desde {0}.
118+
genDiagTrust = Generando diagrama de confianzas
119+
trustsDiagramLabel = Dominios y confianzas de Active Directory
120+
buildingTrusts = Construyendo diagrama de confianza de Microsoft AD desde {0}.
121+
trustDirection = Direccion
122+
trustType = Forma
123+
TrustAttributes = Tipo
124+
AuthenticationLevel = Autenticacion
125+
TrustRelationships = Relaciones de confianza
126+
127+
128+
129+
Base64Output = Mostrando cadena Base64
130+
DiagramOutput = El diagrama de {0} '{1}' se ha guardado en '{2}'
131+
132+
caDiagramLabel = Autoridad de Certificacion de Active Directory
133+
caStdRootCA = Autoridad de Certificacion Raiz Independiente
134+
caEntRootCA = Autoridad de Certificacion Raiz Empresarial
135+
caEntSubCA = Autoridad de Certificacion Subordinada Empresarial
136+
caEnterpriseCA = CA Empresarial
137+
caStandaloneCA = CA Independiente
138+
caSubordinateCA = CA Subordinada
139+
NoCA = No hay infraestructura de Autoridad de Certificacion
140+
caNotBefore = No antes de
141+
caNotAfter = No despues de
142+
caType = Tipo
143+
caRootCaIssuer = Emisor de CA Raiz
144+
caDnsName = Nombre de DNS
145+
146+
DomainControllers = Controlador de dominio
147+
Sites = Sitios
148+
Subnets = Subred
42149
'@
43150
}

0 commit comments

Comments
 (0)