diff --git a/CHANGELOG.md b/CHANGELOG.md index 18c61a3..8239e80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [2.3.7] - 2026-06-29 + +### Fixed + +- `Get-AppFabricStatus` (SE branch) builds the per-cache-host CredSSP target + as `.` (suffix derived from the farm entry FQDN), mirroring + the per-server SYS fix. Previously the call used the short name; on VMs + where DNS resolves to the short form, Kerberos failed silently + (`0x80090322`), the inner `Get-SPCacheHostConfig` was never reached and the + row fell back to the SE tier label. The Size column now shows the real + value in MB (e.g. `2048`) (#55). + ## [2.3.6] - 2026-06-29 ### Fixed diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 32fcebd..7482c92 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -1,16 +1,13 @@ # SPSWeather - Release Notes -## [2.3.6] - 2026-06-29 +## [2.3.7] - 2026-06-29 ### Fixed -- Distributed Cache report on SharePoint Subscription Edition now shows the - real cache Size in MB (e.g. '2048 MB') and the actual CachePort. The - function opens a CredSSP session per cache host and runs Use-SPCacheCluster - + Get-SPCacheHostConfig -HostName $env:COMPUTERNAME locally - the SE cmdlet - only returns the full payload when executed on the cache host itself. - When the local lookup still fails, the row falls back to the SE cluster - tier (Small/Medium/Large) suffixed ' (tier)'. -- 2016/2019 (AppFabric) branch is unchanged. +- Distributed Cache table on SharePoint Subscription Edition now shows the + real cache Size in MB (e.g. 2048). The function now opens the per-cache-host + CredSSP session with the FQDN target derived from the farm entry server, + so Kerberos no longer fails silently with 0x80090322 on hosts whose DNS + returns the short name. A full list of changes can be found in the [change log](CHANGELOG.md). diff --git a/src/Modules/SPSWeather.Common/Public/Get-AppFabricStatus.ps1 b/src/Modules/SPSWeather.Common/Public/Get-AppFabricStatus.ps1 index 4771b42..72d9fc5 100644 --- a/src/Modules/SPSWeather.Common/Public/Get-AppFabricStatus.ps1 +++ b/src/Modules/SPSWeather.Common/Public/Get-AppFabricStatus.ps1 @@ -64,13 +64,19 @@ $tbAppFabricStatus = New-Object -TypeName System.Collections.ArrayList if ($inventory.IsSE) { + # FQDN suffix derived from the farm entry server, used to build a + # single-hop CredSSP target per cache host (avoids 0x80090322 when DNS + # returns the short name). + $suffix = if ($Server -match '\.') { $Server.Substring($Server.IndexOf('.') + 1) } else { '' } + # Pass 2 (SE): query Get-SPCacheHostConfig LOCALLY on each cache host. # That is where the cmdlet returns the real Size (in MB), ports, etc. foreach ($dcHost in $inventory.DcHosts) { + $remoteTarget = if ($suffix) { "$($dcHost.Server).$suffix" } else { $dcHost.Server } $hostConfig = $null try { $hostConfig = Invoke-SPSCommand -Credential $InstallAccount ` - -Server $dcHost.Server ` + -Server $remoteTarget ` -ScriptBlock { Use-SPCacheCluster -ErrorAction SilentlyContinue $cfg = Get-SPCacheHostConfig -HostName $env:COMPUTERNAME -ErrorAction SilentlyContinue diff --git a/src/Modules/SPSWeather.Common/SPSWeather.Common.psd1 b/src/Modules/SPSWeather.Common/SPSWeather.Common.psd1 index de7152d..c88c0d7 100644 --- a/src/Modules/SPSWeather.Common/SPSWeather.Common.psd1 +++ b/src/Modules/SPSWeather.Common/SPSWeather.Common.psd1 @@ -1,6 +1,6 @@ @{ RootModule = 'SPSWeather.Common.psm1' - ModuleVersion = '2.3.6' + ModuleVersion = '2.3.7' GUID = 'c39bd612-8520-4e65-9037-80060894d654' Author = 'Jean-Cyril DROUHIN' CompanyName = 'luigilink' diff --git a/tests/SPSWeather.Common.Tests.ps1 b/tests/SPSWeather.Common.Tests.ps1 index c87718f..f09c95e 100644 --- a/tests/SPSWeather.Common.Tests.ps1 +++ b/tests/SPSWeather.Common.Tests.ps1 @@ -36,7 +36,7 @@ Describe 'SPSWeather.Common module' { } It 'manifest version is 2.0.0 or higher' { - (Test-ModuleManifest -Path $modulePath).Version | Should -BeGreaterOrEqual ([version]'2.3.6') + (Test-ModuleManifest -Path $modulePath).Version | Should -BeGreaterOrEqual ([version]'2.3.7') } It 'exports exactly the expected public functions' {