微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我怎样才能找出谁在Windows中使用.NET创build一个文件?

我需要找出谁使用.NET创build了一个文件

我已经尝试了以下内容

string FileLocation = @"C:test.txt"; FileInfo droppedFile = new FileInfo(FileLocation); FileSecurity fileSecurity = droppedFile.GetAccessControl(); IdentityReference identityReference = fileSecurity.Getowner(typeof(NTAccount)); string userName = identityReference.Value; Console.WriteLine(userName);

所有这些返回是“BUILTIN Administrators”

在这里做错了什么? 因为当我在资源pipe理器中查看C:,所有者显示正确的用户名,当我执行上面的代码时,它返回“BUILTIN Administrators”

我如何获得所有进程的打开句柄集

MSBuild“sgen.exe”丢失

如何创build一个大的图标托盘?

dynamic添加comboBox中的项目和用户添加的项目应该是永久性的,而不使用数据库,是可能的?

使用c#在远程Windows服务器上创build本地用户

这甚至不是一个域和用户名,我认为这是一个安全组。

任何帮助赞赏。

交易登记performance问题

当固定到开始菜单时,应用程序标题丢失

如何在Windows 8.1中安装WPF Performance Suite?

在Windows 8上使用简单的Windows窗体/ WPF应用程序是否适用于平板电脑?

在W10通用应用程序中从资源文件夹播放audio

如果用户管理员,则他们创建的文件被认为是由整个管理员组拥有,而不是由个人用户拥有。

您可以在资源管理器的属性对话框中看到相同的行为。 令人烦恼的是,我不认为有任何解决方法,除了不让用户管理员

编辑: 本Technet文章更详细地解释了这种行为。 理由是Windows将所有管理员视为一个单一的实体; 系统上的任何管理员都可以执行其他管理员可以执行的操作。

如果一个管理员一个文件上被授权,所有其他管理员也是如此

如果一个管理员被拒绝访问,那么其他管理员也是如此

如果一个管理员拥有一个文件 – 该文件的所有者被授予对该文件的特权访问权 – 那么所有其他管理员也必须拥有该文件

更新:我错了,有一个文件对象的所有者描述符! (我的头在哪里)。 看看这个MSDN文章

可能是因为文件对象没有定义创建者或所有者,而是由系统本身(内置管理员)拥有。 “组或用户名”列表仅指定可以访问该文件的组和用户的列表,但不具体指定创建者。

最好你可以做的是遍历“组或用户名”的列表,并最好地猜测哪一个创建者。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐