Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET组策略\计算机文件夹_C#_.net_Filesystems_Group Policy - Fatal编程技术网

C# .NET组策略\计算机文件夹

C# .NET组策略\计算机文件夹,c#,.net,filesystems,group-policy,C#,.net,Filesystems,Group Policy,从C#访问System32\GroupPolicy\Machine文件夹是我的一个独特要求(就这样吧)。我可以完全控制浏览目录,但从C#访问时会出现以下错误: 找不到路径“C:\windows\system32\grouppolicy\Machine”的一部分 我不能使用任何其他传统的访问策略的方法,它必须通过文件系统来完成。以下是我尝试浏览目录时使用的代码: string[] files; files=Directory.GetFiles(Environment.SystemDire

从C#访问System32\GroupPolicy\Machine文件夹是我的一个独特要求(就这样吧)。我可以完全控制浏览目录,但从C#访问时会出现以下错误:

找不到路径“C:\windows\system32\grouppolicy\Machine”的一部分

我不能使用任何其他传统的访问策略的方法,它必须通过文件系统来完成。以下是我尝试浏览目录时使用的代码:

  string[] files;  
files=Directory.GetFiles(Environment.SystemDirectory+@“\grouppolicy\Machine”)

以管理员身份运行Visual Studio,Win 7 64位

编辑


Directory.GetDirectories(Environment.SystemDirectory+@“\grouppolicy\”)也不会返回任何文件夹,即使我在资源管理器中看到3个子文件夹。

由于64位操作系统上的32位应用程序,您几乎肯定会被重定向到syswow64目录。(就在同一个问题上浪费了3个小时敲我的头)。根据MSDN,使用SYSNATIVE而不是SYSTEM32

比如:


此文件夹
机器
是用户创建的吗?还是系统的?它是由我相信安装时使用的操作系统创建的。默认情况下,它在我所有的虚拟机上。嗯,我没有那个。让我再核实一下。编辑:没有。是的,我这么做了。它是隐藏的,您可能必须取消隐藏系统文件夹才能看到它。您是否尝试更改应用程序清单?
    string[] files;
    if (Environment.Is64BitOperatingSystem)
    {
        files = Directory.GetFiles("C:\\WINDOWS\\SYSNATIVE\\GROUPPOLICY\\MACHINE");
    }
    else
    {
        files = Directory.GetFiles("C:\\WINDOWS\\SYSTEM32\\GROUPPOLICY\\MACHINE");
    }
    foreach (string file in files)
    {
        System.Console.WriteLine(file);
    }