Isso é do arquivo de ajuda do Get-PSProvider:
Among other things, Windows PowerShell providers determine which
data stores you can navigate through.
Existem dois conceitos principais enterrados aqui. O primeiro é o conceito de um armazenamento de dados ou, se preferir, um contêiner. O segundo é o conceito de navegação.
O conceito de armazenamento de dados é básico para operar em dados. Se você fez algum trabalho com scripts ou programação, está familiarizado com variáveis. Na verdade, as variáveis são um dos tipos de armazenamentos de dados listados por Get-PSProvider. Se você fez algum trabalho com bancos de dados ou sites, está familiarizado com outros tipos de armazenamentos de dados. Um segundo tipo de armazenamento de dados navegável listado para você é um sistema de arquivos. Se você fez algum trabalho com o Windows, está familiarizado com pastas e arquivos e até mesmo com a navegação por pastas e subpastas. As pastas são chamadas de diretórios no Powershell, mas é o mesmo conceito.
O registro é um tipo diferente de armazenamento de dados.
O que há de novo para mim, e talvez para você, é a idéia de generalizar todos esses diferentes tipos de armazenamentos de dados em uma superclasse geral e, em seguida, definir certas operações em toda a superclasse.
Por exemplo, Get-ChildItem é uma operação de navegação básica que permite percorrer uma árvore de contêineres organizados em uma hierarquia. Mas em vez de implementar um GCI especializado para arquivos, e outro para entradas do Registro, e outro para variáveis, e assim por diante, eles escolheram implementar um único GCI que pudesse ser adaptado para uso com qualquer um desses três e vários outros.
Este é apenas o começo dos conceitos, mas espero que ajude.