WGU D522 | Task 1 | Python DNS Audit
PERFORMANCE ASSESSMENT MODEL REPORT
WGU D522
Python for IT Automation
Task 1: Automated Linux Device Inventory, Reachability,
and DNS Compromise Audit
Prepared by: [Student Name]
Student ID: [Student ID]
Repository URL: [WGU GitLab Repository URL]
Submission date: [Month Day, Year]
Important: This is an original model and implementation framework based on the
supplied scenario, not proof that the lab was completed. Replace every bracketed
field, sample value, and yellow evidence box with your own work. Verify the final
headings against the current rubric before submission.
Document status: Editable draft - laboratory validation required
Student-created evidence required | Replace all yellow placeholders before submission | 1
, WGU D522 | Task 1 | Python DNS Audit
Submission Readiness and Evidence Map
This report is deliberately organized around the workflow supplied for Task 1. Because the
official rubric text and lab files were not attached, the student must reconcile the labels
below with the current evaluation form and rename sections if the rubric uses different
alphanumeric headings.
Evidence the student must
Requirement Where addressed
supply
GitLab repository, clone,
Environment and repository
Section A dependency installation,
setup
successful commit/push
Actual inventory file,
B1 inventory parsing Section B terminal output showing
validated device records
Ping results from the
Connectivity verification Section C
assigned lab environment
Remote command output
B2 DNS audit Section D and detected DNS values for
assigned devices
A controlled failure plus
Error handling and logging Sections E-F
timestamped log/report files
Final source, requirements,
Code and repository Sections G-H and Appendix
README, commit history,
delivery A
repository URL
Pre-submission checklist
Replace all bracketed metadata and sample IP addresses with the values authorized by
the scenario.
Insert only your own unaltered screenshots. Each image should be readable at 100%
zoom and include a caption.
Run the final script in the designated WGU lab, preserve the actual terminal output, and
explain any deviation.
Remove unused optional remediation code if the task only authorizes auditing. Do not
restart services without explicit lab authorization.
Confirm that no password, access token, private key, or other secret is committed to
GitLab or shown in screenshots.
Student-created evidence required | Replace all yellow placeholders before submission | 2
, WGU D522 | Task 1 | Python DNS Audit
Use the exact rubric headings and repository naming conventions shown in the current
assessment instructions.
Executive Summary
The assigned Linux infrastructure required an automated method to identify managed
devices, verify availability, retrieve interface-specific DNS settings, and flag systems whose
DNS configuration did not match the approved corporate baseline. The proposed Python
utility reads a CSV inventory into a list of dictionaries, validates each record, executes an
operating-system-appropriate ping through subprocess, and uses an SSH session to run
resolvectl status on the assigned interface. The returned text is parsed for IPv4 and IPv6
addresses. A device is classified as CLEAN only when the required corporate DNS set is
present and no unapproved DNS server is reported. Reachability, authentication, command,
parsing, and policy failures receive distinct statuses so that a failed connection is never
mislabeled as a clean system.
The program writes a timestamped CSV audit report and a detailed log. It continues after
device-level errors, validates untrusted input, applies connection and command timeouts,
verifies SSH host keys by default, and obtains credentials at runtime rather than storing them
in source control. The design is read-only unless the student separately enables an explicitly
authorized remediation workflow.
Assumptions and student-specific values
Item Draft value Student action
Replace if the lab provides
Inventory filename devices.csv
another filename
Confirm per device or store
Target interface ens3
in CSV
Replace with the exact
Authorized DNS servers 10.10.10.10; 10.10.10.20
scenario baseline
Confirm SSH is enabled and
Remote protocol SSH via Paramiko allowed; otherwise adapt to
the supplied lab method
1 probe / platform-specific Retain or adjust to lab
Ping count/timeout
timeout requirements
Enable only if the official
Remediation Disabled
task expressly requires it
Student-created evidence required | Replace all yellow placeholders before submission | 3
PERFORMANCE ASSESSMENT MODEL REPORT
WGU D522
Python for IT Automation
Task 1: Automated Linux Device Inventory, Reachability,
and DNS Compromise Audit
Prepared by: [Student Name]
Student ID: [Student ID]
Repository URL: [WGU GitLab Repository URL]
Submission date: [Month Day, Year]
Important: This is an original model and implementation framework based on the
supplied scenario, not proof that the lab was completed. Replace every bracketed
field, sample value, and yellow evidence box with your own work. Verify the final
headings against the current rubric before submission.
Document status: Editable draft - laboratory validation required
Student-created evidence required | Replace all yellow placeholders before submission | 1
, WGU D522 | Task 1 | Python DNS Audit
Submission Readiness and Evidence Map
This report is deliberately organized around the workflow supplied for Task 1. Because the
official rubric text and lab files were not attached, the student must reconcile the labels
below with the current evaluation form and rename sections if the rubric uses different
alphanumeric headings.
Evidence the student must
Requirement Where addressed
supply
GitLab repository, clone,
Environment and repository
Section A dependency installation,
setup
successful commit/push
Actual inventory file,
B1 inventory parsing Section B terminal output showing
validated device records
Ping results from the
Connectivity verification Section C
assigned lab environment
Remote command output
B2 DNS audit Section D and detected DNS values for
assigned devices
A controlled failure plus
Error handling and logging Sections E-F
timestamped log/report files
Final source, requirements,
Code and repository Sections G-H and Appendix
README, commit history,
delivery A
repository URL
Pre-submission checklist
Replace all bracketed metadata and sample IP addresses with the values authorized by
the scenario.
Insert only your own unaltered screenshots. Each image should be readable at 100%
zoom and include a caption.
Run the final script in the designated WGU lab, preserve the actual terminal output, and
explain any deviation.
Remove unused optional remediation code if the task only authorizes auditing. Do not
restart services without explicit lab authorization.
Confirm that no password, access token, private key, or other secret is committed to
GitLab or shown in screenshots.
Student-created evidence required | Replace all yellow placeholders before submission | 2
, WGU D522 | Task 1 | Python DNS Audit
Use the exact rubric headings and repository naming conventions shown in the current
assessment instructions.
Executive Summary
The assigned Linux infrastructure required an automated method to identify managed
devices, verify availability, retrieve interface-specific DNS settings, and flag systems whose
DNS configuration did not match the approved corporate baseline. The proposed Python
utility reads a CSV inventory into a list of dictionaries, validates each record, executes an
operating-system-appropriate ping through subprocess, and uses an SSH session to run
resolvectl status on the assigned interface. The returned text is parsed for IPv4 and IPv6
addresses. A device is classified as CLEAN only when the required corporate DNS set is
present and no unapproved DNS server is reported. Reachability, authentication, command,
parsing, and policy failures receive distinct statuses so that a failed connection is never
mislabeled as a clean system.
The program writes a timestamped CSV audit report and a detailed log. It continues after
device-level errors, validates untrusted input, applies connection and command timeouts,
verifies SSH host keys by default, and obtains credentials at runtime rather than storing them
in source control. The design is read-only unless the student separately enables an explicitly
authorized remediation workflow.
Assumptions and student-specific values
Item Draft value Student action
Replace if the lab provides
Inventory filename devices.csv
another filename
Confirm per device or store
Target interface ens3
in CSV
Replace with the exact
Authorized DNS servers 10.10.10.10; 10.10.10.20
scenario baseline
Confirm SSH is enabled and
Remote protocol SSH via Paramiko allowed; otherwise adapt to
the supplied lab method
1 probe / platform-specific Retain or adjust to lab
Ping count/timeout
timeout requirements
Enable only if the official
Remediation Disabled
task expressly requires it
Student-created evidence required | Replace all yellow placeholders before submission | 3