API Reference
Class
EncryptionTypeChecker
Evaluates supported Kerberos encryption types for user and computer accounts.
Inheritance
- Object
- EncryptionTypeChecker
Remarks
See usage examples in the unit tests for typical scenarios.
Constructors
public EncryptionTypeChecker(Func<String, IEnumerable<ValueTuple<String, Int32>>> fetchAccounts = null, Func<IEnumerable<String>> enumerateDomains = null) #Initializes a new instance of the EncryptionTypeChecker class.
Parameters
- fetchAccounts System.Func{System.String,System.Collections.Generic.IEnumerable{System.ValueTuple{System.String,System.Int32}}} = null
- Optional delegate returning account encryption data for a domain.
- enumerateDomains System.Func{System.Collections.Generic.IEnumerable{System.String}} = null
- Optional delegate returning domains to evaluate.
Methods
public IEnumerable<KerberosEncryptionFinding> Check(Boolean log = true) #Returns:
IEnumerable<KerberosEncryptionFinding>Logs warnings for all domains in the forest and returns findings.
Parameters
- log System.Boolean = true
- Whether to emit warnings for weak accounts.
Returns
Collection of findings.
public IEnumerable<KerberosEncryptionFinding> CheckDomain(String domainName = null, Boolean log = true) #Returns:
IEnumerable<KerberosEncryptionFinding>Logs warnings for accounts that do not support AES encryption and returns analysis details.
Parameters
- domainName System.String = null
- Target domain or null for the current domain.
- log System.Boolean = true
- Whether to emit warnings for weak accounts.
Returns
Collection of findings.
public static IEnumerable<String> FilterWeakEncryption(IEnumerable<ValueTuple<String, Int32>> accounts) #Returns:
IEnumerable<String>Filters a collection of account data to those lacking AES encryption support.
Parameters
- accounts System.Collections.Generic.IEnumerable{System.ValueTuple{System.String,System.Int32}}
- Account data with encryption type flags.
Returns
Collection of SAM account names.
GetAccounts 2 overloads
public IEnumerable<ValueTuple<String, Int32>> GetAccounts(String domainName) #Returns:
IEnumerable<ValueTuple<String, Int32>>Retrieves account encryption information for the specified domain.
Parameters
- domainName System.String
- Target domain.
Returns
Collection of account data.
public IEnumerable<ValueTuple<String, Int32>> GetAccounts() #Returns:
IEnumerable<ValueTuple<String, Int32>>Iterates all domains and returns encryption information for each account.
Returns
Collection of account data.