Bearbeiten Sie ein bereits importiertes Modul
Vor dem importieren meiner powershell-Modul (MyModule.psm1)
ich geschrieben habe eine Funktion in es:
Function T1()
{
Write-Host "T1 is just called" -ForegroundColor red
}
In meinem MyModule.psd1
:
@{
PowerShellVersion = '2.0'
PowerShellHostName = ''
PowerShellHostVersion = '2.0'
RequiredModules = @()
ScriptsToProcess = @()
NestedModules = @()
FunctionsToExport = '*'
CmdletsToExport = '*'
VariablesToExport = '*'
ModuleList = @()
FileList = @()
}
Diese importiert in Ordnung, wenn ich kopiert beide Dateien in:
C:\Users\fwaheed\Documents\WindowsPowerShell\Modules\MyModule
und ich bin in der Lage zu laufen T1
in meinem PowerShell-Sitzung. Aber jetzt wollte ich eine neue Funktion hinzufügen im gleichen Modul, d.h.:
Function T2()
{
Write-Host "Its now T2.." -ForegroundColor red
}
Selbst nach Neustart mein PowerShell-Sitzung, es nie erkennen T2
jedoch T1
noch funktioniert. Wie Bearbeite ich meine bereits eingeführten Modul, so dass änderungen sofort verfügbar sind.
import-module mymodule -force
ist nicht genug?- Versucht, aber vergeblich.. 🙁
- Dank buddy... Nur entfernt das Modul wieder Importiert, und versucht mit "import-module MyModule -force" Und es hat funktioniert durch das hinzufügen von 4 Funktionen mehr...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einmal ein Modul importiert wurde, änderungen daran sind nicht anerkannt, da das Modul in den Speicher geladen. Aber ich war schon immer in der Lage zu tun, ein
Remove-Module foo
, gefolgt von einemImport-Module foo
laden Sie neue Funktionen.Alle, die sagte, Ihr PSD1-Datei nicht richtig Aussehen. Es sollte eine
ModuleToProcess
Feld auf " MyModule.psm1'. Dann, wenn SieImport-Module MyModule
oderImport-Module .\mymodule.psd1
PowerShell finden & lade die zugehörigenMyModule.psm1
- Datei. Ich Frage mich, ob das ist, wodurch Sie in Konflikt geraten einige caching-PowerShell?Verwenden Sie die
-Force
- Befehl mit derImport-Module
und es neu laden.