ankhmorpork
Goto Top

Powershell, Modul importieren will nicht ...

Hallo zusammen,

habe Probleme beim Importieren von Modulen in die PS.
Win 7 pro 64 bit, PS 3.0, Patchstand tagesaktuell, Lenovo TP T530

Habe vom MS Technet Scriptcenter das Modul PAM0_7 heruntergeladen und in mein Modulverzeichnis kopiert. Im selben Verzeichnis liegt das PowershellPack. Letzteres wird importiert, PAM0_7 nicht. ---> Wo Problem?
Fehlermeldung: "import-module : Das angegebene Modul "PAM0_7" wurde nicht geladen, da in keinem Modulverzeichnis eine gültige Moduldatei gefunden wurde."
Auch Module aus Unterverzeichnissen werden mit derselben Fehlermeldung abgemeckert.

Hat jemand eine Idee? Anregungen? Denkanstöße? Weitere Infos erforderlich?

Einen schönen Gruß in die Runde

ANKH

Content-Key: 224627

Url: https://administrator.de/contentid/224627

Ausgedruckt am: 29.03.2024 um 02:03 Uhr

Mitglied: colinardo
colinardo 16.12.2013 aktualisiert um 17:00:36 Uhr
Goto Top
Hallo Ankh,
soweit ich weiß sind das alles einzelne Module. Du musst also für die Funktionen die du nutzen möchtest das entsprechende Modul laden. Und zwar sind dies nur die Dateien mit der Endung *.psm1.
Wenn du also das Modul PAMShares.psm1 laden möchtest machst du dies mit import-module PAMShares, nicht die Namen der ps1-Dateien.

Das sollte die Liste der Module sein die du laden kannst:
import-module PAMADSNAPSHOT
import-module PAMDisks
import-module PAMEnv
import-module PAMHOSTSFILE
import-module PAMLOAD
import-module PAMMath
import-module PAMRestorePoint
import-module PAMShares
import-module PAMStability
import-module PAMSysInfo
Nur zur Sicherheit, überprüfe auch nochmal die Modul-Pfade in deiner Shell:
$env:PSModulePath
Grüße Uwe
Mitglied: AnkhMorpork
AnkhMorpork 16.12.2013 aktualisiert um 18:01:28 Uhr
Goto Top
Hallo Uwe,

hab Dank für deine Nachricht!

War mir soweit auch klar ... hat mit den ps1-Dateien nichts zu tun. Leider kein Erfolg. Macht es nicht ... selbe Fehlermeldung. Modulpfad ist korrekt ($env:PSModulePath) - das PowershellPack lädt er ja, und das ist im selben Pfad.

Andere Idee?


Gruß

ANKH
Mitglied: colinardo
Lösung colinardo 16.12.2013 aktualisiert um 18:32:04 Uhr
Goto Top
Haben denn die Unterordner in dem die Module liegen den selben Namen wie die *.psm1-Dateien ? Das ist Vorraussetzung wenn du sie ohne Pfad und Dateierweiterung laden möchtest. Ansonsten geb mal den ganzen Pfad zum jeweiligen Modul mit an
import-module "C:\Users\USERNAME\Documents\WindowsPowerShell\Modules\PAMStability\PAMStability.psm1"
Grüße Uwe
Mitglied: AnkhMorpork
AnkhMorpork 16.12.2013 um 18:31:58 Uhr
Goto Top
Hallo Uwe,

strike!

Das wars: import-module "C:\Users\USERNAME\Documents\WindowsPowerShell\Modules\PAMStability\PAMStability.psm1"
(obwohl die Module denselben Namen haben, wie die *.psm1-Dateien).

Wie dem Dinge auch sei ... vielen herzlichen Dank für die Zielführung!

Ich verfolge dieses Forum seit ca. 5 Jahren, und es gibt 'ne Menge her - Dank Leuten wie dich!

Weiter so!

Gruß

ANKH
Mitglied: colinardo
colinardo 16.12.2013 aktualisiert um 18:37:53 Uhr
Goto Top
Zitat von @AnkhMorpork:
(obwohl die Module denselben Namen haben, wie die *.psm1-Dateien).
Ich meinte den Namen der Unterordner in dem die Moduldateien liegen.

2b4969b756efc3056e55ae3a508426b7

Ich verfolge dieses Forum seit ca. 5 Jahren, und es gibt 'ne Menge her - Dank Leuten wie dich!
danke für die Blumen face-wink

Grüße Uwe
Mitglied: AnkhMorpork
AnkhMorpork 16.12.2013 um 18:44:39 Uhr
Goto Top
Ja, ich auch!
Modules-Ordner: PAMShares (z.B.)
im Unterordner: PAMShares.psm1

Versteh, wer will ...

Gruß

ANKH
Mitglied: colinardo
colinardo 16.12.2013 aktualisiert um 19:05:19 Uhr
Goto Top
by the way Powershell 3.0 hat ein Autoloading-Feature das die benötigten Module automatisch nachlädt sobald man ein entsprechendes CMDLet benutzt solange sich die Module am richtigen Ort befinden.
Beginning in Windows PowerShell 3.0, installed modules are automatically imported to the session when you use any commands or providers in the module. However, you can still use the Import-Module command to import a module and you can enable and disable automatic module importing by using the $PSModuleAutoloadingPreference preference variable. For more information about modules, see about_Modules (http://go.microsoft.com/fwlink/?LinkID=144311). For more information about the $PSModuleAutoloadingPreference variable, see about_Preference_Variables (http://go.microsoft.com/fwlink/?LinkID=113248).
Eventuell ist hier was im Argen. Setz den Wert nochmal explizit auf den Default-Wert
$PSModuleAutoLoadingPreference = "All"
$PSModuleAutoloadingPreference
------------------------------
      Enables and disables automatic importing of modules in the session. 
      "All" is the default. Regardless of the value of this variable, you
      can use the Import-Module cmdlet to import a module.

      Valid values are:

        All    Modules are imported automatically on first-use. To import a
               module, get (Get-Command) or use any command in the module. 

        ModuleQualified
               Modules are imported automatically only when a user uses the
               module-qualified name of a command in the module. For example,
               if the user types "MyModule\MyCommand", Windows PowerShell
               imports the MyModule module.

        None   Automatic importing of modules is disabled in the session. To
               import a module, use the Import-Module cmdlet.       

      For more information about automatic importing of modules, see about_Modules

Wäre doch gelacht wenn wir das nicht ans laufen bekommen... und auch mal Abmelden und wieder Anmelden ... bzw. Reboot tut gut face-wink
Mitglied: AnkhMorpork
AnkhMorpork 16.12.2013 um 19:17:37 Uhr
Goto Top
Dank für die Tipps! Die hatte ich noch nicht gesehen.

Reboot hatte ich auch ... latürnich!

Werde das durchprobieren

Machs gut oder besser


ANKH
Mitglied: AnkhMorpork
AnkhMorpork 18.12.2013 um 20:00:02 Uhr
Goto Top
Hallo Uwe,

eine letzte Anmerkung:
ich muss die einzelnen Module wirklich separat importieren. Ich denke, es liegt daran, dass sie in weiter verschachtelten Unterverzeichnissen liegen. Sie müssten wohl nur eine Stufe unter dem Modulverzeichnis sein.
Egal - das geht so, ich brauche sie nur selten.

Vielen Dank nochmal für deine Hilfe!

Gruß

ANKH