| Termin | Definicja |
|---|---|
| Import-Module nie znajduje modułu |
Import-Module nie znajduje modułu – co oznacza ten komunikatKomunikat Nie zawsze oznacza to uszkodzenie samego PowerShella. Często problem dotyczy różnicy między nazwą używaną w dokumentacji a nazwą faktycznie zainstalowanego modułu, niewłaściwego zakresu instalacji albo uruchomienia konsoli w innym środowisku użytkownika. Znaczenie może mieć również to, czy używana jest klasyczna konsola Windows PowerShell, czy nowsza wersja PowerShell. Oba środowiska mogą korzystać z innych lokalizacji, profili i zestawów dostępnych modułów. Warto odróżnić brak modułu od błędu występującego już podczas jego ładowania. Jeśli PowerShell nie widzi modułu, zwykle pojawia się informacja o niemożności znalezienia określonego modułu lub pliku. Jeżeli moduł zostanie odnaleziony, ale nie może zostać uruchomiony z powodu brakującej zależności, niezgodnej wersji albo błędu w pliku manifestu, komunikat będzie miał inną treść. Rozróżnienie tych przypadków ułatwia dobranie właściwego sposobu naprawy. Jak PowerShell wyszukuje moduły i gdzie powstaje różnicaPodczas wykonywania Przydatnym sprawdzeniem jest odczyt aktualnych ścieżek: Do sprawdzenia, czy moduł jest widoczny dla bieżącej sesji, można użyć: Brak wyniku sugeruje, że moduł nie znajduje się w żadnej z aktualnie przeszukiwanych lokalizacji albo jego nazwa została podana nieprawidłowo. Jeżeli moduł jest dostępny, można sprawdzić jego dokładną lokalizację oraz wersję: W przypadku modułu zainstalowanego z galerii PowerShell często stosuje się instalację dla bieżącego użytkownika lub dla całego systemu. Wybrany zakres wpływa na miejsce zapisania plików i na to, czy moduł będzie widoczny dla innych kont. Przykładowe polecenie instalacyjne powinno być dopasowane do rzeczywistej nazwy pakietu: Jeżeli moduł znajduje się w niestandardowym katalogu, można tymczasowo wskazać pełną ścieżkę do pliku lub katalogu. Takie rozwiązanie bywa pomocne przy testowaniu, ale w środowisku używanym regularnie lepiej uporządkować instalację i ścieżki, aby skrypt nie zależał od jednego komputera ani konkretnego położenia plików. Przydatne może być także sprawdzenie, czy polecenie jest uruchamiane w tej samej sesji, w której zmieniono Warto sprawdzić również sposób zapisu nazwy. Nazwa modułu używana przy Jeżeli moduł jest załadowany, lecz polecenia nadal nie są dostępne, należy sprawdzić eksportowane funkcje, aliasy i cmdlety oraz ewentualne warunki zapisane w manifeście. W takiej sytuacji problem nie dotyczy już samego wyszukiwania modułu, lecz jego zawartości albo sposobu eksportowania elementów. Typowe przyczyny błędu Import-ModuleJedną z częstszych przyczyn jest brak instalacji pakietu. Dotyczy to szczególnie skryptów kopiowanych z dokumentacji, które zakładają wcześniejsze przygotowanie środowiska. Przed instalacją należy ustalić prawidłową nazwę modułu, źródło pochodzenia oraz wymagania dotyczące wersji PowerShell. Instalowanie przypadkowego pakietu o podobnej nazwie może nie rozwiązać problemu i może wprowadzić dodatkowe zależności. Inny przypadek stanowi instalacja modułu w zakresie niedostępnym dla bieżącego użytkownika. Moduł może być zapisany w profilu administratora, podczas gdy skrypt działa na zwykłym koncie, albo odwrotnie. Różnicę można zauważyć, porównując wynik Błąd może pojawić się po ręcznym przeniesieniu folderu modułu. Jeżeli struktura katalogów nie odpowiada oczekiwaniom PowerShella, moduł nie zostanie rozpoznany mimo obecności pliku W środowisku zawierającym kilka wersji tego samego modułu może zostać wybrana inna wersja niż oczekiwana przez skrypt. Niektóre polecenia wymagają konkretnego interfejsu lub zależności i nie działają ze starszym wydaniem. Wersję można wskazać jawnie, jeśli dokumentacja danego modułu tego wymaga: Trzeba jednak użyć prawidłowej wartości odpowiadającej wersji faktycznie dostępnej na komputerze. Jeżeli moduł ładuje się, ale zgłasza błąd zależności, należy sprawdzić jego wymagania, dostępność powiązanych bibliotek oraz zgodność architektury używanej sesji z modułem binarnym. Nie każdy problem z załadowaniem można naprawić samą zmianą Znaczenie może mieć także profil PowerShell, w którym ustawiono własne aliasy, zmienne lub modyfikacje ścieżek. Skrypt działający w jednej konsoli może nie działać w nowej sesji, jeżeli potrzebne ustawienia były wprowadzone ręcznie i nie zapisano ich w profilu. Przy diagnozie warto porównać wynik poleceń w zwykłej sesji oraz w sesji uruchomionej bez profilu, aby ustalić, czy przyczyna leży w konfiguracji użytkownika. Oddzielnej uwagi wymaga polityka wykonywania skryptów. Może ona blokować uruchomienie pliku modułu, ale zwykle daje komunikat o zablokowanym skrypcie, a nie o całkowitym braku modułu. Dlatego nie należy zmieniać ustawień bezpieczeństwa w ciemno. Najpierw trzeba ustalić dokładny tekst błędu, źródło modułu oraz zakres zmiany, która miałaby zostać wprowadzona. Kiedy najlepiej poprosić o ocenę stanu sprzętu - Import-Module nie znajduje modułuDo serwisu warto zgłosić się wtedy, gdy moduł powinien być zainstalowany, ale PowerShell nadal go nie widzi, problem występuje po zmianie systemu lub konta użytkownika, albo błąd pojawia się tylko w określonych skryptach. Szczególnie pomocna jest konsultacja, gdy nie wiadomo, czy przyczyną jest brak pakietu, nieprawidłowa ścieżka, konflikt wersji, uszkodzona instalacja czy ograniczenia uprawnień. Przed przekazaniem komputera dobrze zachować pełny komunikat błędu, nazwę używanego modułu oraz polecenie, które go wywołuje. W Warszawie takie przypadki można przekazać do Warszawskiego Pogotowia Komputerowego 24/7, gdzie diagnoza laptopa jest darmowa. Podczas sprawdzania analizowana jest konfiguracja PowerShella, widoczność modułu w bieżącym profilu, zawartość wskazanych katalogów oraz zgodność instalacji z używaną wersją środowiska. Pozwala to oddzielić problem z samym modułem od szerszych kłopotów z profilem użytkownika, uprawnieniami lub konfiguracją systemu. Przy zgłoszeniu warto opisać, czy błąd występuje przy każdym uruchomieniu, czy tylko podczas wykonywania konkretnego skryptu. Przydatne mogą być także informacje o tym, czy moduł był instalowany ręcznie, przez galerię PowerShell, razem z innym programem lub po aktualizacji systemu. Jeżeli problem pojawił się po przeniesieniu danych, zmianie konta albo odtworzeniu systemu z kopii, należy zaznaczyć ten fakt, ponieważ wskazuje on na możliwą zmianę lokalizacji plików i zmiennych środowiskowych. Nie zaleca się usuwania wszystkich katalogów modułów ani szerokiego modyfikowania zmiennej |