安装前获取PowerShell模块发布方及信任验证方法
PowerShell模块可信度验证指南
PSGallery模块是否全部由微软发布?
不是。PSGallery是开放的PowerShell模块社区平台,任何人都可以发布模块,包括微软官方、第三方厂商、独立开发者。例如你提到的PowerShellGet是微软官方维护的模块,但平台上还有大量第三方贡献的模块。
安装前验证模块可信度的方法
1. 网页端直接查看信息
访问目标模块的PSGallery详情页:
- 查看页面右侧的「Owner」字段,确认发布者身份;
- 留意「Verified Publisher」标识:微软官方模块(如PowerShellGet)会带有该标识,说明发布方已通过微软验证;
- 辅助参考模块的下载量、用户评分、更新频率等数据,这些能侧面反映模块的可靠性。
2. 使用PowerShell命令预查询信息
在安装前用Find-Module命令获取模块的核心信息:
# 查询指定模块的发布方、作者及验证状态 Find-Module -Name <模块名称> | Select-Object Name, Author, Publisher, IsVerified
返回结果中的IsVerified字段为True时,代表发布方已通过平台验证。
3. 哈希值验证模块完整性
通过对比文件哈希,确保模块未被篡改:
- 在PSGallery模块详情页的「Files」标签下,找到对应版本的
.nupkg安装包,复制其SHA256哈希值; - 用PowerShell下载安装包到本地并计算哈希:
# 下载模块安装包 Invoke-WebRequest -Uri <nupkg文件的下载链接> -OutFile ".\<模块名称>.nupkg" # 计算本地文件的SHA256哈希 Get-FileHash ".\<模块名称>.nupkg" -Algorithm SHA256
- 将计算出的哈希值与网页上的官方哈希对比,完全一致则说明文件未被篡改。
额外提示
安装未验证的模块时,PowerShell会弹出明确的安全警告,此时可选择终止安装。但提前完成上述验证步骤,能更主动地规避安全风险。
内容的提问来源于stack exchange,提问作者42 Ott
相关产品推荐
相关产品推荐

