Query GPOs by Group

['Administrator' => [...], 'vnc_admin' => [...]] ] if (isset($data['error'])) { echo "

Error: {$data['error']}

"; } else { foreach ($data as $row) { // safety: skip rows that do not contain the expected keys if (!isset($row['gpo'], $row['ad_group'], $row['local_group'])) { continue; } $gpoName = $row['gpo']; $adGroup = $row['ad_group']; $localGroup = strtolower($row['local_group']); // initialise if not already done if (!isset($gpoMap[$gpoName])) { $gpoMap[$gpoName] = [ 'administrators' => [], 'vnc_admin' => [] ]; } // put the ad_group into the right bucket if ($localGroup === 'administrators') { $gpoMap[$gpoName]['administrators'][] = $adGroup; } elseif ($localGroup === 'vnc_admin') { $gpoMap[$gpoName]['vnc_admin'][] = $adGroup; } } ksort($gpoMap, SORT_STRING | SORT_FLAG_CASE); echo ''; echo ''; foreach ($gpoMap as $gpoName => $cols) { // Remove duplicates and build comma‑separated lists $adminGroups = implode('
', array_unique($cols['administrators'])); $vncGroups = implode('
', array_unique($cols['vnc_admin'])); echo ''; echo ""; echo ""; echo ""; echo ''; } echo '
GPOAdministratorsvnc_admin
{$gpoName}{$adminGroups}{$vncGroups}
'; } } else { echo "

No group specified.

"; } echo "

Source code can be found here.

"; ?>