The codebase analysis shows that excluded_group currently supports only a single group (read via GetWString, stored as std::wstring, exact string match). However, GetMultiSZ() already exists in RegistryReader.cpp and is used for trusted_rpids. This PR changes excluded_group to use REG_MULTI_SZ / GetMultiSZ() to support multiple groups. The same applies to excluded_account and excluded_group_netbios_address.
This is especially useful in multilingual environments where the same built-in group has different names depending on OS language (e.g. Administrators on English vs Administratorzy on Polish Windows) — both can now be specified simultaneously.
Changes in this PR:
excluded_accounts (REG_MULTI_SZ) — replaces single excluded_account, supports multiple accounts
excluded_groups (REG_MULTI_SZ) — replaces single excluded_group, supports multiple groups (both local and domain groups in a single list — CP checks both NetUserGetLocalGroups and NetUserGetGroups against all entries)
excluded_group_netbios_addresses (REG_MULTI_SZ) — replaces single excluded_group_netbios_address, supports multiple DCs with automatic failover
Backward compatibility maintained — old single-value keys still work as fallback
New installer dialog for easier configuration of all exclusion settings
Format reference documentation added
The codebase analysis shows that excluded_group currently supports only a single group (read via GetWString, stored as std::wstring, exact string match). However, GetMultiSZ() already exists in RegistryReader.cpp and is used for trusted_rpids. This PR changes excluded_group to use REG_MULTI_SZ / GetMultiSZ() to support multiple groups. The same applies to excluded_account and excluded_group_netbios_address.
This is especially useful in multilingual environments where the same built-in group has different names depending on OS language (e.g. Administrators on English vs Administratorzy on Polish Windows) — both can now be specified simultaneously.
Changes in this PR:
excluded_accounts (REG_MULTI_SZ) — replaces single excluded_account, supports multiple accounts
excluded_groups (REG_MULTI_SZ) — replaces single excluded_group, supports multiple groups (both local and domain groups in a single list — CP checks both NetUserGetLocalGroups and NetUserGetGroups against all entries)
excluded_group_netbios_addresses (REG_MULTI_SZ) — replaces single excluded_group_netbios_address, supports multiple DCs with automatic failover
Backward compatibility maintained — old single-value keys still work as fallback
New installer dialog for easier configuration of all exclusion settings
Format reference documentation added