SQL SCCM 2012报告返回不在指定AD组中的本地管理员

时间:2016-02-22 22:44:54

标签: sql sccm active-directory-group

我一直在看互联网和StackOverflow一段时间,并且已经到了我迷路的地步。不幸的是,SQL不是我的优点之一。我正在尝试获取本地计算机管理员的报告。这部分工作正常。我需要按AD组筛选此列表,这也是有效的,AD群组成员目前无法正常工作。

这就是我所拥有的:

SELECT DISTINCT
  v_gs_computer_system.Name0 as 'Computer'
  ,v_GS_LocalGroupMembers0.Account0 as 'Administrator'
  ,v_GS_LocalGroupMembers0.Category0 as 'Scope'
  ,v_GS_LocalGroupMembers0.Type0 as 'Type'
  ,U.User_Name0 as 'User'
  ,G.User_Group_Name0 as 'Group'
FROM
  v_GS_LocalGroupMembers0
  INNER JOIN v_gs_computer_system ON v_GS_LocalGroupMembers0.resourceID = v_gs_computer_system.resourceID
  FULL OUTER JOIN v_R_User U on v_GS_LocalGroupMembers0.Account0 = U.User_Name0
  FULL OUTER JOIN v_RA_User_UserGroupName G ON G.ResourceID = U.ResourceID
WHERE
  v_GS_LocalGroupMembers0.Name0 = 'Administrators'
AND NOT
  (v_GS_LocalGroupMembers0.Account0 = 'Domain Admins'
   OR G.User_Group_Name0 = 'Domain\GroupName'
)

正在运作的部分:

  • 列出计算机上的所有本地管理员
  • 从结果中删除“域管理员”的行

我需要帮助:

  • 用户是要从结果中删除的“Domain \ GroupName”成员的行

我看到我所做的是错误的,因为它确实删除了用户组的Row,但我希望它完全从报告中删除用户。我们非常感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

所以,经过一段时间和修修补补后,我能够通过以下方式得到我想要的东西:

    exporter.exportReport();
    output.flush();
    output.close();