LXCAPSTool.psm1
# ------------------------------------------------------------------ # Lenovo Copyright # # (C) Copyright Lenovo 2020 - present. # # LIMITED AND RESTRICTED RIGHTS NOTICE: # If data or software is delivered pursuant a General Services # Administration (GSA) contract, use, reproduction, or disclosure # is subject to restrictions set forth in Contract No. GS-35F-05925. # ------------------------------------------------------------------ # # Script module for module 'LXCAPSTool' # Set-StrictMode -Version Latest $binaryModuleFileName = 'LXCAPSTool.psd1' # Set up some helper variables to make it easier to work with the module $PSModule = $ExecutionContext.SessionState.Module $PSModuleRoot = $PSModule.ModuleBase # Import the appropriate nested binary module based on the current PowerShell version $binaryModuleRoot = $PSModuleRoot if (($PSVersionTable.Keys -contains "PSEdition") -and ($PSVersionTable.PSEdition -ne 'Desktop')) { $binaryModuleRoot = Join-Path -Path $PSModuleRoot -ChildPath 'netcoreapp3.1' #throw "NetCore PowerShell edition is not supported!" } else { $binaryModuleRoot = Join-Path -Path $PSModuleRoot -ChildPath 'net45' } $binaryModulePath = Join-Path -Path $binaryModuleRoot -ChildPath $binaryModuleFileName $binaryModule = Import-Module -Name $binaryModulePath -PassThru # When the module is unloaded, remove the nested binary module that was loaded with it $PSModule.OnRemove = { Remove-Module -ModuleInfo $binaryModule } |