S2DCartographer

1.1.0

Storage Spaces Direct analysis, visualization, and reporting for Azure Local and Windows Server clusters. Inventories physical disks, storage pools, and volumes; computes capacity waterfalls with TiB/TB dual display; generates HTML dashboards, Word documents, PDFs, and Excel workbooks with publication-quality diagrams.

Minimum PowerShell version

7.2

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name S2DCartographer -RequiredVersion 1.1.0

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name S2DCartographer -Version 1.1.0

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Owners

Copyright

(c) 2026 Hybrid Cloud Solutions. All rights reserved.

Package Details

Author(s)

  • Azure Local Cloud

Tags

S2D StorageSpacesDirect AzureLocal AzureStackHCI Storage HCI HyperConverged Reporting Visualization Capacity CapacityPlanning PowerShell

Functions

Connect-S2DCluster Disconnect-S2DCluster Get-S2DPhysicalDiskInventory Get-S2DStoragePoolInfo Get-S2DVolumeMap Get-S2DCacheTierInfo Get-S2DCapacityWaterfall Get-S2DHealthStatus ConvertTo-S2DCapacity Invoke-S2DCartographer New-S2DReport New-S2DDiagram

PSEditions

Core

Dependencies

Release Notes

## v1.1.0 — All formats by default, per-run output folders, session logging

### Added
- **Per-run output folder structure** — each `Invoke-S2DCartographer` run writes to `<OutputDirectory>\<ClusterName>\<yyyyMMdd-HHmm>\`. Multiple clusters and repeated runs never overwrite each other. Diagrams go into a `diagrams\` subfolder within the run folder.
- **Session log file** — a `.log` file is written to the run folder capturing each collection step with duration, warnings, final output paths, overall health, and total run time. A fallback log is written to `OutputDirectory` root if the run fails before the cluster name is known.

### Changed
- `Invoke-S2DCartographer` default `-Format` changed from `Html` to `All` — HTML, Word, PDF, and Excel are all generated unless a specific format is requested.
- `ImportExcel` added to `RequiredModules` — installs automatically from PSGallery alongside S2DCartographer. No manual `Install-Module ImportExcel` step required.
- Pool Allocation Breakdown bar height increased from 90 px to 180 px for better readability.

### Documentation
- `connecting.md` — new **Remoting Prerequisites** section covering WinRM setup, TrustedHosts configuration with FQDN guidance, firewall ports, and the node fan-out flow with a diagram showing how per-node CIM sessions are established.
- `getting-started.md` — updated Quick Start to show per-run folder structure, updated examples to reflect new default format.
- `reports.md` — updated format examples, ImportExcel note, and added output folder structure documentation.

## v1.0.8 — Fix Get-S2DHealthStatus crash on live clusters

### Fixed
- `Get-S2DHealthStatus` now uses `ArrayList` instead of `Generic.List[S2DHealthCheck]`. PowerShell classes dot-sourced in a module fail to resolve as generic type parameters at runtime, causing `.Add()` to throw on live clusters.

## v1.0.7 — HTML report: pool health bar, capacity model, stage descriptions

### Added
- **Storage Pool Health bar** — WAC-style horizontal bar showing volumes used, free space, rebuild reserve (intact in amber / consumed in red hazard stripe), and overcommit (dark red overflow past pool total). Reserve boundary and pool total marked with labeled vertical lines.
- **Pool Allocation Breakdown bar** — stacked bar showing per-volume pool footprint with reserve and overcommit segments.
- **Capacity Model stage descriptions** — table below the capacity chart explaining what each of the 8 stages represents, with delta cost and remaining capacity at each step.
- **Critical Reserve Status KPI** — Reserve Status card in the executive summary now renders with a red background when status is Critical.

### Changed
- HTML report section "Capacity Waterfall" renamed to "Capacity Model" with a subtitle clarifying it is the theoretical S2D best-practice pipeline, not a live utilisation view. Actual state is in the Volume Map and Health Checks.

## v1.0.2 — Fix WinRM authentication for non-domain and cross-domain environments

### Fixed in 1.0.2
- Per-node CIM sessions in `Get-S2DPhysicalDiskInventory` now inherit Authentication
 method and Credential from the module session, fixing WinRM Kerberos failures when
 the client is not domain-joined or is in a different domain (#31)
- `Connect-S2DCluster -KeyVaultName` path now uses `-Authentication Negotiate` instead
 of relying on the Kerberos default
- `Invoke-S2DCartographer` now accepts and passes through `-Authentication` to
 `Connect-S2DCluster`
- Session state (`$Script:S2DSession`) now stores Authentication and Credential for
 reuse by downstream collectors

## v1.0.0 — First stable release

Full pipeline from cluster connection to publication-quality reports and diagrams.

### New in 1.0.0
- Get-S2DStoragePoolInfo — pool capacity, health, resiliency settings, overcommit ratio
- Get-S2DVolumeMap — per-volume resiliency type, pool footprint, infra volume detection
- Get-S2DCacheTierInfo — cache mode, all-flash/all-NVMe detection, software cache
- Get-S2DHealthStatus — 10 health checks (ReserveAdequacy, DiskSymmetry, VolumeHealth,
 DiskHealth, NVMeWear, ThinOvercommit, FirmwareConsistency, RebuildCapacity,
 InfrastructureVolume, CacheTierHealth) with pass/warn/fail and remediation guidance
- Get-S2DCapacityWaterfall — 8-stage capacity accounting from raw physical to final usable
- Invoke-S2DCartographer — one-command orchestrator: connect, collect, report, disconnect
- New-S2DReport — HTML dashboard (Chart.js), Word docx, PDF (headless Edge/Chrome), Excel
- New-S2DDiagram — 6 SVG diagram types: Waterfall, DiskNodeMap, PoolLayout,
 Resiliency, HealthCard, TiBTBReference

### Foundation (unchanged from previews)
- Connect-S2DCluster, Disconnect-S2DCluster
- Get-S2DPhysicalDiskInventory (disk inventory, wear counters, anomaly detection)
- ConvertTo-S2DCapacity, S2DCapacity class (TiB/TB dual-display throughout)

FileList

Version History

Version Downloads Last updated
1.4.2 6 4/14/2026
1.4.1 4 4/14/2026
1.4.0 4 4/14/2026
1.3.1 7 4/13/2026
1.3.0 3 4/13/2026
1.2.0 4 4/13/2026
1.1.1 3 4/13/2026
1.1.0 (current version) 3 4/13/2026
1.0.8 3 4/13/2026
1.0.7 5 4/13/2026
1.0.6 6 4/12/2026
Show less