Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modify cmdlets to return true/false #4

Closed
wants to merge 9 commits into from
13 changes: 12 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,19 @@
# Office365DnsChecker Change Log

## Recent changes
## Version 2.0.0 (January 18, 2024)
- NEW: Rename all instances of Azure AD to Entra ID, including cmdlet names. Aliases have been added for the old names."
- NEW: Add support for Microsoft's [new MX records that support DANE and DNSSEC](https://techcommunity.microsoft.com/t5/exchange-team-blog/implementing-inbound-smtp-dane-with-dnssec-for-exchange-online/ba-p/3939694). Note that this does not go live until March 2024 (as a preview), so there may be bugs that we don't yet know about.
- NEW: `Test-ExchangeOnlineMxRecords`, `Test-ExchangeOnlineRecords`, and `Test-Office365DnsRecords` now support a new `-DANERequired` parameter that prints a warning if the DANE-enabled MX endpoint is *not* in use.
- NEW: Cmdlets now return true or false, depending on the results. Thanks to @o-l-a-v for suggesting this in issue #1.
- FIXED: Some Entra cmdlets were failing to load online help.
- Update copyright year.

## Version 1.1.0 (June 1, 2023)
- NEW: Add support for checking DNS records for Office 365 hosted by 21Vianet.
- ENHANCEMENT: The Azure AD client configuration record check now passes if the `msoid` record is missing. As of <time datetime="2023-02-16">early 2023</time>, this DNS record is only required to be set when Office 365 is managed by 21Vianet.
- FIXED: On a small number of configurations, DNS resolution would enter an infinite loop. This would happen if you were running macOS or Linux, and had an alternative implementation of `Resolve-DnsName`. Now, the only cmdlet we'll use is `DnsClient` (if present) before falling back to the built-in DNS resolver.
- Code cleanup.
- Renamed the main Git branch from `master` to `main`.

## Version 1.0.4 (June 1, 2023)
- NEW: Added online help.
Expand Down
30 changes: 19 additions & 11 deletions Office365DnsChecker.psd1
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
RootModule = 'src/Office365DnsChecker.psm1'

# Version number of this module.
ModuleVersion = '1.1.0'
ModuleVersion = '2.0.0'

# Supported PSEditions
CompatiblePSEditions = @('Core', 'Desktop')
Expand All @@ -27,7 +27,7 @@ Author = 'Colin Cogle <[email protected]>'
# CompanyName = $null

# Copyright statement for this module
Copyright = '(c) 2019-2023 Colin Cogle. All rights reserved. Licensed under the GPL version 3.'
Copyright = '(c) 2019-2024 Colin Cogle. All rights reserved. Licensed under the GPL version 3.'

# Description of the functionality provided by this module
Description = "Checks a domain's Office 365 DNS records for correctness."
Expand Down Expand Up @@ -71,12 +71,12 @@ PowerShellVersion = '5.1'
# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
FunctionsToExport = @(
'Test-Office365DNSRecords',
'Test-AzureADRecords',
'Test-EntraIDRecords',
'Test-ExchangeOnlineRecords',
'Test-TeamsRecords',
'Test-AzureADClientConfigurationRecord',
'Test-AzureADEnterpriseEnrollmentRecord',
'Test-AzureADEnterpriseRegistrationRecord',
'Test-EntraIDClientConfigurationRecord',
'Test-EntraIDEnterpriseEnrollmentRecord',
'Test-EntraIDEnterpriseRegistrationRecord',
'Test-ExchangeOnlineAutodiscoverRecord',
'Test-ExchangeOnlineDkimRecords',
'Test-ExchangeOnlineMxRecord',
Expand All @@ -96,6 +96,10 @@ VariablesToExport = ''

# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export.
AliasesToExport = @(
'Test-AzureADRecords',
'Test-AzureADClientConfigurationRecord',
'Test-AzureADEnterpriseEnrollmentRecord',
'Test-AzureADEnterpriseRegistrationRecord',
'Test-LyncRecords',
'Test-SkypeForBusinessRecords',
'Test-SkypeForBusinessOnlineRecords',
Expand Down Expand Up @@ -144,22 +148,26 @@ PrivateData = @{
PSData = @{

# Tags applied to this module. These help with module discovery in online galleries.
Tags = @('Microsoft365', 'Office365', '365', 'ExchangeOnline', 'SkypeForBusinessOnline', 'MicrosoftTeams', 'DNS', 'AzureAD', 'AAD', 'SPF', 'DKIM', 'ExO', 'Exchange', 'Teams', 'ExchangeHybrid', '21Vianet')
Tags = @('Microsoft365', 'Office365', '365', 'ExchangeOnline', 'SkypeForBusinessOnline', 'MicrosoftTeams', 'DNS', 'AzureAD', 'EntraID', 'AAD', 'EID', 'Entra', 'SPF', 'DKIM', 'ExO', 'Exchange', 'Teams', 'ExchangeHybrid', '21Vianet', 'DNSSEC', 'DANE', 'MX')

# A URL to the license for this module.
LicenseUri = 'https://github.com/rhymeswithmogul/Office365DNSChecker/blob/master/LICENSE'
LicenseUri = 'https://github.com/rhymeswithmogul/Office365DNSChecker/blob/main/LICENSE'

# A URL to the main website for this project.
ProjectUri = 'https://github.com/rhymeswithmogul/Office365DNSChecker/'

# A URL to an icon representing this module.
IconUri = 'https://raw.githubusercontent.com/rhymeswithmogul/Office365DnsChecker/master/Logo/Office365DnsChecker.png'
IconUri = 'https://raw.githubusercontent.com/rhymeswithmogul/Office365DnsChecker/main/Logo/Office365DnsChecker.png'

# ReleaseNotes of this module
ReleaseNotes = "Add support for checking 21Vianet customers' DNS records."
ReleaseNotes = "- NEW: Add support for Microsoft's new MX records that support DANE and DNSSEC. Note that this does not go live until March 2024 (as a preview), so there may be bugs that we don't yet know about.
- NEW: `Test-ExchangeOnlineMxRecords`, `Test-ExchangeOnlineRecords`, and `Test-Office365DnsRecords` now support a new `-DANERequired` parameter that prints a warning if the DANE-enabled MX endpoint is *not* in use.
- NEW: Cmdlets now return true or false, depending on the results. Thanks to @o-l-a-v for suggesting this in issue #1.
- NEW: Rename all instances of Azure AD to Entra ID, including cmdlet names. Aliases have been added for the old names.
- FIXED: Some Entra cmdlets were failing to load online help."

# Prerelease string of this module
Prerelease = 'alpha'
#Prerelease = 'alpha'

# Flag to indicate whether the module requires explicit user acceptance for install/update/save
RequireLicenseAcceptance = $false
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
# Office365DnsChecker
Office365DnsChecker will check one or more domains, to make sure that their current DNS records are set up correctly and completely for Office 365.

<img src="https://raw.githubusercontent.com/rhymeswithmogul/Office365DnsChecker/master/Logo/Office365DnsChecker.png" alt="Office365DnsChecker logo" width="432" height="300" style="margin:0 auto">
<img src="https://raw.githubusercontent.com/rhymeswithmogul/Office365DnsChecker/main/Logo/Office365DnsChecker.png" alt="Office365DnsChecker logo" width="432" height="300" style="margin:0 auto">

## System Requirements
This module requires Windows PowerShell 5.1 or greater. It works great on PoewrShell Core 6 and PowerShell 7, and supports constrained language mode.
This module requires Windows PowerShell 5.1 or greater. It works great on PowerShell 7, and supports constrained language mode.

Additionally, Linux users will need to install the app `dig` (part of [`bind-utils`](https://github.com/tigeli/bind-utils)). It is installed by default on macOS (at least in High Sierra).

Expand Down
Loading