From 9e0745683e44658210c42f7d8ec662bf6cefd57f Mon Sep 17 00:00:00 2001 From: Andy Jordan Date: Wed, 30 Nov 2022 12:00:10 -0800 Subject: [PATCH] Show warning if `powerShellDefaultVersion` is set but not found --- src/session.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/session.ts b/src/session.ts index 650a526c52..ee778ac530 100644 --- a/src/session.ts +++ b/src/session.ts @@ -492,17 +492,22 @@ export class SessionManager implements Middleware { let foundPowerShell: IPowerShellExeDetails | undefined; try { let defaultPowerShell: IPowerShellExeDetails | undefined; - if (this.sessionSettings.powerShellDefaultVersion !== "") { + const wantedName = this.sessionSettings.powerShellDefaultVersion; + if (wantedName !== "") { for await (const details of powershellExeFinder.enumeratePowerShellInstallations()) { // Need to compare names case-insensitively, from https://stackoverflow.com/a/2140723 - const wantedName = this.sessionSettings.powerShellDefaultVersion; if (wantedName.localeCompare(details.displayName, undefined, { sensitivity: "accent" }) === 0) { defaultPowerShell = details; break; } } + } foundPowerShell = defaultPowerShell ?? await powershellExeFinder.getFirstAvailablePowerShellInstallation(); + if (defaultPowerShell === undefined && foundPowerShell !== undefined) { + void this.logger.writeAndShowWarning(`The 'powerShellDefaultVersion' setting was '${wantedName}' but this was not found!` + + ` Instead using first available installation '${foundPowerShell.displayName}' at '${foundPowerShell.exePath}'!`); + } } catch (e) { this.logger.writeError(`Error occurred while searching for a PowerShell executable:\n${e}`); }