我有一個應用程序用於執行一些操作以隔離域上的用戶,例如創建Active Directory結構,用戶和組以及將用戶分配到不同的組。跨域設置文件夾權限
一旦在AD中創建了所有內容,我想爲我新創建的AD組中的一個新創建的文件夾分配訪問權限。
我想從本地計算機上運行應用程序在不同的域上,而不必登錄到域中的計算機上,然後從那裏運行應用程序。
除了設置訪問規則之外,我的應用程序中的所有內容似乎都能在本地機器上正常工作;失敗:
「部分或全部標識引用無法翻譯」。
從域內運行時,代碼工作正常。我一直在使用模擬也試過,但這個並沒有區別
if (Directory.Exists(sDirectory))
{
using (Impersonation impUser = new Impersonation(sAdminUserName, _sDomain, sAdminPassword))
{
DirectoryInfo diClientDirectory = new DirectoryInfo(sDirectory);
DirectorySecurity dsClientDirectory = diClientDirectory.GetAccessControl();
FileSystemAccessRule fsAccessRules = new FileSystemAccessRule(sSecurityGroup, FileSystemRights.FullControl, (InheritanceFlags.ObjectInherit | InheritanceFlags.ContainerInherit), PropagationFlags.InheritOnly, AccessControlType.Allow);
**dsClientDirectory.AddAccessRule(fsAccessRules); //THIS LINE THROWS THE EXCEPTION**
diClientDirectory.SetAccessControl(dsClientDirectory);
}
不過,如上所述,代碼在域內的機器上運行時運行成功,所以我原以爲它不太可能成爲您的第一個不存在的組的建議,否則應該失敗呢?該組確實存在,因爲它是在代碼中創建的,或者在測試過程中甚至在本週早些時候創建!這可能是一個解決問題,但......所有其他操作工作,如創建AD對象和目錄本身,所以我會認爲信任是好的。它只是權限失敗 – RobBlankson