You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PowerShell验证SMB服务器是否强制要求签名?

测试SMB服务器是否强制签名的PowerShell方案

临时调整本地SMB客户端签名配置

Windows SMB客户端默认会自动协商签名,要强制尝试无签名连接,需临时修改客户端的注册表设置:

  1. 查看当前客户端签名配置:
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" | Select-Object EnableSecuritySignature, RequireSecuritySignature
  1. 禁用客户端签名相关设置(测试后务必恢复):
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" -Name EnableSecuritySignature -Value 0
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" -Name RequireSecuritySignature -Value 0
  1. 重启服务使设置生效:
Restart-Service LanmanWorkstation -Force

发起无签名连接测试

使用New-SmbMapping尝试连接目标服务器的共享目录:

New-SmbMapping -RemotePath "\\THE.IP.ADD.RSS\your-share-name" -UserName "your-account" -Password "your-password" -ErrorAction Stop
  • 若服务器强制要求签名,命令会抛出错误(如签名不匹配、网络名称无法找到类的提示);
  • 若服务器允许无签名连接,连接将成功建立。

验证连接签名状态

连接成功后,检查是否确实未使用签名:

Get-SmbConnection | Where-Object RemoteAddress -eq "THE.IP.ADD.RSS" | Format-List *

查看输出中的SecuritySignatureEnabled字段,值为False即代表无签名连接生效。

恢复本地客户端安全配置

测试完成后,立即恢复原有的SMB客户端签名设置,避免安全隐患:

# 替换为你之前查询到的原始值(通常是1)
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" -Name EnableSecuritySignature -Value 1
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" -Name RequireSecuritySignature -Value 1
Restart-Service LanmanWorkstation -Force

替代方案:使用net use命令

如果更倾向于传统命令,可结合SMB1强制无签名(前提是SMB1在客户端和服务器均启用):

net use Z: "\\THE.IP.ADD.RSS\your-share-name" /user:domain\account password /nosmb2 /nosmb3

服务器强制签名时,该命令会直接返回签名验证失败的错误。

内容的提问来源于stack exchange,提问作者Patrick Szalapski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 14:47:17