正如所指出的从命令提示符列出网络共享在命令提示符 ( cmd.exe
) 中,我可以使用以下命令列出可用的网络共享:
net view \\computer
就我而言,结果如下:
C:\Users\user> net view \\COMPUTERNAME
Shared resources at \\COMPUTERNAME
TEST-FILE
Share name Type Used as Comment
-------------------------------------------------------------------------------
archive Disk Fileserver
myfiles Disk Fileserver
MyShare Disk (UNC)
...
然而,如果您输入net use
并按下回车键,您将获得当前连接的所有网络共享的列表。- 就我而言,我得到了:
$ net use
New connections will be remembered.
Status Local Remote Network
-------------------------------------------------------------------------------
OK \\COMPUTERNAME\MyShare Microsoft Windows Network
OK \\COMPUTERNAME\IPC$ Microsoft Windows Network
The command completed successfully.
通常,每当我想要访问\\COMPUTERNAME
并且没有经过身份验证时,我都需要使用登录名和密码进行身份验证。
因此,如果没有显示身份验证对话框,则意味着我已经登录 - 但我无法知道我以什么用户名登录。
有没有办法从命令行查看我已通过哪个登录身份验证,以获得\\COMPUTERNAME
共享的访问权限?
答案1
您可以使用 PowerShell 命令Get-SmbConnection
(需要本地管理员权限)。
我已经在 Windows 10 客户端上测试了此命令,它显示了我的所有网络连接,类似于以下示例输出。
PS C:\>Get-SmbConnection
ServerName ShareName UserName Credential Dialect NumOpens
---------- --------- -------- ---------- ------- --------
Contoso-FS1 VMS5 Contoso\Contoso-HV1$ Contoso\Contoso-HV1$ 3.00 1
Contoso-FS1 VMS5 NT VIRTUAL MACHI... Contoso\Contoso-HV1$ 3.00 3
Contoso-FS VMS1 Contoso\Contoso-HV1$ Contoso\Contoso-HV1$ 3.00 1
Contoso-FS VMS1 NT VIRTUAL MACHI... Contoso\Contoso-HV1$ 3.00 5
Contoso-SO VMS3 Contoso\Contoso-HV1$ Contoso\Contoso-HV1$ 3.00 1
Contoso-SO VMS3 NT VIRTUAL MACHI... Contoso\Contoso-HV1$ 3.00 1
Contoso-SO VMS3 NT VIRTUAL MACHI... Contoso\Contoso-HV1$ 3.00 2
注意:我认识到这仅适用于未保存凭据的共享。对于已保存凭据的共享,将显示当前登录的用户帐户。因此,对于使用已保存连接的连接,您必须检查Windows 凭据管理器使用什么用户名来建立连接。在 Windows 10 20H2 上测试并加入了 Windows 域。
从 Microsoft 复制的示例:https://docs.microsoft.com/en-us/powershell/module/smbshare/get-smbconnection?view=windowsserver2019-ps