检查特定 Windows 帐户可以访问哪些文件

检查特定 Windows 帐户可以访问哪些文件

我在 Windows Server 2012 R2 Datacenter 计算机上使用 Microsoft SQL Server 2014。在执行特定任务时遇到问题,我试图调查运行 SQL Server Windows 服务的服务帐户是否有权访问某些文件。我进行了 SQL Server 的现成安装,并且运行该服务的服务帐户是( Integration ServicesNT SERVICE\MSSQLSERVER也是如此)。NT SERVICE\SQLSERVERAGENT

我如何检查该帐户有权访问哪些文件?我可以逐个文件地进行检查。

我想到的一个方法是以另一个用户身份运行 cmd.exe 并开始执行dirs。当我按住 Shift 键并单击鼠标右键C:\Windows\System32\cmd.exe并选择以其他用户身份运行时,我尝试输入完整的帐户名(包括域),但出现此错误:提供的名称不是正确格式的帐户名。这是因为域中有空格。如果我省略域,则默认为计算机所属的域,而不是NT SERVICE。这是假设密码为空。

如何以域名有空间的用户身份登录?

答案1

您无法使用该NT Service\MSSQLSERVER帐户或该NT SERVICE\SQLSERVERAGENT帐户登录。它们是仅用于服务的特殊帐户,具有 SID 以允许设置权限,但 Windows 知道它们不是真实帐户,因此不会让您使用它们登录。

您可以使用 Sysinternals 工具检查这些帐户可以访问哪些权限访问检查并扫描驱动器。

示例命令如下:

accesschk64.exe -s -d -w "NT 服务\MSSQLSERVER" C:\*.*

这将递归搜索 C 盘,显示帐户有写入权限的所有文件夹。用于accesschk64.exe /?查看完整选项列表。

相关内容