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
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 `<short>.<suffix>` (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
Expand Down
15 changes: 6 additions & 9 deletions RELEASE-NOTES.md
Original file line number Diff line number Diff line change
@@ -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).
8 changes: 7 additions & 1 deletion src/Modules/SPSWeather.Common/Public/Get-AppFabricStatus.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion src/Modules/SPSWeather.Common/SPSWeather.Common.psd1
Original file line number Diff line number Diff line change
@@ -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'
Expand Down
2 changes: 1 addition & 1 deletion tests/SPSWeather.Common.Tests.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -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' {
Expand Down
Loading