DirectoryServices-查找域中的所有Windows 7和Windows 10计算机

时间:2018-12-25 18:52:04

标签: vb.net active-directory directoryservices user-profile

我正在创建一个工具,以按年龄删除域中所有Windows 7和Windows 10设备上的用户配置文件。我使用此过滤器((objectClass=computer))使它工作,但是我想优化为仅获取Windows 7和Windows 10设备,因为我的部门管理台式机/笔记本电脑而不是服务器。为了使该工具更有效并且不尝试连接到设备,我没有管理员访问权限。

所以我尝试了这个过滤器:

mySearcher.Filter = "(&(objectClass=computer)(operatingSystemVersion=*server*))

我的想法是,如果操作系统不是Windows Server 2012或Windows Server 2008,则执行类似的操作,然后执行一些操作。

我加载了operatingSystem属性,但无法显示。我已经在datagridview中尝试过了,但是当它不起作用时,我只是尝试做一个Console.WriteLine,也没有任何作用。我想在添加代码以使用WMI删除配置文件之前测试我的概念,方法是仅显示主机名和操作系统版本,以确保它从AD中提取信息而不给我服务器。有人可以帮忙吗?这是代码(目前我正在使用v06域):

Dim mySearcher As DirectorySearcher = New DirectorySearcher(enTry)
   mySearcher.PropertiesToLoad.Add("dNSHostName")
   mySearcher.PropertiesToLoad.Add("operatingSystem")
   mySearcher.PropertiesToLoad.Add("operatingSystemVersion")
   mySearcher.Filter = "(&(objectClass=computer)(operatingSystem=*server*))" '("(objectClass=computer)")

   Dim resEnt As SearchResult
   For Each resEnt In mySearcher.FindAll()
       Select Case dMain
           Case "v06"
               Try

                   hostName = GetProperty(resEnt, "dNSHostName")
                   OSystem = GetProperty(resEnt, "operatingSystem")
                   Dim result1 As Net.NetworkInformation.PingReply = ping.Send(hostName, 1000)
                   If result1.Status = Net.NetworkInformation.IPStatus.Success Then
                       Dim row2 As String() = New String() {hostName, "N/A", OSystem}
                       dgvLocal.Rows.Add(row2)
                   Else
                       My.Computer.FileSystem.WriteAllText("C:\ExodusErrorLog.txt", hostName & " - Device is not pingable!" & vbCrLf & vbCrLf, True)
                   End If
               Catch ex As Exception
                   My.Computer.FileSystem.WriteAllText("C:\ExodusErrorLog.txt", hostName & " - " & ex.Message & vbCrLf & vbCrLf, True)
               End Try
           Case "v07.med.va.gov"
       End Select
   Next

0 个答案:

没有答案