Skip to main content

SYNOPSIS

Flattens a nested PSObject (audit record) into a single-level hashtable.

SYNTAX

ConvertTo-FlatObject [-InputObject] <PSObject> [[-Prefix] <String>] [-PreserveTypes]
 [-ProgressAction <ActionPreference>] [<CommonParameters>]

DESCRIPTION

Extracted from Search-UnifiedAuditLogCustom so the flattening logic is reusable and unit-testable on its own. Recursively expands nested objects, dictionaries and lists into prefixed keys, and special-cases the audit Parameters array (ParameterString / Param_* / FullCommand).

EXAMPLES

PARAMETERS

-InputObject

{{ Fill InputObject Description }}
Type: PSObject
Parameter Sets: (All)
Aliases:

Required: True
Position: 1
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Prefix

{{ Fill Prefix Description }}
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 2
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-PreserveTypes

{{ Fill PreserveTypes Description }}
Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

OUTPUTS

NOTES