-
Notifications
You must be signed in to change notification settings - Fork 0
ExchangeOnline provider option to run in isolated pwsh -NoProfile process (mitigate module/assembly conflicts) #230
Copy link
Copy link
Open
Labels
Description
Problem Statement
Interactive Connect-ExchangeOnline can fail in some hosts due to module/assembly conflicts (e.g., when Graph/Az and EXO are used together). In practice, using -AccessToken avoids the issue, so this enhancement is low priority, but an isolated process mode would provide a robust mitigation and a clean troubleshooting option.
Proposed Solution
Add an optional provider execution mode:
ExecutionMode = InProcess(default, current behavior)ExecutionMode = IsolatedProcess(new): run ExchangeOnline commands in a childpwsh -NoProfile -NonInteractiveprocess.
Requirements:
- Default remains
InProcess(no breaking change). - Request/response marshalling via JSON (STDIN/STDOUT).
- Do not pass tokens via command line arguments (avoid leakage).
- Document configuration and troubleshooting in provider docs (template-conform), with cross-reference from Troubleshooting section.
Alternatives Considered
- Keep current behavior only (use
-AccessTokenexternally). - Move to direct REST/Graph calls (higher risk for future capabilities).
Impact
- Does this affect existing workflows?
- No, default is unchanged (opt-in).
- Any backward compatibility concerns?
- None expected (new optional configuration only).
Additional Context
This is a mitigation feature and can be prioritized after fixing provider prerequisites documentation + sanity checks.
Reactions are currently unavailable