有没有办法从我的
Windows 2012 Server中找到客户端是否建立了
signed communication?
Net Session给出了基本的细节,但没有说明签名.
C:\>net session \\a.b.c.d User name Administrator Computer a.b.c.d 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或任何提供此类信息的管理工具或命令?提前致谢.
编辑1:
我也试过以下.应在客户端上执行Get-SmbConnection以查找客户端已建立连接的服务器.
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
截至撰写本文时,确切知道这一点的唯一方法是观察通过Wireshark或网络监视器协商的网络连接.
现在,没有任何内容通过API,WMI类等公开这些数据.
Get-SMBConnection Powershell cmdlet将在未来为您提供此信息,但不是今天.
cmdlet只是MSFT_SmbConnection WMI类的包装器.
Get-WmiObject -Namespace 'Root\Microsoft\Windows\SMB' MSFT_SmbConnection
返回完全相同的信息.如果您为该WMI类读取the MSDN documentation,您将看到除了您今天看到的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* };
然后文档继续说:
Signed
Data type: Boolean
Access type: Read-only
TBD. (To be determined)
Windows Server 2012 R2,Windows 8.1,Windows Server 2012,Windows 8:
This property is not supported before Windows Server Technical Preview
and Windows 10 Technical Preview.
Windows 10预览是它首次显示的时间.所以你有它.