를 사용하여 원격 시스템에 관리자 그룹에서 사용자 계정을 제거합니다. 하지만 내가 다시 내 애플 리케이션을 실행하면 내 listview 에서이 사용자를 참조하십시오. 따라서 사용자는 삭제되지 않았습니다. 아래의 솔루션은 Directory Service
의 도움으로 사용자를 삭제하는 것입니다내가 코드를 C# 및 AccountManagment 네임 스페이스
3
A
답변
2
AccountManagment 네임 스페이스없이 문제를 해결했습니다.
public bool RemoveUserFromAdminGroup(string computerName, string user)
{
try
{
var de = new DirectoryEntry("WinNT://" + computerName);
var objGroup = de.Children.Find(Settings.AdministratorsGroup, "group");
foreach (object member in (IEnumerable)objGroup.Invoke("Members"))
{
using (var memberEntry = new DirectoryEntry(member))
if (memberEntry.Name == user)
objGroup.Invoke("Remove", new[] {memberEntry.Path});
}
objGroup.CommitChanges();
objGroup.Dispose();
return true;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
return false;
}
}
0
...
using System.DirectoryServices
private DeleteUserFromActiveDirectory(DataRow in_Gebruiker)
{
DirectoryEntry AD = new DirectoryEntry(strPathActiveDirectory ,
strUsername, strPassword)
DirectoryEntry NewUser =
AD.Children.Find("CN=TheUserName", "User");
AD.Children.Remove(NewUser);
AD.CommitChanges();
AD.Close();
}
+0
이 코드는 도메인의 사용자 그룹에있는 사용자입니다. 하지만 원격 컴퓨터의 관리자 그룹에서 계정을 제거해야합니다. – andDaviD
0
내가 정확히 문제가 무엇인지 모르겠지만 이런 식으로 코딩 :
try
{
PrincipalContext context = new PrincipalContext(ContextType.Domain, "WM2008R2ENT:389", "dc=dom,dc=fr", "jpb", "passwd");
/* Retreive a user principal
*/
UserPrincipal user = UserPrincipal.FindByIdentity(context, "user1");
/* Retreive a group principal
*/
GroupPrincipal adminGroup = GroupPrincipal.FindByIdentity(context, @"dom\Administrateurs");
foreach (Principal p in adminGroup.Members)
{
Console.WriteLine(p.Name);
}
adminGroup.Members.Remove(user);
adminGroup.Save();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
내놔 나 다음과 같은 예외 :
Information about the domain could not be retrieved (1355)
나에게 보여 줬던 약간의 arround를 파 내라. 대상 도메인에 있지 않은 컴퓨터에서 내 코드를 실행합니다. 서버 자체에서 동일한 코드를 실행하면 작동합니다. 이 코드를 실행하는 컴퓨터는 적어도 대상 도메인의 DNS에 연결해야합니다.
관련 문제
- 1. C++ 네임 스페이스 및 템플릿
- 2. C++ 네임 스페이스 문제
- 3. F # 및 네임 스페이스
- 4. 네임 스페이스 및 클래스
- 5. C# 네임 스페이스 질문
- 6. XSL 및 네임 스페이스
- 7. C#의 네임 스페이스
- 8. C++, 다른 네임 스페이스
- 9. C++ 네임 스페이스 도움말
- 10. 네임 스페이스 C# .NET
- 11. 자동로드 및 네임 스페이스
- 12. C++ 템플릿 및 접근 네임 스페이스
- 13. C 번호 : 명시 네임 스페이스
- 14. sanitize 및 네임 스페이스
- 15. C++ 클래스 선언 및 네임 스페이스
- 16. 네임 스페이스 Orginization 및 규칙
- 17. C++ 네임 스페이스 사용 및 명명 규칙
- 18. C++에서 네임 스페이스 및 연산자 오버로드
- 19. xml 및 네임 스페이스 예외
- 20. C++ 헤더 파일의 네임 스페이스
- 21. 네임 스페이스 ++
- 22. XML 네임 스페이스, C#을
- 23. Doxygen/C++ : 네임 스페이스 목록의 전역 네임 스페이스
- 24. C# - 네임 스페이스 GestureEventArgs 어셈블리
- 25. C# .NET 네임 스페이스 이름이 네임 스페이스 오류에 없습니다. 로컬 네임 스페이스 지시문을 벗어난 경우에만 - 왜?
- 26. 네임 스페이스
- 27. XSLT 및 네임 스페이스 문제
- 28. 네임 스페이스
- 29. Qt 번역본 및 네임 스페이스
- 30. 네임 스페이스
이것은 로컬 또는 원격 컴퓨터 수준 그룹을 열거 할 수있는 유일한 방법이기도합니다. AccountManagement 네임 스페이스는 컴퓨터 수준 그룹에 도메인 수준 보안 주체가있는 경우 몇 가지 문제가 있습니다. 예를 들어 CORP \ myuser를 로컬 Administrators 그룹에 추가하면 GroupPrincipal의 Members 속성이 실패하게됩니다. – jproch