Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 23 additions & 10 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,14 @@ release notes.

## [Unreleased]

### Fixed
## [0.34.0] - 2026-10-15

- `Test-IntuneDeployedScript` cited ASSIGN-INEX, round 9's remediation included and excluded for
the same group, as evidence that a policy without an include never runs. That policy has an
include: the service drops the exclusion, and the device has run it every hour since 28 September
(180 probe records by 15 October, Graph run state updated 13 October, the policy unchanged since
its creation). The evidence names ASSIGN-NONE and ASSIGN-EXCLONLY only, and
`Validation/Findings.md` records the corrected result; the command's verdict on such a policy,
silence, was already right. Its file `doesNotExist` finding cited `W32-FILE-NOTEXIST-PRESENT`;
the experiment is `W32-FILE-NOTEXIST-FALSE`.
A correction to the evidence behind one finding, found while writing up the validation lab. Round 9
concluded that a remediation included and excluded for the same group never runs; the device has
run it every hour since, because the service drops the exclusion and keeps the include. The
command's verdict on such a policy, silence, was already right, so no verdict changes; the evidence
string and Findings say what the device did. The validation kit's agent restart now works, and its
lab scripts and docs describe the kit as it is.

### Changed

Expand All @@ -33,6 +31,20 @@ release notes.
the driver. The kit's README no longer points at the monorepo paths the module came from, and the
experiment catalog's header says what it holds.

### Fixed

- `Test-IntuneDeployedScript` cited ASSIGN-INEX, round 9's remediation included and excluded for
the same group, as evidence that a policy without an include never runs. That policy has an
include: the service drops the exclusion, and the device has run it every hour since 28 September
(186 probe records by 15 October, Graph run state updated 13 October, the policy unchanged since

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

180 in #43 was the morning read; 186 is the count from the kit's own Invoke-GuestPowerShell at 17:28 UTC the same day, over Tailscale once the lab host was reachable. Hourly growth between the two reads is itself the evidence the entry rests on, so the later figure is the one kept.

its creation). The evidence names ASSIGN-NONE and ASSIGN-EXCLONLY only, and
`Validation/Findings.md` records the corrected result; the command's verdict on such a policy,
silence, was already right. Its file `doesNotExist` finding cited `W32-FILE-NOTEXIST-PRESENT`;
the experiment is `W32-FILE-NOTEXIST-FALSE`.
- `Tests/Unit/Private/Get-IslInboxModule.Tests.ps1` failed on a hosted runner that lacked
`ConfigDefender` and `ConfigDefenderPerformance`, which the Defender platform update puts under
System32 rather than the Windows image; the test allows the two to be absent from the host.

## [0.33.0] - 2026-10-15

Fixes to the CI pieces, found by running the gate script, the workflow template, the suite template
Expand Down Expand Up @@ -696,7 +708,8 @@ Nothing any command does has changed.

- Static rules: `Test-IntuneScript`.

[Unreleased]: https://github.com/fadwen/IntuneScriptLab/compare/v0.33.0...HEAD
[Unreleased]: https://github.com/fadwen/IntuneScriptLab/compare/v0.34.0...HEAD
[0.34.0]: https://github.com/fadwen/IntuneScriptLab/compare/v0.33.0...v0.34.0
[0.33.0]: https://github.com/fadwen/IntuneScriptLab/compare/v0.32.0...v0.33.0
[0.32.0]: https://github.com/fadwen/IntuneScriptLab/compare/v0.31.0...v0.32.0
[0.31.0]: https://github.com/fadwen/IntuneScriptLab/compare/v0.30.0...v0.31.0
Expand Down
20 changes: 10 additions & 10 deletions IntuneScriptLab.psd1
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
@{
# Module manifest for IntuneScriptLab
RootModule = 'IntuneScriptLab.psm1'
ModuleVersion = '0.33.0'
ModuleVersion = '0.34.0'
GUID = '3f6b2c9e-7d41-4a8f-9c2b-5e0d8a1f4b76'
Author = 'Jeffrey Stuhr'
CompanyName = ''
Expand Down Expand Up @@ -64,6 +64,14 @@ pre-flight over the tenant's deployed scripts and readers for the agent's logs
LicenseUri = 'https://github.com/fadwen/IntuneScriptLab/blob/main/LICENSE'
ProjectUri = 'https://github.com/fadwen/IntuneScriptLab'
ReleaseNotes = @'
0.34.0 - Evidence correction. Test-IntuneDeployedScript cited the round 9 include-plus-exclude
experiment as a policy no device runs; the device has run it every hour since, because the
service drops the exclusion and keeps the include. The evidence names the two experiments
that do show a policy without an include never running, and Findings records the corrected
result; the command's verdict, silence on such a policy, was already right. A file
doesNotExist finding now cites the experiment that exists. The validation kit restarts the
agent by stopping its process, since Restart-Service restarted nothing, and its lab scripts
and docs are current. See CHANGELOG.md.
0.33.0 - The CI pieces, after a run against a repository laid out the way the templates describe.
The gate script no longer analyzes a Pester suite next to the scripts or the contents of a
Win32 app's Package folder, both of which the suite template puts there and both of which
Expand All @@ -80,15 +88,7 @@ pre-flight over the tenant's deployed scripts and readers for the agent's logs
tables is 40 characters wide, so a long policy name stays on one line. The README's log
blocks show the Agent abbreviation and the list form of the diagnostic result. See
CHANGELOG.md.
0.31.0 - Assignment filter messages. The parser warns about a -contains value that is only
whitespace, which the service trims to nothing so the clause matches every device; a double
quote inside a value is refused with a message saying no escape exists and that -contains
or -startsWith on the parts around it is the way through. In exclude mode,
Test-IntuneAssignmentFilter and Test-IntuneDeployedScript say what a warning means for the
assignment: a clause that never matches excludes nobody, so the assignment reaches every
device in the group. The tenant-wide help example keeps to Windows filters. See
CHANGELOG.md.
Earlier versions, 0.1.0 to 0.30.0: CHANGELOG.md, which ships with the module.
Earlier versions, 0.1.0 to 0.31.0: CHANGELOG.md, which ships with the module.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The manifest keeps the newest three versions in ReleaseNotes and drops the oldest each release; 0.31.0 moves to CHANGELOG.md, which ships in the package, and the pointer's upper bound follows it.

'@
RequireLicenseAcceptance = $false
}
Expand Down
Loading