Tipi di provider
I provider definiscono le funzionalità di base modificando il modo in cui i cmdlet del provider, forniti da PowerShell, eseguono le azioni. Ad esempio, i provider possono usare la funzionalità predefinita del cmdlet o modificare il funzionamento del cmdlet durante il recupero di elementi Get-Item
dall'archivio dati. La funzionalità del provider descritta in questo documento include funzionalità definite sovrascrivendo metodi da interfacce e classi di base del provider specifiche.
Nota
Per le funzionalità del provider predefinite da PowerShell, vedere Funzionalità del provider.
Provider abilitati per le unità
I provider abilitati per le unità specificano le unità predefinite disponibili per l'utente e consentono all'utente di aggiungere o rimuovere unità. Nella maggior parte dei casi, i provider sono provider abilitati per le unità perché richiedono un'unità predefinita per accedere all'archivio dati. Tuttavia, quando si scrive un provider personalizzato, è possibile o meno consentire all'utente di creare e rimuovere unità.
Per creare un provider abilitato per le unità, la classe del provider deve derivare dalla classe System.Management.Automation.Provider.DriveCmdletProvider o da un'altra classe che deriva da tale classe. La classe DriveCmdletProvider definisce i metodi seguenti per implementare le unità predefinite del provider e supportare New-PSDrive
i cmdlet e Remove-PSDrive
. Nella maggior parte dei casi, per supportare un cmdlet del provider è necessario sovrascrivere il metodo chiamato dal motore di PowerShell per richiamare il cmdlet, ad esempio il metodo per il cmdlet, e facoltativamente è possibile sovrascrivere un secondo metodo, ad esempio , per aggiungere parametri dinamici al NewDrive
New-PSDrive
NewDriveDynamicParameters
cmdlet.
Il metodo InitializeDefaultDrives definisce le unità predefinite disponibili all'utente ogni volta che viene usato il provider.
I metodi NewDrive e NewDriveDynamicParameters definiscono il modo in cui il provider supporta il
New-PSDrive
cmdlet del provider. Questo cmdlet consente all'utente di creare unità per accedere all'archivio dati.Il metodo RemoveDrive definisce il modo in cui il provider supporta il
Remove-PSDrive
cmdlet del provider. Questo cmdlet consente all'utente di rimuovere le unità dall'archivio dati.
Provider abilitati per gli elementi
I provider abilitati per gli elementi consentono all'utente di ottenere, impostare o cancellare gli elementi nell'archivio dati. Un "elemento" è un elemento dell'archivio dati a cui l'utente può accedere o gestire in modo indipendente. Per creare un provider abilitato per gli elementi, la classe del provider deve derivare dalla classe System.Management.Automation.Provider.ItemCmdletProvider o da un'altra classe che deriva da tale classe.
La classe ItemCmdletProvider definisce i metodi seguenti per l'implementazione di cmdlet del provider specifici. Nella maggior parte dei casi, per supportare un cmdlet del provider è necessario sovrascrivere il metodo chiamato dal motore di PowerShell per richiamare il cmdlet, ad esempio il metodo per il cmdlet, e facoltativamente è possibile sovrascrivere un secondo metodo, ad esempio , per aggiungere parametri dinamici al ClearItem
Clear-Item
ClearItemDynamicParameters
cmdlet.
I metodi ClearItem e ClearItemDynamicParameters definiscono il modo in cui il provider supporta il
Clear-Item
cmdlet del provider. Questo cmdlet consente all'utente di rimuovere il valore di un elemento nell'archivio dati.I metodi GetItem e GetItemDynamicParameters definiscono il modo in cui il provider supporta il
Get-Item
cmdlet del provider. Questo cmdlet consente all'utente di recuperare dati dall'archivio dati.I metodi SetItem e SetItemDynamicParameters definiscono il modo in cui il provider supporta il
Set-Item
cmdlet del provider. Questo cmdlet consente all'utente di aggiornare i valori degli elementi nell'archivio dati.I metodi InvokeDefaultAction e InvokeDefaultActionDynamicParameters definiscono il modo in cui il provider supporta il
Invoke-Item
cmdlet del provider. Questo cmdlet consente all'utente di eseguire l'azione predefinita specificata dall'elemento.I metodi ItemExists e ItemExistsDynamicParameters definiscono il modo in cui il provider supporta il
Test-Path
cmdlet del provider. Questo cmdlet consente all'utente di determinare se tutti gli elementi di un percorso esistono.
Oltre ai metodi usati per implementare i cmdlet del provider, la classe ItemCmdletProvider definisce anche i metodi seguenti:
Il metodo ExpandPath consente all'utente di usare caratteri jolly quando si specifica il percorso del provider.
IsValidPath viene usato per determinare se un percorso è sintatticamente e semanticamente valido per il provider.
Provider abilitati per i contenitori
I provider abilitati per i contenitori consentono all'utente di gestire gli elementi che sono contenitori. Un contenitore è un gruppo di elementi figlio all'interno di un elemento padre comune. Per creare un provider abilitato per i contenitori, la classe del provider deve derivare dalla classe System.Management.Automation.Provider.ContainerCmdletProvider o da un'altra classe che deriva da tale classe.
Importante
I provider abilitati per i contenitori non possono accedere agli archivi dati che contengono contenitori annidati. Se un elemento figlio di un contenitore è un altro contenitore, è necessario implementare un provider abilitato per la navigazione.
La classe ContainerCmdletProvider definisce i metodi seguenti per l'implementazione di cmdlet del provider specifici. Nella maggior parte dei casi, per supportare un cmdlet del provider è necessario sovrascrivere il metodo chiamato dal motore di PowerShell per richiamare il cmdlet, ad esempio il metodo per il cmdlet, e facoltativamente è possibile sovrascrivere un secondo metodo, ad esempio , per aggiungere parametri dinamici al CopyItem
Copy-Item
CopyItemDynamicParameters
cmdlet.
I metodi CopyItem e CopyItemDynamicParameters definiscono il modo in cui il provider supporta il
Copy-Item
cmdlet del provider. Questo cmdlet consente all'utente di copiare un elemento da una posizione a un'altra.I metodi GetChildItems e GetChildItemsDynamicParameters definiscono il modo in cui il provider supporta il
Get-ChildItem
cmdlet del provider. Questo cmdlet consente all'utente di recuperare gli elementi figlio dell'elemento padre.I metodi GetChildNames e GetChildNamesDynamicParameters definiscono il modo in cui il provider supporta il cmdlet del provider se viene
Get-ChildItem
specificato il relativo parametroName
.I metodi NewItem e NewItemDynamicParameters definiscono il modo in cui il provider supporta il
New-Item
cmdlet del provider. Questo cmdlet consente all'utente di creare nuovi elementi nell'archivio dati.I metodi RemoveItem e RemoveItemDynamicParameters definiscono il modo in cui il provider supporta il
Remove-Item
cmdlet del provider. Questo cmdlet consente all'utente di rimuovere elementi dall'archivio dati.I metodi RenameItem e RenameItemDynamicParameters definiscono il modo in cui il provider supporta il
Rename-Item
cmdlet del provider. Questo cmdlet consente all'utente di rinominare gli elementi nell'archivio dati.
Oltre ai metodi usati per implementare i cmdlet del provider, la classe ContainerCmdletProvider definisce anche i metodi seguenti:
Il metodo HasChildItems può essere usato dalla classe del provider per determinare se un elemento dispone di elementi figlio.
Il metodo ConvertPath può essere usato dalla classe del provider per creare un nuovo percorso specifico del provider da un percorso specificato.
Provider abilitati per la navigazione
I provider abilitati per la navigazione consentono all'utente di spostare elementi nell'archivio dati. Per creare un provider abilitato per la navigazione, la classe del provider deve derivare dalla classe System.Management.Automation.Provider.NavigationCmdletProvider.
La classe NavigationCmdletProvider definisce i metodi seguenti per l'implementazione di cmdlet del provider specifici. Nella maggior parte dei casi, per supportare un cmdlet del provider è necessario sovrascrivere il metodo chiamato dal motore di PowerShell per richiamare il cmdlet, ad esempio il metodo per il cmdlet, e facoltativamente è possibile sovrascrivere un secondo metodo, ad esempio , per aggiungere parametri dinamici al MoveItem
Move-Item
MoveItemDynamicParameters
cmdlet.
I metodi MoveItem e MoveItemDynamicParameters definiscono il modo in cui il provider supporta il
Move-Item
cmdlet del provider. Questo cmdlet consente all'utente di spostare un elemento da una posizione nell'archivio a un'altra.Il metodo MakePath definisce il modo in cui il provider supporta il
Join-Path
cmdlet del provider. Questo cmdlet consente all'utente di combinare un segmento di percorso padre e figlio per creare un percorso interno del provider.
Oltre ai metodi usati per implementare i cmdlet del provider, la classe NavigationCmdletProvider definisce anche i metodi seguenti:
Il metodo GetChildName estrae il nome del nodo figlio di un percorso.
Il metodo GetParentPath estrae la parte padre di un percorso.
Il metodo IsItemContainer determina se l'elemento è un elemento del contenitore. In questo contesto, un contenitore è un gruppo di elementi figlio in un elemento padre comune.
Il metodo NormalizeRelativePath restituisce un percorso a un elemento relativo a un percorso di base specificato.
Provider abilitati per il contenuto
I provider abilitati per il contenuto consentono all'utente di cancellare, ottenere o impostare il contenuto degli elementi in un archivio dati. Ad esempio, il provider FileSystem consente di cancellare, ottenere e impostare il contenuto dei file nel file system. Per creare un provider abilitato per il contenuto, la classe del provider deve implementare i metodi dell'interfaccia System.Management.Automation.Provider.IContentCmdletProvider.
L'interfaccia IContentCmdletProvider definisce i metodi seguenti per l'implementazione di cmdlet del provider specifici. Nella maggior parte dei casi, per supportare un cmdlet del provider è necessario sovrascrivere il metodo chiamato dal motore di PowerShell per richiamare il cmdlet, ad esempio il metodo per il cmdlet, e facoltativamente è possibile sovrascrivere un secondo metodo, ad esempio , per aggiungere parametri dinamici al ClearContent
Clear-Content
ClearContentDynamicParameters
cmdlet.
I metodi ClearContent e ClearContentDynamicParameters definiscono il modo in cui il provider supporta il
Clear-Content
cmdlet del provider. Questo cmdlet consente all'utente di eliminare il contenuto di un elemento senza eliminarlo.I metodi GetContentReader e GetContentReaderDynamicParameters definiscono il modo in cui il provider supporta il
Get-Content
cmdlet del provider. Questo cmdlet consente all'utente di recuperare il contenuto di un elemento. IlGetContentReader
metodo restituisce un'interfaccia System.Management.Automation.Provider.IContentReader che definisce i metodi usati per leggere il contenuto.I metodi GetContentWriter e GetContentWriterDynamicParameters definiscono il modo in cui il provider supporta il
Set-Content
cmdlet del provider. Questo cmdlet consente all'utente di aggiornare il contenuto di un elemento. IlGetContentWriter
metodo restituisce un'interfaccia System.Management.Automation.Provider.IContentWriter che definisce i metodi usati per scrivere il contenuto.
Provider abilitati per le proprietà
I provider abilitati per le proprietà consentono all'utente di gestire le proprietà degli elementi nell'archivio dati.
Per creare un provider abilitato per le proprietà, la classe del provider deve implementare i metodi delle interfacce System.Management.Automation.Provider.IPropertyCmdletProvider e System.Management.Automation.Provider.IDynamicPropertyCmdletProvider. Nella maggior parte dei casi, per supportare un cmdlet del provider è necessario sovrascrivere il metodo chiamato dal motore di PowerShell per richiamare il cmdlet, ad esempio il metodo per il cmdlet Clear-Property. Facoltativamente, è possibile sovrascrivere un secondo metodo, ad esempio , per aggiungere parametri dinamici ClearProperty
ClearPropertyDynamicParameters
al cmdlet.
L'interfaccia IPropertyCmdletProvider definisce i metodi seguenti per l'implementazione di cmdlet del provider specifici:
I metodi ClearProperty e ClearPropertyDynamicParameters definiscono il modo in cui il provider supporta il
Clear-ItemProperty
cmdlet del provider. Questo cmdlet consente all'utente di eliminare il valore di una proprietà.I metodi GetProperty e GetPropertyDynamicParameters definiscono il modo in cui il provider supporta il
Get-ItemProperty
cmdlet del provider. Questo cmdlet consente all'utente di recuperare la proprietà di un elemento.I metodi SetProperty e SetPropertyDynamicParameters definiscono il modo in cui il provider supporta il
Set-ItemProperty
cmdlet del provider. Questo cmdlet consente all'utente di aggiornare le proprietà di un elemento.
L'interfaccia IDynamicPropertyCmdletProvider definisce i metodi seguenti per l'implementazione di cmdlet del provider specifici:
I metodi CopyProperty e CopyPropertyDynamicParameters definiscono il modo in cui il provider supporta il
Copy-ItemProperty
cmdlet del provider. Questo cmdlet consente all'utente di copiare una proprietà e il relativo valore da una posizione a un'altra.I metodi MoveProperty e MovePropertyDynamicParameters definiscono il modo in cui il provider supporta il
Move-ItemProperty
cmdlet del provider. Questo cmdlet consente all'utente di spostare una proprietà e il relativo valore da una posizione a un'altra.I metodi NewProperty e NewPropertyDynamicParameters definiscono il modo in cui il provider supporta il
New-ItemProperty
cmdlet del provider. Questo cmdlet consente all'utente di creare una nuova proprietà e impostarne il valore.I metodi RemoveProperty e RemovePropertyDynamicParameters definiscono il modo in cui il provider supporta il
Remove-ItemProperty
cmdlet. Questo cmdlet consente all'utente di eliminare una proprietà e il relativo valore.I metodi RenameProperty e RenamePropertyDynamicParameters definiscono il modo in cui il provider supporta il
Rename-ItemProperty
cmdlet. Questo cmdlet consente all'utente di modificare il nome di una proprietà.
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per