Powershell 7.3从rc1版本移除对Windows 7的支持,此时Powershell 7.3开发已经接近尾声,按理说不会进行api级别的重大变更了,本人经过一番探索,成功让Windows 7运行Powershell 7.3。
Powershell 7.3 Stable安装后直接在Windows 7上运行,会报缺失依赖dll
其实是Powershell 7.3 rc1开始把支持Win7的那部分运行库dll删了,在Powershell 7.3最后一个支持Windows 7的版本PowerShell 7.3.0 preview.8或随意一个Powershell 7.2 Stable版本提取如下dll:
API-MS-Win-Base-Util-L1-1-0.dll
api-ms-win-core-com-l1-1-0.dll
api-ms-win-core-com-private-l1-1-0.dll
api-ms-win-core-comm-l1-1-0.dll
api-ms-win-core-console-l1-1-0.dll
api-ms-win-core-console-l2-1-0.dll
api-ms-win-core-datetime-l1-1-0.dll
api-ms-win-core-datetime-l1-1-1.dll
api-ms-win-core-debug-l1-1-0.dll
api-ms-win-core-debug-l1-1-1.dll
api-ms-win-core-delayload-l1-1-0.dll
api-ms-win-core-errorhandling-l1-1-0.dll
api-ms-win-core-errorhandling-l1-1-1.dll
api-ms-win-core-fibers-l1-1-0.dll
api-ms-win-core-fibers-l1-1-1.dll
api-ms-win-core-file-l1-1-0.dll
api-ms-win-core-file-l1-2-0.dll
api-ms-win-core-file-l1-2-1.dll
api-ms-win-core-file-l2-1-0.dll
api-ms-win-core-file-l2-1-1.dll
api-ms-win-core-handle-l1-1-0.dll
api-ms-win-core-heap-l1-1-0.dll
api-ms-win-core-heap-obsolete-l1-1-0.dll
api-ms-win-core-interlocked-l1-1-0.dll
api-ms-win-core-io-l1-1-0.dll
api-ms-win-core-io-l1-1-1.dll
api-ms-win-core-kernel32-legacy-l1-1-0.dll
api-ms-win-core-kernel32-legacy-l1-1-1.dll
api-ms-win-core-kernel32-legacy-l1-1-2.dll
API-MS-Win-Core-Kernel32-Private-L1-1-0.dll
API-MS-Win-Core-Kernel32-Private-L1-1-1.dll
API-MS-Win-Core-Kernel32-Private-L1-1-2.dll
api-ms-win-core-libraryloader-l1-1-0.dll
api-ms-win-core-libraryloader-l1-1-1.dll
api-ms-win-core-localization-l1-2-0.dll
api-ms-win-core-localization-l1-2-1.dll
api-ms-win-core-localization-l2-1-0.dll
api-ms-win-core-localization-obsolete-l1-2-0.dll
api-ms-win-core-memory-l1-1-0.dll
api-ms-win-core-memory-l1-1-1.dll
api-ms-win-core-memory-l1-1-2.dll
api-ms-win-core-memory-l1-1-3.dll
api-ms-win-core-namedpipe-l1-1-0.dll
api-ms-win-core-namedpipe-l1-2-1.dll
api-ms-win-core-normalization-l1-1-0.dll
API-MS-Win-Core-PrivateProfile-L1-1-0.dll
api-ms-win-core-privateprofile-l1-1-1.dll
api-ms-win-core-processenvironment-l1-1-0.dll
api-ms-win-core-processenvironment-l1-2-0.dll
api-ms-win-core-processsecurity-l1-1-0.dll
api-ms-win-core-processthreads-l1-1-0.dll
api-ms-win-core-processthreads-l1-1-1.dll
api-ms-win-core-processthreads-l1-1-2.dll
API-MS-Win-Core-ProcessTopology-Obsolete-L1-1-0.dll
api-ms-win-core-profile-l1-1-0.dll
api-ms-win-core-psapi-ansi-l1-1-0.dll
api-ms-win-core-psapi-l1-1-0.dll
api-ms-win-core-psapi-obsolete-l1-1-0.dll
api-ms-win-core-realtime-l1-1-0.dll
api-ms-win-core-registry-l1-1-0.dll
api-ms-win-core-registry-l2-1-0.dll
api-ms-win-core-rtlsupport-l1-1-0.dll
api-ms-win-core-shlwapi-legacy-l1-1-0.dll
api-ms-win-core-shlwapi-obsolete-l1-1-0.dll
api-ms-win-core-shutdown-l1-1-0.dll
api-ms-win-core-shutdown-l1-1-1.dll
api-ms-win-core-string-l1-1-0.dll
API-MS-Win-Core-String-L2-1-0.dll
api-ms-win-core-string-obsolete-l1-1-0.dll
api-ms-win-core-string-obsolete-l1-1-1.dll
API-MS-Win-Core-StringAnsi-L1-1-0.dll
api-ms-win-core-stringloader-l1-1-0.dll
api-ms-win-core-stringloader-l1-1-1.dll
api-ms-win-core-synch-l1-1-0.dll
api-ms-win-core-synch-l1-2-0.dll
api-ms-win-core-sysinfo-l1-1-0.dll
api-ms-win-core-sysinfo-l1-2-0.dll
api-ms-win-core-sysinfo-l1-2-1.dll
api-ms-win-core-sysinfo-l1-2-2.dll
api-ms-win-core-sysinfo-l1-2-3.dll
api-ms-win-core-threadpool-l1-2-0.dll
api-ms-win-core-threadpool-legacy-l1-1-0.dll
api-ms-win-core-threadpool-private-l1-1-0.dll
api-ms-win-core-timezone-l1-1-0.dll
api-ms-win-core-url-l1-1-0.dll
api-ms-win-core-util-l1-1-0.dll
api-ms-win-core-version-l1-1-0.dll
api-ms-win-core-winrt-error-l1-1-0.dll
api-ms-win-core-winrt-error-l1-1-1.dll
api-ms-win-core-winrt-l1-1-0.dll
api-ms-win-core-winrt-registration-l1-1-0.dll
api-ms-win-core-winrt-robuffer-l1-1-0.dll
api-ms-win-core-winrt-roparameterizediid-l1-1-0.dll
api-ms-win-core-winrt-string-l1-1-0.dll
api-ms-win-core-wow64-l1-1-0.dll
api-ms-win-core-xstate-l1-1-0.dll
api-ms-win-core-xstate-l2-1-0.dll
API-MS-Win-devices-config-L1-1-0.dll
API-MS-Win-devices-config-L1-1-1.dll
API-MS-Win-Eventing-ClassicProvider-L1-1-0.dll
API-MS-Win-Eventing-Consumer-L1-1-0.dll
API-MS-Win-Eventing-Controller-L1-1-0.dll
API-MS-Win-Eventing-Legacy-L1-1-0.dll
API-MS-Win-Eventing-Provider-L1-1-0.dll
API-MS-Win-EventLog-Legacy-L1-1-0.dll
api-ms-win-ro-typeresolution-l1-1-0.dll
api-ms-win-security-base-l1-1-0.dll
api-ms-win-security-cpwl-l1-1-0.dll
api-ms-win-security-cryptoapi-l1-1-0.dll
api-ms-win-security-lsalookup-l2-1-0.dll
api-ms-win-security-lsalookup-l2-1-1.dll
API-MS-Win-Security-LsaPolicy-L1-1-0.dll
api-ms-win-security-provider-l1-1-0.dll
api-ms-win-security-sddl-l1-1-0.dll
api-ms-win-service-core-l1-1-0.dll
api-ms-win-service-core-l1-1-1.dll
api-ms-win-service-management-l1-1-0.dll
api-ms-win-service-management-l2-1-0.dll
api-ms-win-service-private-l1-1-0.dll
api-ms-win-service-private-l1-1-1.dll
api-ms-win-service-winsvc-l1-1-0.dll
ext-ms-win-advapi32-encryptedfile-l1-1-0.dll
ext-ms-win-ntuser-keyboard-l1-2-1.dll
然后放入Powershell 7.3 Stable版本的安装文件夹,然后Powershell 7.3就能成功运行了,我测试的是7.3最新的Stable版本7.3.3:
测试环境:7601.26362.amd64fre.win7sp1_ldr_escrow.230111-1728
Powershell 7.3是基于.net 7.0构建的,.net 7.0虽然官方宣称不支持Windows 7,但是.net 7.0在Windows 7上的CI测试跑到了rc,并且微软也承诺了.net 7.0对Windows 7的代码路径保持不变,只是不跑在Windows 7上跑测试了,所以Windows 7实际上还是能跑.net 7.0的,只是没了测试可能有未知问题。
Powershell最新版下载:
github
Powershell 7.3在Win7上运行所需dll下载:
蓝奏
密码:d0oq