如何确定SMB客户端是否已从Windows Server 2012build立了签名SMB通信?

有没有办法从我的Windows 2012服务器find客户端是否build立了签名的通信 ?

networking会议给出了基本的细节,但没有说任何关于签字。

C:\>net session \\abcd User name Administrator Computer abcd Guest logon No Client type Sess time 00:08:02 Idle time 00:07:50 Share name Type # Opens -------------------------------------- test Disk 0 The command completed successfully. 

有没有任何Powershell cmdlet或任何pipe理工具或命令,将提供这样的信息? 提前致谢。

编辑1:我也尝试了以下。 应在客户端上执行Get-SmbConnection以查找客户端build立连接的服务器。

 PS C:\Users\Administrator> Get-SmbConnection | Select-Object -Property * ContinuouslyAvailable : False Credential : domain\administrator Dialect : 3.00 Encrypted : False NumOpens : 3 ServerName : server1 ShareName : test UserName : SERVER1\Administrator PSComputerName : CimClass : ROOT/Microsoft/Windows/SMB:MSFT_SmbConnection CimInstanceProperties : {ContinuouslyAvailable, Credential, Dialect, Encrypted...} CimSystemProperties : Microsoft.Management.Infrastructure.CimSystemProperties 

截至本文撰写之时,真正了解这一点的唯一方法是观察networking连接,因为它正在通过Wireshark或networking监视器进行协商。

目前,没有任何通过API,WMI类等公开这些数据

Get-SMBConnection Powershell cmdlet 在未来为您提供此信息,但不是在今天。

该cmdlet只是MSFT_SmbConnection WMI类的包装器。

 Get-WmiObject -Namespace 'Root\Microsoft\Windows\SMB' MSFT_SmbConnection 

返回完全相同的信息。 如果您阅读该 WMI类的MSDN文档 ,除了您今天看到的Encrypted属性之外,您将看到该文档列出了一个Signed属性。

 class MSFT_SmbConnection { string ServerName; string ShareName; string UserName; uint32 SmbInstance; string Credential; uint64 NumOpens; string Dialect; boolean ContinuouslyAvailable; boolean Encrypted; boolean EnableLoadBalanceScaleOut; boolean Signed; // ^_^ *trollface* }; 

文件接着说:

数据types:布尔值

访问types:只读

TBD。 (待定)

Windows Server 2012 R2,Windows 8.1,Windows Server 2012,Windows 8:在Windows Server Technical Preview和Windows 10 Technical Preview之前,不支持此属性。

Windows 10预览是当它第一次显示时。 所以你有它。