Skip to content

Add SMB share pre-flight validation to AVD deployment (storage-agnostic) #40

@kristopherjturner

Description

@kristopherjturner

Problem

The AVD deployment validation matrix (docs/guides/validation-matrix.md) checks FSLogix mounting as a post-deployment step, but it does not validate that the SMB share is actually accessible before session hosts attempt to mount profiles. This leads to silent FSLogix failures at user logon.

Regardless of what storage solution the customer uses for profile SMB shares (SOFS, Azure Files, NAS, Cloud Cache), the pre-flight validation should be the same:

Proposed SMB Share Pre-Flight Checks

Check What It Validates How
SMB Connectivity Session host subnet can reach the share on port 445 Test-NetConnection -Port 445
Share Access Machine account or user can enumerate the share Get-SmbShareAccess / net use
NTFS Permissions CREATOR OWNER + Domain Users ACL model present Get-Acl on share root
Share Settings Continuously Available (for SOFS), CachingMode=None Get-SmbShare properties
DNS Resolution Share FQDN resolves correctly Resolve-DnsName
FSLogix Path Format Share path matches expected format (\\server\share) Regex validation
Capacity Sufficient free space for expected user count Get-PSDrive / WMI query

Key Point

This validation should be storage-solution agnostic. Whether the customer deployed SOFS, Azure Files, or any other SMB share, these checks should work the same way.

Acceptance Criteria

  • Add SMB share pre-flight validation to AVD deployment validation
  • Implement as a PowerShell script (e.g., Test-ProfileShareReadiness.ps1)
  • Include in the validation matrix documentation
  • Test against SOFS, Azure Files, and generic SMB shares
  • Add to CI/CD pipeline as a pre-deployment gate
  • Document required share configuration for any SMB share (not just SOFS)

Affected Repos

  • azurelocal-avd — validation scripts, docs/guides/validation-matrix.md

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions