在我拔出其余的头发之前,我想就此获得一些输入。
我试图获得一个文件夹的所有权。我当然是以管理员身份运行该程序,因为我可以更改资源管理器中的所有者,所以我有权利拥有所有权。取得文件或文件夹的所有权
但是,如果管理员或我的帐户拥有它,我可以更改所有者,如果我已拥有所有权,则可以更改权限。
如果我试图让自己拥有一个文件,让我们说拥有SYSTEM,那么我得到一个未授权的指示。
我已经尝试了一些与accesscontrol方法不同的东西,但没有任何工作,这个最新的方法我认为是直接由本书。
private static void makePerm(string file, NTAccount account)
{
FileInfo finfo = new FileInfo(file);
FileSecurity fsecurity = finfo.GetAccessControl();
//also tried it like this //fsecurity.ResetAccessRule(new FileSystemAccessRule(string.Format(@"{0}\{1}", Environment.UserDomainName.ToString(), Environment.UserDomainName.ToString()), FileSystemRights.FullControl, AccessControlType.Allow));
fsecurity.SetOwner(account);
finfo.SetAccessControl(fsecurity);
}
我想在Windows 7 btw上这个。
我在这里错过了什么?
你似乎什么缺少的是系统级别高于你和管理员。 – 2011-03-20 13:59:52
您确定您可以通过系统拥有的文件获取资源管理器中的所有权吗?你似乎这样说,但太明确。 – 2011-03-20 14:01:46
是啊我知道,但为什么我可以在资源管理器中将系统所有者从系统更改为管理员,但是不能使用代码? AFAIK管理员可以始终拥有任何东西。 – 2011-03-20 14:02:27