psm1 not modules found powershell module import-module

not - Powershell: edición de un módulo ya importado



install module powershell (2)

Use el comando -Force con el Import-Module y lo volverá a cargar.

Antes de importar mi módulo powershell (MyModule.psm1) , he escrito una función en él:

Function T1() { Write-Host "T1 is just called" -ForegroundColor red }

En mi MyModule.psd1 :

@{ # Minimum version of the Windows PowerShell engine required by this module PowerShellVersion = ''2.0'' # Name of the Windows PowerShell host required by this module PowerShellHostName = '''' # Minimum version of the Windows PowerShell host required by this module PowerShellHostVersion = ''2.0'' # Modules that must be imported into the global environment prior to importing this module RequiredModules = @() # Script files (.ps1) that are run in the caller''s environment prior to importing this module ScriptsToProcess = @() # Modules to import as nested modules of the module specified in ModuleToProcess NestedModules = @() # Functions to export from this module FunctionsToExport = ''*'' # Cmdlets to export from this module CmdletsToExport = ''*'' # Variables to export from this module VariablesToExport = ''*'' # List of all modules packaged with this module ModuleList = @() # List of all files packaged with this module FileList = @() }

Esto se importa bien, cuando copié ambos archivos en:

C:/Users/fwaheed/Documents/WindowsPowerShell/Modules/MyModule

y puedo ejecutar T1 en mi sesión de PowerShell.

Pero ahora quería agregar una nueva función en el mismo módulo, es decir:

Function T2() { Write-Host "Its now T2.." -ForegroundColor red }

Incluso después de reiniciar mi sesión de Powershell, nunca reconoce T2 , sin embargo, T1 todavía está funcionando.

¿Cómo puedo editar mi módulo ya importado de modo que los cambios estén disponibles de inmediato ...

Gracias un montón...


Una vez que se ha importado un módulo, no se reconocen los cambios en él ya que el módulo se carga en la memoria. Sin embargo, siempre he sido capaz de hacer un Remove-Module foo , seguido de un Import-Module foo para cargar nuevas funciones.

Dicho todo esto, su archivo PSD1 no se ve bien. Debería tener un campo ModuleToProcess establecido en ''MyModule.psm1''. Luego, cuando realice Import-Module MyModule o Import-Module ./mymodule.psd1 , PowerShell buscará y cargará el archivo MyModule.psm1 asociado. Me pregunto si eso te está haciendo tropezar con el almacenamiento en caché de PowerShell.