访问文件系统上的每个文件(无论如何)在Windows 7上

时间:2010-05-07 19:34:49

标签: c# windows-7 file-permissions

在c#中,在Windows 7机器上,我如何以编程方式访问文件系统上的每个文件,就像我是“主管理员”一样。

这里的主要优先级是,在安装了我的c#程序后,它不会遇到任何文件/文件夹访问权限问题。我的程序作为Windows服务运行,它必须允许用户备份文件系统上的任何文件。

3 个答案:

答案 0 :(得分:5)

如果您确保该服务在Backup Operator组中的帐户下运行,我认为它会起作用。我认为无论有什么权限,该组都可以访问所有文件。

来自MS支持页面的引用:

SID:S-1-5-32-551 名称:备份操作员 描述:内置组。默认情况下,该组没有成员。无论保护这些文件的权限如何,备份操作员都可以备份和还原计算机上的所有文件。备份操作员也可以登录到计算机并将其关闭。

虽然该页面适用于早期版本的Windows,但我并不是100%确定它没有被更改。

答案 1 :(得分:3)

Win32 backup API最有可能是您想要的,可能与Volume Shadow Service结合使用。您的应用程序必须具有SeBackupPrivilege privilege。但请注意,可以读取使用EFS加密的文件,但只能以加密形式读取。

您可能也感兴趣的链接:

http://mutable.net/blog/archive/2006/11/21/an-intelligent-backup-system-for-windows-part-3.aspx

http://msdn.microsoft.com/en-us/library/aa362520(v=VS.85).aspx

答案 2 :(得分:2)

您必须将服务配置为在具有足够权限的帐户下运行。

AFAIK标准的“本地系统”已经具有相当高的权限。但无论如何,您将无法访问保留给系统帐户的文件或专用的文件。您的程序将始终必须能够处理与Access相关的异常。