sobre proveedores
Breve descripción
Describe cómo los proveedores de PowerShell brindan acceso a datos y componentes a los que de otro modo no sería fácilmente accesible desde la línea de comandos. Los datos se presentan en un formato consistente que se asemeja a una unidad de sistema de archivos.
Descripción larga
Los proveedores de PowerShell son programas .NET que brindan acceso a almacenes de datos especializados para facilitar su visualización y administración. Los datos aparecen en una unidad y usted accede a ellos en una ruta como lo haría en una unidad de disco duro. Puede utilizar cualquiera de los cmdlets integrados que admite el proveedor para administrar los datos en la unidad del proveedor. Además, puede utilizar cmdlets personalizados diseñados especialmente para los datos.
Los proveedores también pueden agregar parámetros dinámicos a los cmdlets integrados. Estos parámetros solo están disponibles cuando usa el cmdlet con los datos del proveedor.
Proveedores integrados
PowerShell incluye un conjunto de proveedores integrados que brindan acceso a diferentes tipos de objetos.
Proveedor de alias
- Unidad:
Alias:
- Unidad:
- Tipos de objetos: System.Management.Automation.AliasInfo
Proveedor de certificado
- Unidad:
Certificado:
Proveedor de medio ambiente
- Unidad -
Env:
Proveedor de sistema de archivos
- Unidad -
C:y otra dependiendo del hardware
Proveedor de funciones
- Unidad -
Función:
Proveedor de registro
- Unidad -
HKLM:,HKCU:
Proveedor variable
- Unidad -
Variable:
Proveedor WSMan
- Unidad -
WSMan:
También puede crear sus propios proveedores de PowerShell e instalar proveedores que otros desarrollen. Para enumerar los proveedores que están disponibles en su sesión, escriba:
Get-PSProvider
Nota
Los proveedores Certificado, Registro y WSMan solo están disponibles en la plataforma Windows.
Instalación y eliminación de proveedores
Los proveedores normalmente se instalan a través de módulos PowerShell. Al importar el módulo, se carga el proveedor en su sesión. No puede desinstalar los proveedores integrados. Puede desinstalar proveedores cargados por otros módulos.
Puede descargar un proveedor de la sesión actual utilizando el cmdlet Remove-Module. Este cmdlet no desinstala el proveedor, pero hace que el proveedor no esté disponible en la sesión.
También puede utilizar el cmdlet Remove-PSDrive para eliminar cualquier unidad de la sesión actual. Estos datos en la unidad no se ven afectados, pero la unidad ya no está disponible en esa sesión.
Ver proveedores
Para ver los proveedores de PowerShell en su computadora, escriba:
Get-PSProvider
El resultado enumera los proveedores integrados y los proveedores que agregó a la sesión.
Los cmdlets del proveedor
Los siguientes cmdlets están diseñados para funcionar con los datos expuestos por cualquier proveedor. Puede utilizar los mismos cmdlets de la misma manera para administrar los diferentes tipos de datos que exponen los proveedores. Una vez que aprenda a administrar los datos de un proveedor, podrá utilizar los mismos procedimientos con los datos de cualquier proveedor.
Por ejemplo, el cmdlet New-Item crea un nuevo elemento. En la unidad C: compatible con el proveedor FileSystem, puede utilizar New-Item para crear un nuevo archivo o carpeta. En las unidades compatibles con el proveedor de Registro, puede utilizar New-Item para crear una nueva clave de registro. En la unidad Alias:, puede utilizar New-Item para crear un nuevo alias.
Para obtener información detallada sobre cualquiera de los siguientes cmdlets, escriba:
Get-Help <cmdlet-name> -Detailed
Cmdlets ChildItem
- Get-ChildItem
Cmdlets de contenido
- Add-Content
- Clear-Content
- Get-Content
- Set-Content
Cmdlets de elementos
- Clear-Item
- Copy-Item
- Get-Item
- Invoke-Item
- Move-Item
- New-Item
- Remove-Item
- Rename-Item
- Set-Item
Cmdlets de propiedad de elemento
- Clear-ItemProperty
- Copy-ItemProperty
- Get-ItemProperty
- Move-ItemProperty
- New-ItemProperty
- Remove-ItemProperty
- Rename-ItemProperty
- Set-ItemProperty
Cmdlets de ubicación
- Get-Location
- Pop-Location
- Push-Location
- Set-Location
Cmdlets de ruta
- Join-Path
- Convert-Path
- Split-Path
- Resolve-Path
- Test-Path
Cmdlets de PSDrive
- Obtener-PSDrive
- Nuevo-PSDrive
- Quitar-PSDrive
Cmdlets de proveedor de PS
- Obtener-PSProvider
Ver datos del proveedor
El principal beneficio de un proveedor es que expone sus datos de forma familiar y coherente. El modelo para la presentación de datos es una unidad de sistema de archivos.
El proveedor le permite ver, navegar y cambiar elementos en el almacén de datos como si fueran datos en un sistema de archivos. Se accede al almacén de datos mediante el nombre de la unidad que admite.
La unidad aparece en la visualización predeterminada del cmdlet Get-PSProvider, pero puede obtener información sobre la unidad del proveedor mediante el cmdlet Get-PSDrive. Por ejemplo, para obtener todas las propiedades de la Función: unidad, escriba:
Get-PSDrive Function | Format-List *
Puede ver y mover los datos en una unidad de proveedor tal como lo haría en una unidad de sistema de archivos.
Para ver el contenido de una unidad de proveedor, utilice los cmdlets Get-Item o Get-ChildItem. Escriba el nombre de la unidad seguido de dos puntos (:). Por ejemplo, para ver el contenido de la unidad Alias:, escriba:
Get-Item alias:
Puede ver y administrar los datos en cualquier unidad desde otra unidad incluyendo el nombre de la unidad en la ruta. Por ejemplo, para ver la clave de registro HKLM\Software en la unidad HKLM: desde otra unidad, escriba:
Get-ChildItem HKLM:\SOFTWARE\
Para abrir la unidad, utilice el cmdlet Set-Location. Recuerde los dos puntos cuando especifique la ruta de la unidad. Por ejemplo, para cambiar su ubicación al directorio raíz de la unidad Cert:, escriba:
Set-Location cert:
Luego, para ver el contenido de la unidad Cert:, escriba:
Get-ChildItem
Moviéndose a través de datos jerárquicos
Puede moverse a través de una unidad de proveedor tal como lo haría con una unidad de disco duro. Si los datos están organizados en una jerarquía de elementos dentro de elementos, utilice una barra invertida (\) para indicar un elemento secundario. Utilice el siguiente formato:
drive:\location\child-location\...
Por ejemplo, para cambiar su ubicación a la clave de registro HKLM\Software, escriba un comando Set-Location, como por ejemplo:
Set-Location HKLM:\SOFTWARE\
Si algún elemento del nombre completo incluye espacios, debe incluir el nombre entre comillas dobles ("). El siguiente ejemplo muestra una ruta de acceso completa que incluye espacios.
"C:\Program Files\Internet Explorer\iexplore.exe"
También puede utilizar referencias relativas a ubicaciones. Un punto (.) representa la ubicación actual. Por ejemplo, si se encuentra en la clave de registro HKLM:\Software\Microsoft y desea enumerar las subclaves de registro en la clave HKLM:\Software\Microsoft\PowerShell , escriba el siguiente comando:
Get-ChildItem .\PowerShell
Además, los puntos dobles (..) se refieren al directorio o contenedor directamente encima de su ubicación actual. Puede utilizar puntos dobles (..) para navegar a través de una jerarquía de proveedores.
PS HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\> cd ..\..\LanmanWorkstation\Parameters
PS HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters>
Inicio del proveedor
Los proveedores también tienen una ubicación Inicio. Esta ubicación es compartida por todos los PSDrives respaldados por el proveedor. Se puede recuperar viendo la propiedad Inicio del proveedor.
Get-PSProvider | Format-Table Name, Home
Name Home
---- ----
Registry
Alias
Environment
FileSystem C:\Users\username
Function
Variable
Certificate
El proveedor FileSystem es el único proveedor que tiene un valor predeterminado para Inicio. Es el mismo valor que $HOME. Para obtener más información, consulte about_Automatic_Variables.
Puede configurar el directorio Inicio de un proveedor, para la sesión actual, utilizando su propiedad.
(Get-PSProvider FileSystem).Home = "C:\"
El carácter ~ se puede utilizar para representar el directorio de inicio del proveedor. Si el proveedor no tiene una ubicación Casa configurada, verá un error.
Cert:\> Set-Location ~
Set-Location : Home location for this provider isn't set. To set the home
location, call "(get-psprovider 'Certificate').Home = 'path'".
At line:1 char:1
+ Set-Location ~
+ ~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Set-Location],
PSInvalidOperationException
...
Encontrar parámetros dinámicos
Los parámetros dinámicos son parámetros de cmdlet que un proveedor agrega a un cmdlet. Estos parámetros solo están disponibles cuando el cmdlet se usa con el proveedor que los agregó.
Por ejemplo, la unidad Cert: agrega el parámetro CodeSigningCert a los cmdlets Get-Item y Get-ChildItem. Puede usar este parámetro solo cuando usa Get-Item o Get-ChildItem en la unidad Cert:.
Para obtener una lista de los parámetros dinámicos que admite un proveedor, consulte el archivo de Ayuda del proveedor. Tipo:
Get-Help <provider-name>
Por ejemplo:
Get-Help certificate
Aprender sobre proveedores
Aunque todos los datos del proveedor aparecen en las unidades y usted utiliza los mismos métodos para moverse a través de ellas, la similitud termina ahí. Los almacenes de datos que expone el proveedor pueden ser tan variados como ubicaciones de Active Directory y buzones de correo de Microsoft Exchange Server.
Para obtener información sobre proveedores individuales de PowerShell, escriba:
Get-Help <ProviderName>
Por ejemplo:
Get-Help registry
Para obtener una lista de temas de ayuda sobre los proveedores, escriba:
Get-Help * -Category Provider
Ver también
- acerca de_ubicaciones
- about_Path_Syntax