Tag: ntfs

如何读取目录和/或文件的128位NTFS FILE_ID?

因此NTFS使用128位Guid来识别文件和目录,您可以轻松地查看此信息: C:\ Temp> C:\ Windows \ System32 \ fsutil.exe objectid查询。 对象ID:ab3ffba83c67df118130e0cb4e9d4076 BirthVolume ID:ca38ec6abfe0ca4baa9b54a543fdd84f BirthObjectId ID:ab3ffba83c67df118130e0cb4e9d4076 域ID:00000000000000000000000000000000 所以这很明显,但是如何以编程方式检索这些信息呢? 查看OpenFileById(…)的WinApi,您应该能够获得此信息。 可以预期这将在“ Win32 FileID API库 ”中完成,但那里的方法( GetFileInformationByHandleEx )返回FILE_ID_BOTH_DIR_INFO结构。 这个结构定义了一个FileId; 但是,它是一个LARGE_INTEGER(64位)而不是完整的128位标识符。 我猜测可以使用WMI,这是我应该转向的地方吗?

使用Transactional NTFS(TxF)获得任何真实的企业级体验?

背景: 我知道关于Transactional NTFS(TxF)和本文描述如何使用它的这个问题,但是我正在寻找具有大量blob数据的合理大批量企业系统的 实际经验 (比如文档和/或照片)需要在交易后持久并多次阅读 。 我们期待每天写入数万个文档,每小时读取几万个文档。 我们可以在文件系统或SQL Server中存储索引,但必须能够在几个框中扩展它。 我们必须保留为灾难恢复轻松备份和恢复数据的能力。 问题: 使用Transactional NTFS(TxF)获得任何真实的企业级体验? 相关问题: 有人尝试使用TxF进行分布式事务,同一文件同时提交给两个镜像服务器吗? 有人尝试过使用文件系统和数据库的分布式事务吗? 您可以分享任何性能问题/可靠性问题/性能数据? 在交易成为问题之前,有没有人甚至做过这种规模的事情? 编辑 :为了更清楚,我已经研究了其他技术,包括SQL Server 2008的新FILESTREAM数据类型,但是这个问题仅针对事务文件系统 。 更多资源: 有关TxF的MSDN杂志文章称为“使用文件系统事务增强您的应用程序” 。 一个名为“Transactional Vista:内核事务管理器和朋友(TxF,TxR)”的网络广播。 这段video引用了使用2-5%的TxF的开销,性能讨论开始大约25分钟。这是我发现的第一组硬数字。 这段video非常好地概述了它如何在幕后工作。 在大约34:30,演讲者描述了与这个问题非常相似的情景。 频道9的截屏video名为“Surendra Verma:Vista Transactional File System” 。 他在35分钟左右开始谈论表现。没有硬数据。 B#.NET博客上的TxF文章列表。 频道9的截屏video称为“事务性NTFS” 。

.net持久资源管理器,用于事务性文件系统访问

我试图围绕在C#中使用System.Transactions命名空间。 我在MSDN上找到了一些关于使用资源管理器的文档,但它只包含任何细节的易失性内存资源管理器(如Transactional)。 我基本上在寻找可以在TransactionScope中使用的东西,就像Transactional 一样,但是用它来写入/修改/删除磁盘上的文件。 标准库中是否存在类似的内容? 我已经读过NTFS现在有“TxF”允许事务性文件系统访问 – 我期待在.net中找到一些利用它的东西。 也许我需要实现自己的?

在C#.NET中设置NTFS权限

如何在C#.NET中设置NTFS权限? 我试图在.NET中更改读/写权限。 我是新手,请帮忙!

获取具有“损坏”权限的文件的所有权

我正在努力克服以下情况。 给定存储在NTFS卷上的目录,其中: 目录所有者设置为其他人(例如,非特权用户) 目录DACL配置为允许访问不包括系统或管理员的特定人员组 目录上的DACL实际上不授予任何人获取所有权或更改DACL的权限 (或者简而言之,所有管理员都被锁定在文件夹之外) 但! 我运行的帐户具有管理权限(SeBackupPrivilege,SeSecurityPrivilege) 现在的DACL可以被忽略,因为我正在编写一个新的DACL 使用其他工具(takeown.exe),我可以访问相关目录。 (或者简而言之,我有权修复DACL /所有者) 我对以下代码应该没有问题: WindowsIdentity privilegedUser = System.Security.Principal.WindowsIdentity.GetCurrent(); // I cannot use File.GetAccessControl() as I get access denied // (working as intended! I have no access to read the ACL!) // so I have to write a new ACL: FileSecurity acl = new FileSecurity(); acl.SetOwner(admin.User); acl.AddAccessRule(new […]