查询System.DirectoryServices.ActiveDirectory

时间:2013-01-03 06:12:57

标签: c# dns active-directory domaincontroller

我在Domain命名空间中使用System.DirectoryServices.ActiveDirectory对象。每当我使用Domain.GetCurrentDomainDomain.GetDomain查询域详细信息时,它都会与域控制器建立连接。可以使用netstat -ano|findstr 389命令查看此连接。

代码:

Domain dom = Domain.GetCurrentDomain();

我的问题是,如何关闭连接?我可以关闭连接的唯一方法是处置Domain对象。由于我在代码中缓存了Domain对象,所以我不想将其丢弃。它引发的问题是,'ESTABLISHED'状态在一段时间后仍会变为'CLOSE_WAIT'。

netstat -ano | findstr 389

  TCP    10.241.93.168:51291    154.1.124.156:389      CLOSE_WAIT      8028
  TCP    10.241.93.168:51297    154.1.124.154:389      CLOSE_WAIT      8028
  TCP    10.241.93.168:51302    154.1.124.158:389      CLOSE_WAIT      8028
  TCP    10.241.93.168:51320    154.1.124.155:389      CLOSE_WAIT      8028
  TCP    10.241.93.168:51323    154.1.124.153:389      CLOSE_WAIT      8028
  TCP    10.241.93.168:51332    154.1.124.157:389      CLOSE_WAIT      8028
  TCP    10.241.93.168:53399    148.86.153.162:389     CLOSE_WAIT      8028
  TCP    10.241.93.168:53436    139.172.150.15:389     CLOSE_WAIT      8028

出于安全原因,我需要消除这种陈旧的连接。如果您有任何建议,请告诉我。

谢谢,Santhosh

1 个答案:

答案 0 :(得分:1)

我敢打赌,Domain对象保持连接打开,因为您可以对它执行操作。

如果您只是需要获取一些域信息,您应该阅读它并将其存储在一个简单的类中,然后处理Domain