Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get-LocalizationData: Cannot find the Windows PowerShell data file #108

Closed
johlju opened this issue Jan 14, 2024 · 12 comments · Fixed by #109
Closed

Get-LocalizationData: Cannot find the Windows PowerShell data file #108

johlju opened this issue Jan 14, 2024 · 12 comments · Fixed by #109
Labels
bug The issue is a bug.

Comments

@johlju
Copy link
Member

johlju commented Jan 14, 2024

I still get the error in HyperVDSC 4.0.0-preview0005 (updated the bundled DscResources.Common to the current 0.16) and xPSDesiredStateConfiguration 9.2.0-preview0008 (already bundles DscResources.Common 0.16).

DEBUG: Looking for resolved file with base name: 'DSC_VMNetworkAdapter'.
DEBUG: Looking for Localized data file using the current culture 'en-US'.
DEBUG: File 'C:\Program Files\WindowsPowerShell\Modules\Lability\DSCResources\HyperVDsc\DSCResources\DSC_VMNetworkAdapter\en-US\DSC_VMNetworkAdapter.psd1' not found.
DEBUG: Found 'C:\Program Files\WindowsPowerShell\Modules\Lability\DSCResources\HyperVDsc\DSCResources\DSC_VMNetworkAdapter\en-US\DSC_VMNetworkAdapter.strings.psd1'.
Get-LocalizedData : Cannot find the Windows PowerShell data file 'DSC_VMNetworkAdapter.strings.psd1' in directory 'C:\Program Files\WindowsPowerShell\Modules\Lability\DSCResources\HyperVDsc\DSCResources\DSC_VMNetworkAdapter\en\', or in any parent culture
directories.
At C:\Program Files\WindowsPowerShell\Modules\Lability\DSCResources\HyperVDsc\DSCResources\DSC_VMNetworkAdapter\DSC_VMNetworkAdapter.psm1:5 char:1
+ $script:localizedData = Get-LocalizedData -DefaultUICulture 'en-US'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\Program File...er.strings.psd1:String) [Import-LocalizedData], PSInvalidOperationException
    + FullyQualifiedErrorId : ImportLocalizedData,Microsoft.PowerShell.Commands.ImportLocalizedData

To me it looks like I am running into the condition if ([String]::IsNullOrEmpty($languageFile)).

But $languageFile cannot be empty, the debug message shows a found file. Therefore $languageFile should be set to $filePath and break the foreach loop...

Note the filepath in the above error record, which indicated that the file was also searched in the parent locale (en).

To be honest, I am totally lost as why this happens...

Additional Information:

Running on Windows PowerShell 5.1:

PS C:\Windows\system32> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.17763.5328
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.17763.5328
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

The UICulture is en-US:

PS C:\Windows\system32> Get-UICulture

LCID             Name             DisplayName
----             ----             -----------
1033             en-US            English (United States)

Originally posted by @lbrauns in #37 (comment)

@johlju
Copy link
Member Author

johlju commented Jan 14, 2024

I created a new issue, because I think you hitting another issue than were you originally posted it. 🤔

I think your hitting an error on this line.

$wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Microsoft.PowerShell.Utility\Import-LocalizedData', [System.Management.Automation.CommandTypes]::Cmdlet)

Can you debug the command and see where it fails? I would just throw in verbose or debug messages through out the command to see where it stops outputting, and see what the path it looks for and why it thinks it doesn't exist 🙂

@johlju
Copy link
Member Author

johlju commented Jan 14, 2024

FYI. I have not seen this issue before, and a lot of resources in DSC Community is using Get-LocalizedData (and runs integration tests) without this issue. So it must be some specific to the scenarion in which you running it. 🤔

@johlju johlju added the needs more information The issue needs more information from the author or the community. label Jan 14, 2024
@lbrauns
Copy link

lbrauns commented Jan 15, 2024

That's fair, thank you.

I will try to debug this the coming weekend.

In the meantime, the behaviour I am experiencing matches this issue as well: gaelcolas/Sampler#291
If I let the code run, the DSC Resource also fails with Cannot bind argument to parameter 'Message' because it is null. This started the rabbit hole for me.

@johlju
Copy link
Member Author

johlju commented Jan 15, 2024

You listed the UI cultures to en-US above, is that correct also for the user running the resources?
Is the resource running as SYSTEM or a specific user?

If you have simple repro steps on a clean VM I could help debug this.

@johlju
Copy link
Member Author

johlju commented Jan 16, 2024

This apparently happen when non-unicode is set to, e.g. de-DE. Changing it to en-US made it work, so it a bug somewhere that doesn't handle locale correctly.

image

@lbrauns still debugging, just posting this here from the chatt in Slack/Discord to document it.

@johlju
Copy link
Member Author

johlju commented Jan 20, 2024

See comment #37 (comment) for further debugging.

@lbrauns
Copy link

lbrauns commented Jan 20, 2024

Okay I am a few steps further and I believe I have found the issue. I also think I have spotted a general issue with localization in DSC.

Issue Import-LocalizedData does not find localized string file

The datatypes between Get-Culture and Get-UICulture differ in WindowsPowerShell:

PS C:\Windows\system32> $psversiontable

Name                           Value
----                           -----
PSVersion                      5.1.17763.5328
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.17763.5328
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

PS C:\Windows\system32> (Get-Culture).GetType()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     CultureInfo                              System.Object

PS C:\Windows\system32> (Get-UICulture).GetType()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
False    False    VistaCultureInfo                         System.Globalization.CultureInfo


PS C:\Windows\system32>

In pwsh they are the same:

 ~#@❯ $psversiontable

Name                           Value
----                           -----
PSVersion                      7.4.1
PSEdition                      Core
GitCommitId                    7.4.1
OS                             Microsoft Windows 10.0.22621
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

 ~#@❯ (get-uiculture).Gettype()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     False    CultureInfo                              System.Object

 ~#@❯ (get-culture).Gettype()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     False    CultureInfo                              System.Object

Get-LocalizedData only uses the Get-UICulture Cmdlet to determine the current culture and looks for files accordingly. Therefore it will find the en-US file.
When giving the BaseDirectory and Filename to Import-LocalizedData this cmdlet uses culture = CultureInfo.CurrentUICulture; to determine the current culture, which has the same values as Get-Culture in Windows PowerShell (should be the system language). In case the system language is not en-US, we are running in exactly the issue, why @chrisdent created the fallback to en-US for pwsh.

Potentially impossible localization in DSC resources

All DSC resources seem to import localized data by calling $script:localizedData = Get-LocalizedData -DefaultUICulture "en-US" in their psm1 during module load.
Get-LocalizedData implements the argument UICulture to define the target locale to be imported.

If we change the module load to $script:localizedData = Get-LocalizedData -UICulture (Get-UICulture) we pass the default locale en-US to Import-LocalizedData but the wrong filename. Filename lookup is only happening if the argument DefaultUICulture is passed (

if (-not $PSBoundParameters.ContainsKey('UICulture') -and $PSBoundParameters.ContainsKey('DefaultUICulture'))
).

Then it correctly fails because of the wrong filename:

DEBUG: Looking for resolved file with base name: 'DSC_VMNetworkAdapter'.
DEBUG: Adding Basedirectory ScriptRoot:
C:\Users\lb\Desktop\Dbg_Lability\DSCResources\HyperVDsc\DSCResources\DSC_VMNetworkAdapter
DEBUG: PARAM: UICulture = en-US
DEBUG: PARAM: FileName = DSC_VMNetworkAdapter.psm1
DEBUG: PARAM: BaseDirectory = C:\Users\lb\Desktop\Dbg_Lability\DSCResources\HyperVDsc\DSCResources\DSC_VMNetworkAdapter
Import-LocalizedData : Cannot find the Windows PowerShell data file 'DSC_VMNetworkAdapter.psd1' in directory
'C:\Users\lb\Desktop\Dbg_Lability\DSCResources\HyperVDsc\DSCResources\DSC_VMNetworkAdapter\en-US\', or in any parent
culture directories.
At
C:\Users\lb\Desktop\Dbg_Lability\DSCResources\HyperVDsc\Modules\DscResource.Common\0.16.0\DscResource.Common.psm1:2631
char:13
+             Import-LocalizedData @PSBoundParameters
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\Users\lb\Des...orkAdapter.psd1:String) [Import-LocalizedData], PSInv
   alidOperationException
    + FullyQualifiedErrorId : ImportLocalizedData,Microsoft.PowerShell.Commands.ImportLocalizedData

If DSC gets localization data like it does currently, the configured locale never matters at all, even if DSC resources gets translated at one point. Solution would be to change the import of localized data in all affected DSC modules and change the behavior of Get-LocalizedData to first check the given locale. Even then the file name needs to be correctly resolved. If nothing is found for UICulture it should fall back to en-US.

johlju added a commit to johlju/DscResource.Common that referenced this issue Jan 20, 2024
@johlju
Copy link
Member Author

johlju commented Jan 20, 2024

That impressive debugging there! This helped a lot.

Solution would be to change the import of localized data in all affected DSC modules and change the behavior of Get-LocalizedData to first check the given locale. Even then the file name needs to be correctly resolved. If nothing is found for UICulture it should fall back to en-US

According to this I made some assumptions that I put into a new commit in the PR #109. You can see the proposed code here: https://github.com/dsccommunity/DscResource.Common/blob/bb47104e244d0ebaef475269d8166db59b9693ac/source/Public/Get-LocalizedData.ps1

Can you have a look over and see if this could possible solve your problem? If so, please try the code.

You find the code in the artifact output here, under the folder builtModule: https://dev.azure.com/dsccommunity/DscResource.Common/_build/results?buildId=8499&view=artifacts&pathAsName=false&type=publishedArtifacts

@lbrauns
Copy link

lbrauns commented Jan 20, 2024

PR works.

VERBOSE: Loading module from path
'C:\Users\lb\Desktop\Dbg_Lability\DSCResources\HyperVDsc\Modules\DscResource.Common\0.16.1\DscResource.Common.psd1'.
VERBOSE: Importing function 'Assert-BoundParameter'.
VERBOSE: Importing function 'Assert-ElevatedUser'.
VERBOSE: Importing function 'Assert-IPAddress'.
VERBOSE: Importing function 'Assert-Module'.
VERBOSE: Importing function 'Compare-DscParameterState'.
VERBOSE: Importing function 'Compare-ResourcePropertyState'.
VERBOSE: Importing function 'ConvertFrom-DscResourceInstance'.
VERBOSE: Importing function 'ConvertTo-CimInstance'.
VERBOSE: Importing function 'ConvertTo-HashTable'.
VERBOSE: Importing function 'Find-Certificate'.
VERBOSE: Importing function 'Get-ComputerName'.
VERBOSE: Importing function 'Get-DscProperty'.
VERBOSE: Importing function 'Get-EnvironmentVariable'.
VERBOSE: Importing function 'Get-LocalizedData'.
VERBOSE: Importing function 'Get-LocalizedDataForInvariantCulture'.
VERBOSE: Importing function 'Get-PSModulePath'.
VERBOSE: Importing function 'Get-TemporaryFolder'.
VERBOSE: Importing function 'New-InvalidArgumentException'.
VERBOSE: Importing function 'New-InvalidDataException'.
VERBOSE: Importing function 'New-InvalidOperationException'.
VERBOSE: Importing function 'New-InvalidResultException'.
VERBOSE: Importing function 'New-NotImplementedException'.
VERBOSE: Importing function 'New-ObjectNotFoundException'.
VERBOSE: Importing function 'Remove-CommonParameter'.
VERBOSE: Importing function 'Set-DscMachineRebootRequired'.
VERBOSE: Importing function 'Set-PSModulePath'.
VERBOSE: Importing function 'Test-AccountRequirePassword'.
VERBOSE: Importing function 'Test-DscParameterState'.
VERBOSE: Importing function 'Test-DscProperty'.
VERBOSE: Importing function 'Test-IsNanoServer'.
VERBOSE: Importing function 'Test-IsNumericType'.
DEBUG: Looking for resolved file with base name: 'DSC_VMNetworkAdapter'.
DEBUG: Using specified culture:

LCID             Name             DisplayName

----             ----             -----------

1033             en-US            English (United States)



DEBUG: Looking for Localized data file using the current culture 'en-US'.
DEBUG: File
'C:\Users\lb\Desktop\Dbg_Lability\DSCResources\HyperVDsc\DSCResources\DSC_VMNetworkAdapter\en-US\DSC_VMNetworkAdapter.p
sd1' not found.
DEBUG: Found
'C:\Users\lb\Desktop\Dbg_Lability\DSCResources\HyperVDsc\DSCResources\DSC_VMNetworkAdapter\en-US\DSC_VMNetworkAdapter.s
trings.psd1'.
DEBUG: Calling Microsoft.PowerShell.Utility\Import-LocalizedData using parameters:
Key           Value
---           -----
UICulture     en-US
FileName      DSC_VMNetworkAdapter.strings.psd1
BaseDirectory C:\Users\lb\Desktop\Dbg_Lability\DSCResources\HyperVDsc\DSCResources\DSC_VMNetworkAdapter


DEBUG: Returning localized data.
VERBOSE: Exporting function 'Get-TargetResource'.
VERBOSE: Exporting function 'Set-TargetResource'.
VERBOSE: Exporting function 'Test-TargetResource'.
DEBUG: Invoking command 'Test-VMNetworkAdapterTargetResource'.

@lbrauns
Copy link

lbrauns commented Jan 20, 2024

@johlju I reviewed the code, this looks very good to me.

To summarize what I reviewed:
The code correctly determines the configured UI-Culture and tries to find the language file for it. If a UI-Culture is passed by argument, this culture is used for the search. If no language file can be found or the culture is invariant, a fallback to en-US is done.

The first culture, for which a language file could be located is passed as an argument to Microsoft.PowerShell.Utility\Import-LocalizedData. By doing this the configured system culture is not relevant anymore.

@lbrauns
Copy link

lbrauns commented Jan 20, 2024

I did two further tests, both successfully:

  • passing de-DE (no translation data)
  • passing ab-CD as culture, which does not exist

Both cases correctly default to en-US and return localized data.

$script:localizedData = Get-LocalizedData -UICulture 'de-DE'
VERBOSE: Loading module from path 'C:\Users\lb\Desktop\Dbg_Lability\DSCResources\HyperVDsc\Modules\DscResource.Common\0.16.1\DscResource.Common.psd1'.
VERBOSE: Importing function 'Assert-BoundParameter'.
VERBOSE: Importing function 'Assert-ElevatedUser'.
VERBOSE: Importing function 'Assert-IPAddress'.
VERBOSE: Importing function 'Assert-Module'.
VERBOSE: Importing function 'Compare-DscParameterState'.
VERBOSE: Importing function 'Compare-ResourcePropertyState'.
VERBOSE: Importing function 'ConvertFrom-DscResourceInstance'.
VERBOSE: Importing function 'ConvertTo-CimInstance'.
VERBOSE: Importing function 'ConvertTo-HashTable'.
VERBOSE: Importing function 'Find-Certificate'.
VERBOSE: Importing function 'Get-ComputerName'.
VERBOSE: Importing function 'Get-DscProperty'.
VERBOSE: Importing function 'Get-EnvironmentVariable'.
VERBOSE: Importing function 'Get-LocalizedData'.
VERBOSE: Importing function 'Get-LocalizedDataForInvariantCulture'.
VERBOSE: Importing function 'Get-PSModulePath'.
VERBOSE: Importing function 'Get-TemporaryFolder'.
VERBOSE: Importing function 'New-InvalidArgumentException'.
VERBOSE: Importing function 'New-InvalidDataException'.
VERBOSE: Importing function 'New-InvalidOperationException'.
VERBOSE: Importing function 'New-InvalidResultException'.
VERBOSE: Importing function 'New-NotImplementedException'.
VERBOSE: Importing function 'New-ObjectNotFoundException'.
VERBOSE: Importing function 'Remove-CommonParameter'.
VERBOSE: Importing function 'Set-DscMachineRebootRequired'.
VERBOSE: Importing function 'Set-PSModulePath'.
VERBOSE: Importing function 'Test-AccountRequirePassword'.
VERBOSE: Importing function 'Test-DscParameterState'.
VERBOSE: Importing function 'Test-DscProperty'.
VERBOSE: Importing function 'Test-IsNanoServer'.
VERBOSE: Importing function 'Test-IsNumericType'.
DEBUG: Looking for resolved file with base name: 'DSC_VMNetworkAdapter'.
DEBUG: Using specified culture:

LCID             Name             DisplayName

----             ----             -----------

1031             de-DE            German (Germany)



DEBUG: Looking for Localized data file using the current culture 'de-DE'.
DEBUG: File 'C:\Users\lb\Desktop\Dbg_Lability\DSCResources\HyperVDsc\DSCResources\DSC_VMNetworkAdapter\de-DE\DSC_VMNetworkAdapter.psd1' not found.
DEBUG: File 'C:\Users\lb\Desktop\Dbg_Lability\DSCResources\HyperVDsc\DSCResources\DSC_VMNetworkAdapter\de-DE\DSC_VMNetworkAdapter.strings.psd1' not found.
DEBUG: Did not find matching file for current culture, testing parent culture:

LCID             Name             DisplayName

----             ----             -----------

7                de               German



DEBUG: Looking for Localized data file using the current culture 'de'.
DEBUG: File 'C:\Users\lb\Desktop\Dbg_Lability\DSCResources\HyperVDsc\DSCResources\DSC_VMNetworkAdapter\de\DSC_VMNetworkAdapter.psd1' not found.
DEBUG: File 'C:\Users\lb\Desktop\Dbg_Lability\DSCResources\HyperVDsc\DSCResources\DSC_VMNetworkAdapter\de\DSC_VMNetworkAdapter.strings.psd1' not found.
DEBUG: Did not find matching file for current or parent culture, testing default culture:

LCID             Name             DisplayName

----             ----             -----------

1033             en-US            English (United States)



DEBUG: Setting parameter UICulture to 'en-US'.
DEBUG: Looking for Localized data file using the current culture 'en-US'.
DEBUG: File 'C:\Users\lb\Desktop\Dbg_Lability\DSCResources\HyperVDsc\DSCResources\DSC_VMNetworkAdapter\en-US\DSC_VMNetworkAdapter.psd1' not found.
DEBUG: Found 'C:\Users\lb\Desktop\Dbg_Lability\DSCResources\HyperVDsc\DSCResources\DSC_VMNetworkAdapter\en-US\DSC_VMNetworkAdapter.strings.psd1'.
DEBUG: Calling Microsoft.PowerShell.Utility\Import-LocalizedData using parameters:
Key           Value
---           -----
UICulture     en-US
FileName      DSC_VMNetworkAdapter.strings.psd1
BaseDirectory C:\Users\lb\Desktop\Dbg_Lability\DSCResources\HyperVDsc\DSCResources\DSC_VMNetworkAdapter


DEBUG: Returning localized data.
VERBOSE: Exporting function 'Get-TargetResource'.
VERBOSE: Exporting function 'Set-TargetResource'.
VERBOSE: Exporting function 'Test-TargetResource'.
DEBUG: Invoking command 'Test-VMNetworkAdapterTargetResource'.

Specifying a non-existent culture correctly falls back to en-US

$script:localizedData = Get-LocalizedData -UICulture 'ab-CD'
VERBOSE: Loading module from path 'C:\Users\lb\Desktop\Dbg_Lability\DSCResources\HyperVDsc\Modules\DscResource.Common\0.16.1\DscResource.Common.psd1'.
VERBOSE: Importing function 'Assert-BoundParameter'.
VERBOSE: Importing function 'Assert-ElevatedUser'.
VERBOSE: Importing function 'Assert-IPAddress'.
VERBOSE: Importing function 'Assert-Module'.
VERBOSE: Importing function 'Compare-DscParameterState'.
VERBOSE: Importing function 'Compare-ResourcePropertyState'.
VERBOSE: Importing function 'ConvertFrom-DscResourceInstance'.
VERBOSE: Importing function 'ConvertTo-CimInstance'.
VERBOSE: Importing function 'ConvertTo-HashTable'.
VERBOSE: Importing function 'Find-Certificate'.
VERBOSE: Importing function 'Get-ComputerName'.
VERBOSE: Importing function 'Get-DscProperty'.
VERBOSE: Importing function 'Get-EnvironmentVariable'.
VERBOSE: Importing function 'Get-LocalizedData'.
VERBOSE: Importing function 'Get-LocalizedDataForInvariantCulture'.
VERBOSE: Importing function 'Get-PSModulePath'.
VERBOSE: Importing function 'Get-TemporaryFolder'.
VERBOSE: Importing function 'New-InvalidArgumentException'.
VERBOSE: Importing function 'New-InvalidDataException'.
VERBOSE: Importing function 'New-InvalidOperationException'.
VERBOSE: Importing function 'New-InvalidResultException'.
VERBOSE: Importing function 'New-NotImplementedException'.
VERBOSE: Importing function 'New-ObjectNotFoundException'.
VERBOSE: Importing function 'Remove-CommonParameter'.
VERBOSE: Importing function 'Set-DscMachineRebootRequired'.
VERBOSE: Importing function 'Set-PSModulePath'.
VERBOSE: Importing function 'Test-AccountRequirePassword'.
VERBOSE: Importing function 'Test-DscParameterState'.
VERBOSE: Importing function 'Test-DscProperty'.
VERBOSE: Importing function 'Test-IsNanoServer'.
VERBOSE: Importing function 'Test-IsNumericType'.
DEBUG: Looking for resolved file with base name: 'DSC_VMNetworkAdapter'.
DEBUG: Using specified culture:

LCID             Name             DisplayName

----             ----             -----------

4096             ab-CD            Unknown Locale (ab-CD)



DEBUG: Looking for Localized data file using the current culture 'ab-CD'.
DEBUG: File 'C:\Users\lb\Desktop\Dbg_Lability\DSCResources\HyperVDsc\DSCResources\DSC_VMNetworkAdapter\ab-CD\DSC_VMNetworkAdapter.psd1' not found.
DEBUG: File 'C:\Users\lb\Desktop\Dbg_Lability\DSCResources\HyperVDsc\DSCResources\DSC_VMNetworkAdapter\ab-CD\DSC_VMNetworkAdapter.strings.psd1' not found.
DEBUG: Did not find matching file for current culture, testing parent culture:

LCID             Name             DisplayName

----             ----             -----------

4096             ab               Unknown Language (ab)



DEBUG: Looking for Localized data file using the current culture 'ab'.
DEBUG: File 'C:\Users\lb\Desktop\Dbg_Lability\DSCResources\HyperVDsc\DSCResources\DSC_VMNetworkAdapter\ab\DSC_VMNetworkAdapter.psd1' not found.
DEBUG: File 'C:\Users\lb\Desktop\Dbg_Lability\DSCResources\HyperVDsc\DSCResources\DSC_VMNetworkAdapter\ab\DSC_VMNetworkAdapter.strings.psd1' not found.
DEBUG: Did not find matching file for current or parent culture, testing default culture:

LCID             Name             DisplayName

----             ----             -----------

1033             en-US            English (United States)



DEBUG: Setting parameter UICulture to 'en-US'.
DEBUG: Looking for Localized data file using the current culture 'en-US'.
DEBUG: File 'C:\Users\lb\Desktop\Dbg_Lability\DSCResources\HyperVDsc\DSCResources\DSC_VMNetworkAdapter\en-US\DSC_VMNetworkAdapter.psd1' not found.
DEBUG: Found 'C:\Users\lb\Desktop\Dbg_Lability\DSCResources\HyperVDsc\DSCResources\DSC_VMNetworkAdapter\en-US\DSC_VMNetworkAdapter.strings.psd1'.
DEBUG: Calling Microsoft.PowerShell.Utility\Import-LocalizedData using parameters:
Key           Value
---           -----
UICulture     en-US
FileName      DSC_VMNetworkAdapter.strings.psd1
BaseDirectory C:\Users\lb\Desktop\Dbg_Lability\DSCResources\HyperVDsc\DSCResources\DSC_VMNetworkAdapter


DEBUG: Returning localized data.
VERBOSE: Exporting function 'Get-TargetResource'.
VERBOSE: Exporting function 'Set-TargetResource'.
VERBOSE: Exporting function 'Test-TargetResource'.

@johlju
Copy link
Member Author

johlju commented Jan 20, 2024

This is great! Then it works with passing just UICulture and just DefaultUICulture. 🙂

@johlju johlju added bug The issue is a bug. and removed needs more information The issue needs more information from the author or the community. labels Jan 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug The issue is a bug.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants