From f7206e9b2297e30e53076c4179f8d8cc3cd23761 Mon Sep 17 00:00:00 2001 From: Ricardo Mestre Date: Sun, 14 Jun 2026 11:27:51 +0100 Subject: [PATCH 1/3] Retry to import module again if CommandNotFoundException is thrown --- adapters/powershell/psDscAdapter/win_psDscAdapter.psm1 | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/adapters/powershell/psDscAdapter/win_psDscAdapter.psm1 b/adapters/powershell/psDscAdapter/win_psDscAdapter.psm1 index 2317e5e0a..cc40cecca 100644 --- a/adapters/powershell/psDscAdapter/win_psDscAdapter.psm1 +++ b/adapters/powershell/psDscAdapter/win_psDscAdapter.psm1 @@ -628,7 +628,13 @@ function GetTypeInstanceFromModule { [Parameter(Mandatory = $true)] [string] $classname ) - $instance = & (Import-Module $modulename -PassThru) ([scriptblock]::Create("'$classname' -as 'type'")) + try { + $instance = & (Import-Module $modulename -PassThru) ([scriptblock]::Create("'$classname' -as 'type'")) + } catch { + if ($error.FullyQualifiedErrorId -eq "CommandNotFoundException") { + $instance = & (Import-Module $modulename -PassThru) ([scriptblock]::Create("'$classname' -as 'type'")) + } + } return $instance } From bd8192d07a58226f133e82de706c79ce97c439ca Mon Sep 17 00:00:00 2001 From: Ricardo Mestre Date: Sun, 14 Jun 2026 11:40:24 +0100 Subject: [PATCH 2/3] Test exception directly, not global variable error --- adapters/powershell/psDscAdapter/win_psDscAdapter.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adapters/powershell/psDscAdapter/win_psDscAdapter.psm1 b/adapters/powershell/psDscAdapter/win_psDscAdapter.psm1 index cc40cecca..4a488c419 100644 --- a/adapters/powershell/psDscAdapter/win_psDscAdapter.psm1 +++ b/adapters/powershell/psDscAdapter/win_psDscAdapter.psm1 @@ -631,7 +631,7 @@ function GetTypeInstanceFromModule { try { $instance = & (Import-Module $modulename -PassThru) ([scriptblock]::Create("'$classname' -as 'type'")) } catch { - if ($error.FullyQualifiedErrorId -eq "CommandNotFoundException") { + if ($_.FullyQualifiedErrorId -eq "CommandNotFoundException") { $instance = & (Import-Module $modulename -PassThru) ([scriptblock]::Create("'$classname' -as 'type'")) } } From 50b9f75154d186a4102a0526f28a659f2e587b62 Mon Sep 17 00:00:00 2001 From: Ricardo Mestre Date: Sun, 14 Jun 2026 11:42:21 +0100 Subject: [PATCH 3/3] Force import module on second attempt --- adapters/powershell/psDscAdapter/win_psDscAdapter.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adapters/powershell/psDscAdapter/win_psDscAdapter.psm1 b/adapters/powershell/psDscAdapter/win_psDscAdapter.psm1 index 4a488c419..8ce5ebfd6 100644 --- a/adapters/powershell/psDscAdapter/win_psDscAdapter.psm1 +++ b/adapters/powershell/psDscAdapter/win_psDscAdapter.psm1 @@ -632,7 +632,7 @@ function GetTypeInstanceFromModule { $instance = & (Import-Module $modulename -PassThru) ([scriptblock]::Create("'$classname' -as 'type'")) } catch { if ($_.FullyQualifiedErrorId -eq "CommandNotFoundException") { - $instance = & (Import-Module $modulename -PassThru) ([scriptblock]::Create("'$classname' -as 'type'")) + $instance = & (Import-Module $modulename -PassThru -Force) ([scriptblock]::Create("'$classname' -as 'type'")) } } return $instance