2016-07-07 9 views
0

Powershell testet wirklich meine Geduld heute ... OK, also machte ich ein Manifest, um meine erforderlichen Versammlungen zu erhalten. Wie importiere ich nun richtig wenn ich eine * .psm1 und * .psd1 Datei habe.Wie man ein Modul mit einem Manifest importiert

Ordnerpfad: C: \ mypath \ blah \ blah \ Module \ Format-XML \

Dateien im Ordner: Format-XML.psd1, Format-XML.psm1

Import-Module -Name "C:\mypath\blah\blah\Module\Format-XML\Format-XML" 

Dann, wenn Ich habe meine Funktion in meinem Modul verwendet, die aus einem anderen Skript aufgerufen wurde, aus welchem ​​Grund auch immer, existiert nicht/funktioniert nicht. Was mache ich falsch?

[ERROR] Verb-Substantiv: Der Begriff 'Verb-Substantiv' wird nicht als Name einer

erkannt

[ERROR] Cmdlet, Funktion, Skriptdatei oder ein geschriebenes Programm. Überprüfen Sie die Schreibweise des

[ERROR] -Namens oder, wenn ein Pfad enthalten war, überprüfen Sie, ob der Pfad korrekt ist, und versuchen Sie es erneut.

Im * PSD1:

FunctionsToExport = '*' 

Im * .psm1:

#I know... not required but I tried anyways... :(
Export-ModuleMember -Function '*' 

Antwort

0

Antwort: Vergessen Sie nicht, Ihre Root-Modul im Manifest zu setzen ... Seufzer

0

Werfen Sie einen Blick auf das Modul, das importiert wird. Sie können dies dieses Bild 2 Möglichkeiten:

Nach dem Import:

$mod = Get-Module -Name Format-XML 

Beim Import:

$mod = Import-Module -Name "C:\mypath\blah\blah\Module\Format-XML\Format-XML" -PassThru 

Dann können Sie $mod überprüfen und am .ExportedCommands Eigenschaft suchen. Ist etwas aufgeführt?

Versuchen Sie auch, die zweite Format-XML zu entfernen (ich nehme an, dass letzte Komponente bezieht sich auf das Modul selbst und nicht den Ordner).

+0

Ich habe einen Ordner namens Format-XML obwohl, sollte ich es in den Ordner Module legen? – TacoMaster6000

+0

@ user3812871 könnten Sie 'Baum C: \ Mypath \ blah \ blah \ Module \ Format-XML' ausführen und das Ergebnis in Ihre Frage bearbeiten? – briantist

+0

@ user3812871 überprüfen Sie auch exportierte Befehle und sehen Sie, ob die Funktion, die Sie erwartet haben, auftaucht oder nicht. – briantist

0

So genau benötigt folgende Codes in PSD1 hinzugefügt werden.

# Script module or binary module file associated with this manifest. 
RootModule = 'nameOfYourModule.psm1' 
Verwandte Themen