На сервере Windows Small Business Server 2011 Essentials команда PowerShell с повышенными привилегиями Import-Module AdmPwd.PS
не удалось и вывел следующее:
Import-Module : Could not load file or assembly 'file:///C:\Windows\system32\WindowsPowerShell\v1.0\Modules\AdmPwd.PS\AdmPwd.PS.dll' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.
At line:1 char:14
+ Import-Module <<<< AdmPwd.PS
+ CategoryInfo : NotSpecified: (:) [Import-Module], BadImageFormatException
+ FullyQualifiedErrorId : System.BadImageFormatException,Microsoft.PowerShell.Commands.ImportModuleCommand
Команда PowerShell Get-ExecutionPolicy
выведен RemoteSigned
, что, насколько мне известно, достаточно, но команда PowerShell Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Force
все равно не решил проблему.
https://social.technet.microsoft.com/Forums/Windows/en-US/fa0b7074-571d-4d84-b3b1-b214443b81b0/laps-importmodule-admpwdps-fail?forum=winserverpowershell и https://flamingkeys.com/deploying-the-local-administrator-password-solution-part-2/ предположил, что обновление установки Windows Management Framework / PowerShell решит проблему.
Команда PowerShell $PSVersionTable.PSVersion
вывел следующее:
Major Minor Build Revision
----- ----- ----- --------
2 0 -1 -1
https://www.microsoft.com/en-us/download/details.aspx?id=46899 говорит:
Поддерживаемая операционная система
Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016, Windows VistaActive Directory: (требуется расширение схемы AD)
• Windows 2003 SP1 или новее.
Управляемые машины:
• Windows Server 2003 SP2 или более поздняя версия или Windows Server 2003 x64 Edition SP2 или более поздняя версия.
Примечание. Машины на базе Itanium не поддерживаются.
Инструменты управления:
• .NET Framework 4.0
• PowerShell 2.0 или позже
https://community.spiceworks.com/topic/1970987-sbs-2011-and-powershell-v3 и https://blogs.technet.microsoft.com/sbs/2012/12/15/windows-management-framework-3-0-applicability-on-windows-small-business-server-20082011-standard/ настоятельно предполагаю, что существуют проблемы совместимости с Windows SBS 2011 и PowerShell 3.
https://tridion.stackexchange.com/questions/4497/import-module-could-not-load-file-or-assembly-when-running-2013-sp1-db-upgra и https://code.msdn.microsoft.com/windowsdesktop/Solution-for-management-of-ae44e789/view/Discussions/12 предположил, что эта проблема (1) была вызвана модулем PowerShell, скомпилированным для .NET Framework версии 4, но по умолчанию PowerShell загружает только .NET Framework версии 2 и (2) может быть решена путем создания файла C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe.config
с содержанием:
<?xml version="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0.30319"/>
<supportedRuntime version="v2.0.50727"/>
<supportedRuntime version="v4.6" />
</startup>
</configuration>
Я убедился, что это решило проблему.