如何从包含'。'的unc路径获取DirectorySecurity。作为localhost?

时间:2017-05-31 09:15:10

标签: c# .net directory localhost

首先,我想指出所有需要的访问渗透已经得到了。

private static IEnumerable<FileSystemAccessRule> GetDirectoryAccessRules(string directoryPath)
{
     AuthorizationRuleCollection rules = Directory.GetAccessControl(directoryPath);

问题是如果directoryPath包含'.' 'localhost',则会抛出异常。 (InvalidOperationException)。如果在'.'上更改'localhost',则位一切正常。

enter image description here

除了常规字符串修改之外,还有什么方法可以解决这种情况吗?像Path.Combine等等?

1 个答案:

答案 0 :(得分:1)

您可以简单地替换目录路径中第一次出现的字符点(。)

 if (directoryPath.Contains('.') && directoryPath.IndexOf('.') != directoryPath.LastIndexOf('.')) 
 {
   var regex = new Regex(Regex.Escape("."));
   directoryPath = regex.Replace(directoryPath, ".", 1);
 }