diff --git a/.build/Build.ps1 b/.build/Build.ps1 index ed33e227e6..85cd281a93 100644 --- a/.build/Build.ps1 +++ b/.build/Build.ps1 @@ -25,7 +25,11 @@ New-Item -Path $distFolder -ItemType Directory | Out-Null File names must be unique across the repo since we release in a flat structure. #> -$scriptFiles = Get-ChildItem -Path $repoRoot -Directory | Where-Object { $_.Name -ne ".build" } | ForEach-Object { Get-ChildItem -Path $_.FullName *.ps1 -Recurse } | ForEach-Object { $_.FullName } +$scriptFiles = Get-ChildItem -Path $repoRoot -Directory | + Where-Object { $_.Name -ne ".build" } | + ForEach-Object { Get-ChildItem -Path $_.FullName *.ps1 -Recurse } | + Sort-Object Name | + ForEach-Object { $_.FullName } $nonUnique = @($scriptFiles | ForEach-Object { [IO.Path]::GetFileName($_) } | Group-Object | Where-Object { $_.Count -gt 1 }) if ($nonUnique.Count -gt 0) { @@ -54,6 +58,12 @@ $scriptFiles = $scriptFiles | Where-Object { $disclaimer = [IO.File]::ReadAllLines("$repoRoot\.build\disclaimer.txt") +$versionFile = "$distFolder\ScriptVersions.txt" +New-Item -Path $versionFile -ItemType File | Out-Null +"# Script Versions" | Out-File $versionFile -Append +"Script | Version" | Out-File $versionFile -Append +"-------|--------" | Out-File $versionFile -Append + $scriptFiles | ForEach-Object { $scriptContent = New-Object 'System.Collections.Generic.List[string]' $scriptContent.AddRange([IO.File]::ReadAllLines($_)) @@ -115,5 +125,7 @@ $scriptFiles | ForEach-Object { $scriptContent.Insert(0, "") $scriptContent.InsertRange(0, $disclaimer) + "$([IO.Path]::GetFileName($_)) | v$($commitTime.ToString("yy.MM.dd.HHmm"))" | Out-File $versionFile -Append + Set-Content -Path ([IO.Path]::Combine($distFolder, [IO.Path]::GetFileName($_))) -Value $scriptContent } diff --git a/.github/ISSUE_TEMPLATE/check-setting-or-config-request.md b/.github/ISSUE_TEMPLATE/check-setting-or-config-request.md new file mode 100644 index 0000000000..cd55125a71 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/check-setting-or-config-request.md @@ -0,0 +1,17 @@ +--- +name: New Feature or Tool +about: If you have a new feature or tool request +title: '' +labels: '' +assignees: '' + +--- + +**Is your request related to a problem? Please describe.** +A clear and concise description of what the problem is and the results it had on the environment. + +**Describe The Request** +A clear and concise description of the feature to add to a current tool or a new tool with what we all want to be checking with examples. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/issue-report.md b/.github/ISSUE_TEMPLATE/issue-report.md new file mode 100644 index 0000000000..a0227a5721 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/issue-report.md @@ -0,0 +1,20 @@ +--- +name: Issue Report +about: Create a report to help us improve +title: "[Issue]" +labels: Issue +assignees: '' + +--- + +**Describe the issue** +A clear and concise description of what the issue is, including what script you are seeing the error in. + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Script Output** +If applicable, add the exception that you are seeing that wasn't handled. + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/work-item.md b/.github/ISSUE_TEMPLATE/work-item.md new file mode 100644 index 0000000000..ad7f9dd1b5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/work-item.md @@ -0,0 +1,14 @@ +--- +name: Work Item +about: Work that needs to be done within the project +title: "[Work Item]" +labels: Work Item +assignees: '' + +--- + +**Describe the work** +Provide details of the work that needs to be done within the project + +**Additional Context** +Any other context here. diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000000..1c0b420bbd --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,11 @@ +**Issue:** +Describe what the issue is you are addressing + +**Reason:** +Describe what the reason is for making the change + +**Fix:** +Short description of the fix + +**Validation:** +Provide if applicable \ No newline at end of file diff --git a/ExTRA/.gitignore b/ExTRA/.gitignore new file mode 100644 index 0000000000..dd0c72e0f3 --- /dev/null +++ b/ExTRA/.gitignore @@ -0,0 +1 @@ +EnabledTraces.config \ No newline at end of file diff --git a/PublicFolders/ValidateMailEnabledPublicFolders.ps1 b/PublicFolders/ValidateMailEnabledPublicFolders.ps1 index 59fb3ae283..13c6cb482c 100644 --- a/PublicFolders/ValidateMailEnabledPublicFolders.ps1 +++ b/PublicFolders/ValidateMailEnabledPublicFolders.ps1 @@ -85,7 +85,10 @@ for ($i = 0; $i -lt $ipmSubtreeMailEnabled.Count; $i++) { if ($null -eq $result) { $mailEnabledFoldersWithNoADObject += $ipmSubtreeMailEnabled[$i] } else { - $mailPublicFoldersLinked.TryAdd($result.Guid.ToString(), $result) | Out-Null + $guidString = $result.Guid.ToString() + if (-not $mailPublicFoldersLinked.ContainsKey($guidString)) { + $mailPublicFoldersLinked.Add($guidString, $result) | Out-Null + } } } diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 6d2994d239..759a53bf09 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -21,6 +21,10 @@ steps: .\Build.ps1 displayName: "Build Script" +- pwsh: | + Get-Content dist\ScriptVersions.txt + displayName: "Display Script Versions file" + - pwsh: | $tag = "v$((Get-Date).ToString(`"yy.MM.dd.HHmm`"))" Write-Host "##vso[task.setvariable variable=ReleaseTagValue]$tag" @@ -77,5 +81,7 @@ steps: tagPattern: 'v[0-9].[0-9].[0-9].[0-9]' tag: $(ReleaseTagValue) title: $(ReleaseTagValue) + releaseNotesSource: 'file' + releaseNotesFile: dist\ScriptVersions.txt assets: dist\*.ps1 addChangeLog: true \ No newline at end of file