参考这篇文章 “所有者”概述部分
http://www.wooolonline.net/article.asp?id=26c:\test的所有者(文件夹属性->安全->高级->所有者)是 administrator 想改成系统的新用户user01
不是修改文件夹的安全权限哦测试代码如下using System;
using System.Text;
using System.IO;
using System.Data;
using System.Diagnostics;
using System.Collections;
using System.Security.AccessControl;
using System.Security.Principal;namespace TakeOwnerShip
{
class Program
{
static void Main(string[] args)
{ try
{ NTAccount account = new NTAccount("user01");
DirectoryInfo dInfo = new DirectoryInfo("c:\\test");
DirectorySecurity oDirectorySecurity = dInfo.GetAccessControl(AccessControlSections.Owner); SecurityIdentifier sid2 =(SecurityIdentifier)oDirectorySecurity.GetOwner(typeof(SecurityIdentifier)); //文件夹的所有者SID
Console.WriteLine(sid2.ToString()); NTAccount account2 = (NTAccount)oDirectorySecurity.GetOwner(typeof(NTAccount)); Console.WriteLine(account2.ToString()); oDirectorySecurity.SetOwner(account);
dInfo.SetAccessControl(oDirectorySecurity); }
catch (Exception e)
{ Console.WriteLine(e.ToString());
} Console.ReadLine();
} }
}测试结果返回 : 不允许将安全标识符号作为此对象的所有者和这里的问题一样 http://www.mcse.ms/message1818141.html翻遍了google,找不到C#应该如何处理.希望各位大大帮忙,谢谢
http://www.wooolonline.net/article.asp?id=26c:\test的所有者(文件夹属性->安全->高级->所有者)是 administrator 想改成系统的新用户user01
不是修改文件夹的安全权限哦测试代码如下using System;
using System.Text;
using System.IO;
using System.Data;
using System.Diagnostics;
using System.Collections;
using System.Security.AccessControl;
using System.Security.Principal;namespace TakeOwnerShip
{
class Program
{
static void Main(string[] args)
{ try
{ NTAccount account = new NTAccount("user01");
DirectoryInfo dInfo = new DirectoryInfo("c:\\test");
DirectorySecurity oDirectorySecurity = dInfo.GetAccessControl(AccessControlSections.Owner); SecurityIdentifier sid2 =(SecurityIdentifier)oDirectorySecurity.GetOwner(typeof(SecurityIdentifier)); //文件夹的所有者SID
Console.WriteLine(sid2.ToString()); NTAccount account2 = (NTAccount)oDirectorySecurity.GetOwner(typeof(NTAccount)); Console.WriteLine(account2.ToString()); oDirectorySecurity.SetOwner(account);
dInfo.SetAccessControl(oDirectorySecurity); }
catch (Exception e)
{ Console.WriteLine(e.ToString());
} Console.ReadLine();
} }
}测试结果返回 : 不允许将安全标识符号作为此对象的所有者和这里的问题一样 http://www.mcse.ms/message1818141.html翻遍了google,找不到C#应该如何处理.希望各位大大帮忙,谢谢
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/sag_seconceptsunown.mspx?mfr=true刚在这里看到
Although an administrator can take ownership, the administrator cannot transfer ownership to others. This restriction keeps administrators accountable for their actions.连administrator都不可以转移所有者给别的用户,要怎么办?
找到C++ VB.net的相关代码 但是就没C#的