{"id":20040722,"url":"https://github.com/poshcode/metadata","last_synced_at":"2026-02-12T22:32:19.090Z","repository":{"id":38375996,"uuid":"380408043","full_name":"PoshCode/Metadata","owner":"PoshCode","description":"Serialization for the PowerShell metadata format","archived":false,"fork":false,"pushed_at":"2022-08-17T04:47:55.000Z","size":700,"stargazers_count":19,"open_issues_count":2,"forks_count":3,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-06-05T20:03:08.374Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PoshCode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-06-26T03:52:43.000Z","updated_at":"2024-08-09T22:46:32.000Z","dependencies_parsed_at":"2022-07-18T08:13:41.929Z","dependency_job_id":null,"html_url":"https://github.com/PoshCode/Metadata","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/PoshCode/Metadata","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PoshCode%2FMetadata","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PoshCode%2FMetadata/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PoshCode%2FMetadata/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PoshCode%2FMetadata/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PoshCode","download_url":"https://codeload.github.com/PoshCode/Metadata/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PoshCode%2FMetadata/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29383924,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T22:07:52.078Z","status":"ssl_error","status_checked_at":"2026-02-12T22:07:49.026Z","response_time":55,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T10:43:29.226Z","updated_at":"2026-02-12T22:32:19.076Z","avatar_url":"https://github.com/PoshCode.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build on push](https://github.com/PoshCode/Metadata/actions/workflows/build.yml/badge.svg)](https://github.com/PoshCode/Metadata/actions/workflows/build.yml)\r\n\r\n# The Metadata Module\r\n\r\nLong the core of my Configuration module, the Metadata module is now shipping on it's own.\r\n\r\n## Metadata commands for working with PowerShell's metadata manifest content (.psd1 files):\r\n\r\n- Manipulating metadata files\r\n- Extensible serialization of types\r\n- Built in support for DateTime, Version, Guid, SecureString, ScriptBlocks and more\r\n- Lets you store almost anything in readable metadata (.psd1) files\r\n- Serializing (`Export`) to metadata (.psd1) files\r\n- Deserializing (`Import`) from metadata (.psd1) files\r\n\r\nIt supports WindowsPowerShell, as well as PowerShell Core on Windows, Linux and OS X.\r\n\r\n## Installation\r\n\r\n```posh\r\nInstall-Module Metadata\r\n```\r\n\r\n## Usage: Serialization\r\n\r\nThe main serialization commands (with the `Metadata` noun) are: ConvertFrom, ConvertTo, Import and Export. By default, the serializer can handle a variety of custom PSObjects, hashtables, and arrays recursively, and has specific handling for booleans, strings and numbers, as well as Versions, GUIDs, and DateTime, DateTimeOffset, and even ScriptBlocks and PSCredential objects.\r\n\r\n**Important note:** PSCredentials are stored using ConvertTo-SecureString, and currently only work on Windows. They should be stored in the user scope, since they're serialized per-user, per-machine, using the Windows Data Protection API.\r\n\r\nIn other words, it handles everything you're likely to need in a configuration file. However, it also has support for adding additional type serializers via the `Add-MetadataConverter` command. If you want to store anything that doesn't work, please raise an issue :wink:.\r\n\r\nIn addition, there are `Get-Metadata` and `Update-Metadata` commands that read individual values from metadata files.\r\n\r\nFinally, there is a `Update-Object` command that can update an object or hashtable with values from a second object or hashtable.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fposhcode%2Fmetadata","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fposhcode%2Fmetadata","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fposhcode%2Fmetadata/lists"}