Skip to content

fix(ssms): improve SSMS installation check and command parameters - #343

Merged
mkultraWasHere merged 10 commits into
dreadnode:mainfrom
Ne0nd0g:fix/smss-install
Aug 5, 2026
Merged

fix(ssms): improve SSMS installation check and command parameters#343
mkultraWasHere merged 10 commits into
dreadnode:mainfrom
Ne0nd0g:fix/smss-install

Conversation

@Ne0nd0g

@Ne0nd0g Ne0nd0g commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes SQL Server Management Studio (SSMS) installation on newer Windows hosts by improving installation detection and updating the installer invocation to match the behavior of current SSMS releases.

These changes make the installation process more reliable across fresh GOAD deployments while remaining backwards compatible with existing lab provisioning.

Type of change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would change existing behavior)
  • New lab, lab variant, or extension
  • New / updated provider support
  • Refactor / internal cleanup (no functional change)
  • Documentation
  • CI / build / release tooling
  • Dependency update

Area

  • CLI (cli/)
  • Ansible collection (ansible/)
  • Terraform / Terragrunt (infra/, modules/)
  • Packer / Warpgate (packer/, warpgate-templates/)
  • Lab definitions (ad/)
  • Extensions (extensions/)
  • Variant generator / tools (tools/)
  • Documentation (docs/, README.md, etc.)
  • CI workflows (.github/)

Related issues

Related to the SQL Server Management Studio installation issues discussed in Orange-Cyberdefense/GOAD#480.

How was this tested?

  • Verified provisioning successfully installs SSMS when it is not already present.

  • Verified existing SSMS installations are detected correctly and skipped.

  • Confirmed the updated installer command executes successfully with the current Microsoft SSMS bootstrapper.

  • Provider(s) tested: Hyper-V

  • Lab(s) tested: GOAD

  • Operator OS: Linux (Ansible control host)

Screenshots / logs (optional)

N/A

Checklist

  • I have read CONTRIBUTING.md.
  • My changes follow the existing code style of the area I touched.
  • I have added or updated tests where it makes sense (manual provisioning validation).
  • I have updated documentation (README, docs/, role README, command help text) where relevant.
  • I have checked that I am not committing real secrets, personal credentials, or internal hostnames. (Intentional lab credentials inside ad/, ansible/, and extensions/ are expected and fine.)
  • If this PR changes user-facing CLI behavior, I have updated the relevant --help text and any docs that reference it.
  • If this PR introduces a breaking change, I have called it out in the Summary above.

@mkultraWasHere mkultraWasHere self-assigned this Jul 26, 2026
mkultraWasHere and others added 7 commits July 26, 2026 16:19
ansible-lint's schema[tasks] rule requires the fully-qualified name
`ansible.builtin.runas` rather than the short `runas` form. The rule is
not skippable, so the bare form fails the Pre-Commit workflow.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Improves the mssql_ssms Ansible role to more reliably detect existing SSMS installations on newer Windows hosts and to invoke the modern SSMS bootstrapper with appropriate command-line flags and elevation.

Changes:

  • Updated SSMS install detection to search both Program Files roots and locate Ssms.exe rather than relying on version-pinned x86 paths.
  • Updated installer invocation to use --quiet --norestart --wait, run as SYSTEM, and treat exit code 3010 (reboot required) as success.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread ansible/roles/mssql_ssms/tasks/main.yml
@mkultraWasHere
mkultraWasHere added this pull request to the merge queue Aug 5, 2026
Merged via the queue into dreadnode:main with commit b0e0d6a Aug 5, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/roles Changes made to Ansible roles

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants