Skip to content

feat(gateway): WinRM operations for PAM dependency detection and rotation (PAM-350)#321

Draft
bernie-g wants to merge 3 commits into
mainfrom
bernie/pam-350-implement-support-for-domain-account-dependency-detection
Draft

feat(gateway): WinRM operations for PAM dependency detection and rotation (PAM-350)#321
bernie-g wants to merge 3 commits into
mainfrom
bernie/pam-350-implement-support-for-domain-account-dependency-detection

Conversation

@bernie-g

Copy link
Copy Markdown
Contributor

Adds the gateway's WinRM operations for finding Windows account dependencies and updating their passwords during rotation.

…ion (PAM-350)

Add enumerate-accounts, enumerate-dependencies, rotate-credential, and
sync-dependency WinRM operations so the control plane names a vetted operation
and passes parameters instead of sending raw PowerShell. Credential changes use
pure-PowerShell cmdlets (CIM Win32_Service.Change, Set-ScheduledTask,
Set-ADAccountPassword) so a password never crosses a native-exe argument line.
@linear

linear Bot commented Jul 21, 2026

Copy link
Copy Markdown

PAM-350

@infisical-review-police

Copy link
Copy Markdown

💬 Discussion in Slack: #pr-review-cli-321-feat-gateway-winrm-operations-for-pam-dependency-detection-and

Posted by Review Police — reviews, comments, new commits, and CI failures will stream into this channel.

bernie-g added 2 commits July 20, 2026 21:37
- Change service credentials via CIM Win32_Service.Change and scheduled tasks via
  Set-ScheduledTask (pure PowerShell) so a password with quotes isn't mangled by
  native-exe argument quoting.
- Only restart a service/app-pool that was already running.
- Include InteractiveOrPassword scheduled tasks; fail the enumeration hard on a
  service/task error so partial results can't prune real dependency rows.
- Add a validate-credential op so the admin rotator can verify a local account's
  password on the box (ValidateCredentials) without logging in as the account.
- Only restart services/app-pools that were already running (done earlier), and
  now: harden local-account enumeration with ErrorActionPreference=Stop, include
  InteractiveOrPassword scheduled tasks, and gate IIS enumeration on the module
  being present so a real IIS error hard-fails instead of being swallowed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant