C# .NET组策略\计算机文件夹
从C#访问System32\GroupPolicy\Machine文件夹是我的一个独特要求(就这样吧)。我可以完全控制浏览目录,但从C#访问时会出现以下错误: 找不到路径“C:\windows\system32\grouppolicy\Machine”的一部分 我不能使用任何其他传统的访问策略的方法,它必须通过文件系统来完成。以下是我尝试浏览目录时使用的代码: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
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);
}