Określony moduł „MSOnline” nie został załadowany, ponieważ w żadnym katalogu modułu nie znaleziono prawidłowego pliku modułu.
W przypadku jednej z moich aplikacji mam usługę systemu Windows (w systemie Windows Server 2012 R2 x64), której rolą jest uruchamianie wielu zadań według różnych harmonogramów i wyzwalaczy. Jednym z nich jest zresetowanie hasła użytkownika w usłudze Office 365. Asystent logowania w witrynie Microsoft Online Services i moduł Microsoft Azure Active Directory dla programu Windows PowerShell (MSOnline w wersji 1.1.166.0) są zainstalowane na serwerze, na którym działa usługa.
Z PowerShell mogę pomyślnie wywołać następujące czynności z moim użytkownikiem.
$> $cred = Get-Credential
$> Connect-MsolService -Credential $cred
Jeśli uruchomię PowerShell jako konto, na którym działa moja usługa, również działa dobrze. Podczas uruchamiania funkcji resetowania hasła z usługi systemu Windows pojawia się następujący komunikat:
The term 'Connect-MsolService' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
Dodanie flagi debugowania do importu modułu w kodzie pozwoliło nam przeciągnąć problem do polecenia import-module MSOnline. Wystąpił błąd:
The specified module 'MSOnline' was not loaded because no valid module file was found in any module directory.
Próbowaliśmy już odinstalować i ponownie zainstalować dwa narzędzia w wersji x64 (Microsoft Online Services Sign-In Assistant i Microsoft Azure Active Directory Module dla Windows PowerShell). Zmienna systemowa „PATH” jest poprawna z:% SystemRoot% \ system32;% SystemRoot%;% SystemRoot% \ System32 \ Wbem;% SYSTEMROOT% \ System32 \ WindowsPowerShell \ v1.0 \; C: \ Program Files \ Microsoft \ Web Platform Installer \
Folder C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ Modules zawiera podfoldery modułów MSOL MSOnline i MSOnlineExtended.
Kopiowanie dwóch folderów do C: \ Windows \ sysWOW64 \ WindowsPowerShell \ v1.0 \ Modules, jak wspomniano jako rozwiązanie w wielu innych sekcjach, kończy się niepowodzeniem z następującym błędem:
System.Management.Automation.CmdletInvocationException: Could not load file or assembly 'file:///C:\Windows\system32\WindowsPowerShell\v1.0\Modules\MSOnline\Microsoft.Online.Administration.Automation.PSModule.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format. ---> System.BadImageFormatException: Could not load file or assembly
Kod używany przez usługę Windows został pomyślnie uruchomiony i przetestowany jako oddzielne narzędzie na tym samym serwerze, a także ten kod działał bezbłędnie na komputerze deweloperskim.
Te badania sprawiają, że myślimy, że jest jakiś problem z samą usługą, ale nie możemy dowiedzieć się, co/dlaczego.
Dzięki.
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
1 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od: