fritz
05/20/2020, 7:36 PMkolide_wmi
table:
WITH
optional_features AS (
SELECT
parent,
key,
value,
class
FROM kolide_wmi WHERE class = 'Win32_OptionalFeature'
AND properties = 'name,installstate,caption'),
identify_parent AS (
SELECT
DISTINCT(parent) AS parent
FROM optional_features
WHERE value LIKE '%Powershell%'),
reduce_to_powershell AS (
SELECT * FROM optional_features, identify_parent USING (parent)),
eav_pivot AS (
SELECT
MAX(CASE WHEN key = 'name' THEN value END) AS name,
MAX(CASE WHEN key = 'installstate' THEN value END) AS install_state,
MAX(CASE WHEN key = 'caption' THEN value END) AS caption
FROM reduce_to_powershell
GROUP BY parent),
win32_powershell_v2 AS (
SELECT
name, caption,
CASE
WHEN install_state = '1' THEN 'enabled'
WHEN install_state = '2' THEN 'disabled'
WHEN install_state = '3' THEN 'absent'
WHEN install_state = '4' THEN 'unknown'
END AS install_state
FROM eav_pivot)
SELECT * FROM win32_powershell_v2;
KLC
05/20/2020, 8:26 PMfritz
05/20/2020, 8:39 PM