def METHOD_NAME(
    args: CoverageAnalyzeTargetsGenerateConfig,
    path: str,
    target_indexes: TargetIndexes,
) -> Lines:
    """Analyze PowerShell code coverage"""
    results: Lines = {}
    collection_search_re, collection_sub_re = get_collection_path_regexes()
    powershell_files = get_powershell_coverage_files(path)
    for powershell_file in powershell_files:
        if not is_integration_coverage_file(powershell_file):
            continue
        target_name = get_target_name(powershell_file)
        target_index = get_target_index(target_name, target_indexes)
        for filename, hits in enumerate_powershell_lines(powershell_file, collection_search_re, collection_sub_re):
            lines = results.setdefault(filename, {})
            for covered_line in hits:
                line = lines.setdefault(covered_line, set())
                line.add(target_index)
    prune_invalid_filenames(args, results)
    return results