.. generated, remove this comment to keep this file ``example_user_registry_record`` ================================ .. code-block:: console $ target-query -f example_user_registry_record .. list-table:: Details :widths: 20 80 * - Module - ``dissect.target.plugins.general.example.ExamplePlugin`` * - Output - ``records`` **Module documentation** Example plugin. This plugin serves as an example for new plugins. Use it as a guideline. Docstrings are used in help messages of plugins. Make sure to document your plugin and plugin functions. Use Google docstring format: https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html Plugins can optionally be namespaced by specifying the ``__namespace__`` class attribute. Namespacing results in your plugin needing to be prefixed with this namespace when being called. For example, if your plugin has specified ``test`` as namespace and a function called ``example``, you must call your plugin with ``test.example``:: __namespace__ = "test" The ``__init__`` takes the target as only argument. Perform additional initialization here if necessary:: def __init__(self, target: Target): super().__init__(target) **Function documentation** Example plugin that generates records with registry key and user information. To include registry or user information in a record, you must create a new record descriptor using :func:`~dissect.target.helpers.record.create_extended_descriptor` with :class:`~dissect.target.helpers.descriptor_extensions.RegistryRecordDescriptorExtension` and/or :class:`~dissect.target.helpers.descriptor_extensions.UserRecordDescriptorExtension` as extensions.