{"id":22951543,"url":"https://github.com/lifailon/psdomaintest","last_synced_at":"2026-01-28T23:02:36.130Z","repository":{"id":239804567,"uuid":"800744312","full_name":"Lifailon/PSDomainTest","owner":"Lifailon","description":"PowerShell module (cli) to test DNS records of any domain using ZoneMaster api.","archived":false,"fork":false,"pushed_at":"2024-05-15T09:43:23.000Z","size":3004,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"rsa","last_synced_at":"2025-10-20T05:38:23.848Z","etag":null,"topics":["api","dns","dns-check","dns-record-checker","dns-test","domain","domain-checker","domain-testing","html","html-report","json-api","json-report","powershell","powershell-module","rest","rest-api","restful-api","test","testing","zonemaster"],"latest_commit_sha":null,"homepage":"https://www.nuget.org/packages/PSDomainTest","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Lifailon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-14T23:08:48.000Z","updated_at":"2025-03-06T08:17:04.000Z","dependencies_parsed_at":"2024-05-15T14:03:26.233Z","dependency_job_id":"ec8336f4-467c-42fb-8052-22ebe63540ed","html_url":"https://github.com/Lifailon/PSDomainTest","commit_stats":null,"previous_names":["lifailon/psdomaintest"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Lifailon/PSDomainTest","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lifailon%2FPSDomainTest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lifailon%2FPSDomainTest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lifailon%2FPSDomainTest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lifailon%2FPSDomainTest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Lifailon","download_url":"https://codeload.github.com/Lifailon/PSDomainTest/tar.gz/refs/heads/rsa","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lifailon%2FPSDomainTest/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28854448,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T22:56:21.783Z","status":"ssl_error","status_checked_at":"2026-01-28T22:56:00.861Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","dns","dns-check","dns-record-checker","dns-test","domain","domain-checker","domain-testing","html","html-report","json-api","json-report","powershell","powershell-module","rest","rest-api","restful-api","test","testing","zonemaster"],"created_at":"2024-12-14T15:16:37.183Z","updated_at":"2026-01-28T23:02:36.096Z","avatar_url":"https://github.com/Lifailon.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PSDomainTest\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://github.com/Lifailon/PSDomainTest\"\u003e\u003cimg title=\"GitHub\"src=\"https://img.shields.io/github/v/release/Lifailon/PSDomainTest?logo=GitHub\u0026label=GitHub\"\u003e\u003c/a\u003e\n\u003ca href=\"https://www.nuget.org/packages/PSDomainTest\"\u003e\u003cimg title=\"NuGet\"src=\"https://img.shields.io/nuget/vpre/PSDomainTest?logo=nuget\u0026label=NuGet\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/Lifailon/PSDomainTest/blob/rsa/LICENSE\"\u003e\u003cimg title=\"License\"src=\"https://img.shields.io/github/license/Lifailon/PSDomainTest?link=https%3A%2F%2Fgithub.com%2FLifailon%2FPSDomainTest%2Fblob%2Frsa%2FLICENSE\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nPowerShell module to test DNS records of any domain using [ZoneMaster](https://github.com/zonemaster/zonemaster) api. \n\nBy default, get down the result in the format of a PowerShell object whose metrics can be passed to a monitoring system (such as Zabbix or InfluxDB and Grafana 📊). The module also allows you to get the result in `json` format and `html` report.\n\n💡 It may take a few minutes to get the final results of all tests (most often it takes 30 to 60 seconds, for example, checking the `github.com` domain takes about 5 minutes on average). If a request to test the same domain is repeated within the next 10-15 minutes, the result of the previous (last) test will be returned.\n\n## 🚀 Install\n\nYou must have a NuGet repository registered:\n\n```PowerShell\nRegister-PSRepository -Name \"NuGet\" -SourceLocation \"https://www.nuget.org/api/v2\" -InstallationPolicy Trusted\n```\n\nInstall the module from the [NuGet](https://www.nuget.org/packages/PSDomainTest) package manager:\n\n```PowerShell\nInstall-Module PSDomainTest -Repository NuGet -Scope CurrentUser\n```\n\n### Params:\n\n| Name    | Description                                    | Type     | Mandatory |\n| ---     | ---                                            | ---      | ---       |\n| Domain  | Domain name                                    | `String` | **True**  |\n| Warning | Output only warning and notice (excludes info) | `Switch` | **False** |\n| json    | Output in json format                          | `Switch` | **False** |\n| html    | Output in html report format                   | `Switch` | **False** |\n\n### Examples:\n\n- Output in **PowerShell object format** (default):\n\n`Get-DomainTest -Domain github.com -Warning`\n\n```PowerShell\nModule       Test           Descriptions                                 Level   Result\n------       ----           ------------                                 -----   ------\nConnectivity Connectivity04 IP Prefix Diversity                          WARNING The following name server(s) are announced in th…\nConnectivity Connectivity04 IP Prefix Diversity                          WARNING The following name server(s) are announced in th…\nConnectivity Connectivity04 IP Prefix Diversity                          WARNING The following name server(s) are announced in th…\nConnectivity Connectivity04 IP Prefix Diversity                          WARNING The following name server(s) are announced in th…\nConsistency  Consistency01  SOA serial number consistency                WARNING Found 2 SOA serial number(s).…\nConsistency  Consistency01  SOA serial number consistency                NOTICE  Difference between the smaller serial (1) and th…\nConsistency  Consistency02  SOA RNAME consistency                        NOTICE  Found 2 SOA rname(s).…\nConsistency  Consistency03  SOA timers consistency                       NOTICE  Found 2 SOA time parameter set(s).…\nConsistency  Consistency06  SOA MNAME consistency                        NOTICE  Saw 2 SOA mname.…\nDNSSEC       DNSSEC07       If DNSKEY at child, parent should have DS    NOTICE  There are neither DS nor DNSKEY records for the …\nDNSSEC       Unspecified    Unspecified                                  NOTICE  The zone is not signed with DNSSEC.…\nNameserver   Nameserver15   Checking for revealed software version       NOTICE  The following name server(s) respond to software…\nNameserver   Nameserver15   Checking for revealed software version       NOTICE  The following name server(s) respond to software…\nNameserver   Nameserver15   Checking for revealed software version       NOTICE  The following name server(s) do not respond or r…\nNameserver   Nameserver15   Checking for revealed software version       NOTICE  The following name server(s) do not respond or r…\nSyntax       Syntax06       No illegal characters in the SOA RNAME field NOTICE  The SOA RNAME mail domain (ns1-com.mail.protecti…\nZone         Zone01         Fully qualified master nameserver in SOA     WARNING SOA MNAME name server(s) \"ns-1707.awsdns-21.co.u…\n```\n\n- Output in **json format**:\n\n`Get-DomainTest -Domain github.com -Warning -json`\n\n```json\n[{\"Domain\": \"github.com\"},{\"Date\": \"15.05.2024 8:46:59\"},{\"Url\": \"https://zonemaster.net/en/result/310632c6f444a5fb\"},[\n  {\n    \"Module\": \"Connectivity\",\n    \"Test\": \"Connectivity04\",\n    \"Descriptions\": \"IP Prefix Diversity\",\n    \"Level\": \"WARNING\",\n    \"Result\": \"The following name server(s) are announced in the same IPv4 prefix (198.51.45.0/24): \\\"dns2.p08.nsone.net/198.51.45.8; dns4.p08.nsone.net/198.51.45.72\\\"\\n\"\n  },\n  {\n    \"Module\": \"Connectivity\",\n    \"Test\": \"Connectivity04\",\n    \"Descriptions\": \"IP Prefix Diversity\",\n    \"Level\": \"WARNING\",\n    \"Result\": \"The following name server(s) are announced in the same IPv4 prefix (198.51.44.0/24): \\\"dns1.p08.nsone.net/198.51.44.8; dns3.p08.nsone.net/198.51.44.72\\\"\\n\"\n  },\n  {\n    \"Module\": \"Connectivity\",\n    \"Test\": \"Connectivity04\",\n    \"Descriptions\": \"IP Prefix Diversity\",\n    \"Level\": \"WARNING\",\n    \"Result\": \"The following name server(s) are announced in the same IPv6 prefix (2620:4d:4000::/48): \\\"dns1.p08.nsone.net/2620:4d:4000:6259:7:8:0:1; dns3.p08.nsone.net/2620:4d:4000:6259:7:8:0:3\\\"\\n\"\n  },\n  {\n    \"Module\": \"Connectivity\",\n    \"Test\": \"Connectivity04\",\n    \"Descriptions\": \"IP Prefix Diversity\",\n    \"Level\": \"WARNING\",\n    \"Result\": \"The following name server(s) are announced in the same IPv6 prefix (2a00:edc0:6259::/48): \\\"dns2.p08.nsone.net/2a00:edc0:6259:7:8::2; dns4.p08.nsone.net/2a00:edc0:6259:7:8::4\\\"\\n\"\n  },\n  {\n    \"Module\": \"Consistency\",\n    \"Test\": \"Consistency01\",\n    \"Descriptions\": \"SOA serial number consistency\",\n    \"Level\": \"WARNING\",\n    \"Result\": \"Found 2 SOA serial number(s).\\n\"\n  },\n  {\n    \"Module\": \"Consistency\",\n    \"Test\": \"Consistency01\",\n    \"Descriptions\": \"SOA serial number consistency\",\n    \"Level\": \"NOTICE\",\n    \"Result\": \"Difference between the smaller serial (1) and the bigger one (1656468023) is greater than the maximum allowed (0).\\n\"\n  },\n  {\n    \"Module\": \"Consistency\",\n    \"Test\": \"Consistency02\",\n    \"Descriptions\": \"SOA RNAME consistency\",\n    \"Level\": \"NOTICE\",\n    \"Result\": \"Found 2 SOA rname(s).\\n\"\n  },\n  {\n    \"Module\": \"Consistency\",\n    \"Test\": \"Consistency03\",\n    \"Descriptions\": \"SOA timers consistency\",\n    \"Level\": \"NOTICE\",\n    \"Result\": \"Found 2 SOA time parameter set(s).\\n\"\n  },\n  {\n    \"Module\": \"Consistency\",\n    \"Test\": \"Consistency06\",\n    \"Descriptions\": \"SOA MNAME consistency\",\n    \"Level\": \"NOTICE\",\n    \"Result\": \"Saw 2 SOA mname.\\n\"\n  },\n  {\n    \"Module\": \"DNSSEC\",\n    \"Test\": \"DNSSEC07\",\n    \"Descriptions\": \"If DNSKEY at child, parent should have DS\",\n    \"Level\": \"NOTICE\",\n    \"Result\": \"There are neither DS nor DNSKEY records for the zone.\\n\"\n  },\n  {\n    \"Module\": \"DNSSEC\",\n    \"Test\": \"Unspecified\",\n    \"Descriptions\": \"Unspecified\",\n    \"Level\": \"NOTICE\",\n    \"Result\": \"The zone is not signed with DNSSEC.\\n\"\n  },\n  {\n    \"Module\": \"Nameserver\",\n    \"Test\": \"Nameserver15\",\n    \"Descriptions\": \"Checking for revealed software version\",\n    \"Level\": \"NOTICE\",\n    \"Result\": \"The following name server(s) respond to software version query \\\"version.bind\\\" with string \\\"a0bd971e3\\\". Returned from name servers: \\\"dns1.p08.nsone.net/198.51.44.8; dns1.p08.nsone.net/2620:4d:4000:6259:7:8:0:1; dns2.p08.nsone.net/198.51.45.8; dns2.p08.nsone.net/2a00:edc0:6259:7:8::2; dns3.p08.nsone.net/198.51.44.72; dns3.p08.nsone.net/2620:4d:4000:6259:7:8:0:3; dns4.p08.nsone.net/198.51.45.72; dns4.p08.nsone.net/2a00:edc0:6259:7:8::4\\\"\\n\"\n  },\n  {\n    \"Module\": \"Nameserver\",\n    \"Test\": \"Nameserver15\",\n    \"Descriptions\": \"Checking for revealed software version\",\n    \"Level\": \"NOTICE\",\n    \"Result\": \"The following name server(s) respond to software version query \\\"version.server\\\" with string \\\"a0bd971e3\\\". Returned from name servers: \\\"dns1.p08.nsone.net/198.51.44.8; dns1.p08.nsone.net/2620:4d:4000:6259:7:8:0:1; dns2.p08.nsone.net/198.51.45.8; dns2.p08.nsone.net/2a00:edc0:6259:7:8::2; dns3.p08.nsone.net/198.51.44.72; dns3.p08.nsone.net/2620:4d:4000:6259:7:8:0:3; dns4.p08.nsone.net/198.51.45.72; dns4.p08.nsone.net/2a00:edc0:6259:7:8::4\\\"\\n\"\n  },\n  {\n    \"Module\": \"Nameserver\",\n    \"Test\": \"Nameserver15\",\n    \"Descriptions\": \"Checking for revealed software version\",\n    \"Level\": \"NOTICE\",\n    \"Result\": \"The following name server(s) do not respond or respond with SERVFAIL to software version query \\\"version.server\\\". Returned from name servers: \\\"ns-1283.awsdns-32.org/205.251.197.3; ns-1283.awsdns-32.org/2600:9000:5305:300::1; ns-1707.awsdns-21.co.uk/205.251.198.171; ns-1707.awsdns-21.co.uk/2600:9000:5306:ab00::1; ns-421.awsdns-52.com/205.251.193.165; ns-421.awsdns-52.com/2600:9000:5301:a500::1; ns-520.awsdns-01.net/205.251.194.8; ns-520.awsdns-01.net/2600:9000:5302:800::1\\\"\\n\"\n  },\n  {\n    \"Module\": \"Nameserver\",\n    \"Test\": \"Nameserver15\",\n    \"Descriptions\": \"Checking for revealed software version\",\n    \"Level\": \"NOTICE\",\n    \"Result\": \"The following name server(s) do not respond or respond with SERVFAIL to software version query \\\"version.bind\\\". Returned from name servers: \\\"ns-1283.awsdns-32.org/205.251.197.3; ns-1283.awsdns-32.org/2600:9000:5305:300::1; ns-1707.awsdns-21.co.uk/205.251.198.171; ns-1707.awsdns-21.co.uk/2600:9000:5306:ab00::1; ns-421.awsdns-52.com/205.251.193.165; ns-421.awsdns-52.com/2600:9000:5301:a500::1; ns-520.awsdns-01.net/205.251.194.8; ns-520.awsdns-01.net/2600:9000:5302:800::1\\\"\\n\"\n  },\n  {\n    \"Module\": \"Syntax\",\n    \"Test\": \"Syntax06\",\n    \"Descriptions\": \"No illegal characters in the SOA RNAME field\",\n    \"Level\": \"NOTICE\",\n    \"Result\": \"The SOA RNAME mail domain (ns1-com.mail.protection.outlook.com.) cannot be resolved to a mail server with an IP address.\\n\"\n  },\n  {\n    \"Module\": \"Zone\",\n    \"Test\": \"Zone01\",\n    \"Descriptions\": \"Fully qualified master nameserver in SOA\",\n    \"Level\": \"WARNING\",\n    \"Result\": \"SOA MNAME name server(s) \\\"ns-1707.awsdns-21.co.uk/205.251.198.171; ns-1707.awsdns-21.co.uk/2600:9000:5306:ab00::1\\\" do not have the highest SOA SERIAL (expected \\\"1\\\" but got \\\"1656468023; 1\\\")\\n\"\n  }\n]]\n```\n\n## 📢 Report\n\n[Example HTML report](https://github.com/Lifailon/PSDomainTest/blob/rsa/test/github/result.html) for the domain `github.com` (the report provides the ability to sort by column).\n\n```PowerShell\nGet-DomainTest -Domain github.com -html | Out-File .\\result.html\n```\n\n![Image alt](https://github.com/Lifailon/PSDomainTest/blob/rsa/image/html-report.jpg)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flifailon%2Fpsdomaintest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flifailon%2Fpsdomaintest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flifailon%2Fpsdomaintest/lists"}