2017-05-31 16 views
1

首先我想指出的是,所有需要的訪問滲透已得到。如何從包含'。'的unc路徑獲取DirectorySecurity。作爲localhost?

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

的問題是,如果directoryPath包含'.''localhost'異常會被拋出。 (InvalidOperationException)。如果'.'更改'localhost'所有工作正常。

enter image description here

有沒有解決這個情況當然除了常規字符串修改任何漂亮呢?像Path.Combine等等?

回答

1

你可以簡單地替換字符點(。),在目錄路徑來第1次

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

好吧,我給予好評的回答,不過也建議你仔細閱讀的問題!問題是「除了固定字符串修改外,是否有任何方法可以解決這種情況?」 – isxaker

相關問題