Windows PowerShelles elemszolgáltató létrehozásaCreating a Windows PowerShell Item Provider

Ez a témakör azt ismerteti, hogyan hozhat létre egy olyan Windows PowerShell-szolgáltatót, amely képes az adattárban lévő adattárak kezelésére.This topic describes how to create a Windows PowerShell provider that can manipulate the data in a data store. Ebben a témakörben a tárolóban lévő adatok elemeit az adattár "elemeinek" nevezzük.In this topic, the elements of data in the store are referred to as the "items" of the data store. Ennek következményeként a tárolóban lévő adatkezelést biztosító szolgáltatót Windows PowerShell-elem szolgáltatójának nevezzük.As a consequence, a provider that can manipulate the data in the store is referred to as a Windows PowerShell item provider.

Megjegyzés

A szolgáltatóhoz tartozó C#-forrásfájl (AccessDBSampleProvider03.cs) a Windows Vista és a .NET Framework 3,0 Runtime Components Microsoft Windows szoftverfejlesztői készletének használatával tölthető le.You can download the C# source file (AccessDBSampleProvider03.cs) for this provider using the Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components. A letöltési utasításokért lásd: a Windows PowerShell telepítése és a Windows POWERSHELL SDK letöltése.For download instructions, see How to Install Windows PowerShell and Download the Windows PowerShell SDK. A letöltött forrásfájlok a címtárban érhetők el <PowerShell Samples> .The downloaded source files are available in the <PowerShell Samples> directory. További információ a Windows PowerShell-szolgáltatók egyéb implementációkkal kapcsolatban: a Windows PowerShell-szolgáltató megtervezése.For more information about other Windows PowerShell provider implementations, see Designing Your Windows PowerShell Provider.

A jelen témakörben ismertetett Windows PowerShell-elem szolgáltatója egy Access-adatbázisból származó adatokat olvas be.The Windows PowerShell item provider described in this topic gets items of data from an Access database. Ebben az esetben az "Item" vagy egy tábla az Access adatbázisban, vagy egy sor egy táblában.In this case, an "item" is either a table in the Access database or a row in a table.

A Windows PowerShell-elem szolgáltatói osztályának meghatározásaDefining the Windows PowerShell Item Provider Class

Egy Windows PowerShell-elem szolgáltatójának meg kell határoznia a System. Management. Automation. Provider. Itemcmdletprovider alaposztályból származtatott .net-osztályt.A Windows PowerShell item provider must define a .NET class that derives from the System.Management.Automation.Provider.Itemcmdletprovider base class. A következő szakasz a jelen szakaszban ismertetett cikkcsoport osztályának definícióját tartalmazza.The following is the class definition for the item provider described in this section.

[CmdletProvider("AccessDB", ProviderCapabilities.None)]

public class AccessDBProvider : ItemCmdletProvider

Vegye figyelembe, hogy ebben az osztályban a System. Management. Automation. Provider. Cmdletproviderattribute attribútum két paramétert tartalmaz.Note that in this class definition, the System.Management.Automation.Provider.Cmdletproviderattribute attribute includes two parameters. Az első paraméter a Windows PowerShell által használt szolgáltató felhasználóbarát nevét adja meg.The first parameter specifies a user-friendly name for the provider that is used by Windows PowerShell. A második paraméter azt a Windows PowerShell-specifikus képességeket határozza meg, amelyeket a szolgáltató a parancs feldolgozásakor a Windows PowerShell futtatókörnyezet számára tesz elérhetővé.The second parameter specifies the Windows PowerShell specific capabilities that the provider exposes to the Windows PowerShell runtime during command processing. Ebben a szolgáltatóban nincsenek hozzáadott Windows PowerShell-funkciók.For this provider, there are no added Windows PowerShell specific capabilities.

Alapfunkciók meghatározásaDefining Base Functionality

A Windows PowerShell-szolgáltató megtervezésecímű témakörben leírtak szerint a System. Management. Automation. Provider. Drivecmdletprovider osztály számos más osztályból származik, amelyek különböző szolgáltatói funkciókat biztosítanak.As described in Design Your Windows PowerShell Provider, the System.Management.Automation.Provider.Drivecmdletprovider class derives from several other classes that provided different provider functionality. A Windows PowerShell-elemek szolgáltatójának ezért meg kell határoznia az osztályok által biztosított összes funkciót.A Windows PowerShell item provider, therefore, must define all of the functionality provided by those classes.

További információ a munkamenet-specifikus inicializálási információk hozzáadásával és a szolgáltató által használt erőforrások felszabadításával kapcsolatos funkciók megvalósításával kapcsolatban: alapszintű Windows PowerShell-szolgáltató létrehozása.For more information about how to implement functionality for adding session-specific initialization information and for releasing resources used by the provider, see Creating a Basic Windows PowerShell Provider. Azonban a legtöbb szolgáltató, beleértve az itt leírt szolgáltatót is, a Windows PowerShell által biztosított funkció alapértelmezett implementációját használhatja.However, most providers, including the provider described here, can use the default implementation of this functionality that is provided by Windows PowerShell.

Ahhoz, hogy a Windows PowerShell-elem szolgáltatója kezelhesse az áruházban lévő elemeket, meg kell valósítania a System. Management. Automation. Provider. Drivecmdletprovider alaposztály metódusait az adattárhoz való hozzáféréshez.Before the Windows PowerShell item provider can manipulate the items in the store, it must implement the methods of the System.Management.Automation.Provider.Drivecmdletprovider base class to access to the data store. Az osztály megvalósításával kapcsolatos további információkért lásd: Windows PowerShell meghajtó-szolgáltató létrehozása.For more information about implementing this class, see Creating a Windows PowerShell Drive Provider.

Elérési út érvényességének ellenőrzéseChecking for Path Validity

Amikor egy adatelemet keres, a Windows PowerShell-futtatókörnyezet a Windows PowerShell működésének"PSPath fogalmak" szakaszában meghatározott módon a szolgáltatóhoz tartozó Windows PowerShell-elérési utat szolgáltatja.When looking for an item of data, the Windows PowerShell runtime furnishes a Windows PowerShell path to the provider, as defined in the "PSPath Concepts" section of How Windows PowerShell Works. Egy Windows PowerShell-elem szolgáltatójának ellenőriznie kell a hozzá továbbított bármely elérési út szintaktikai és szemantikai érvényességét a System. Management. Automation. Provider. Itemcmdletprovider. Isvalidpath * metódus megvalósításával.An Windows PowerShell item provider must verify the syntactic and semantic validity of any path passed to it by implementing the System.Management.Automation.Provider.Itemcmdletprovider.Isvalidpath* method. Ez a metódus akkor tér vissza true , ha az elérési út érvényes, false ellenkező esetben.This method returns true if the path is valid, and false otherwise. Vegye figyelembe, hogy ennek a módszernek a megvalósítása nem ellenőrzi az elemnek az elérési úton való létezését, de csak azt, hogy az elérési út szintaktikai és szemantikailag helyes.Be aware that the implementation of this method should not verify the existence of the item at the path, but only that the path is syntactically and semantically correct.

Itt látható a System. Management. Automation. Provider. Itemcmdletprovider. Isvalidpath * metódus implementálása ehhez a szolgáltatóhoz.Here is the implementation of the System.Management.Automation.Provider.Itemcmdletprovider.Isvalidpath* method for this provider. Vegye figyelembe, hogy ez a megvalósítás egy NormalizePath segítő metódust hív meg, hogy az összes elválasztót egységesre konvertálja az elérési útban.Note that this implementation calls a NormalizePath helper method to convert all separators in the path to a uniform one.

protected override bool IsValidPath(string path)
{
    bool result = true;

    // check if the path is null or empty
    if (String.IsNullOrEmpty(path))
    {
        result = false;
    }

    // convert all separators in the path to a uniform one
    path = NormalizePath(path);

    // split the path into individual chunks
    string[] pathChunks = path.Split(pathSeparator.ToCharArray());

    foreach (string pathChunk in pathChunks)
    {
        if (pathChunk.Length == 0)
        {
            result = false;
        }
    }
    return result;
} // IsValidPath

Annak megállapítása, hogy létezik-e egy adott tételDetermining if an Item Exists

Az elérési út ellenőrzése után a Windows PowerShell-futtatókörnyezetnek meg kell határoznia, hogy van-e adatelem az adott elérési úton.After verifying the path, the Windows PowerShell runtime must determine if an item of data exists at that path. Az ilyen típusú lekérdezés támogatásához a Windows PowerShell-elem szolgáltatója implementálja a System. Management. Automation. Provider. Itemcmdletprovider. Itemexists * metódust.To support this type of query, the Windows PowerShell item provider implements the System.Management.Automation.Provider.Itemcmdletprovider.Itemexists* method. Ez a metódus true egy olyan tételt ad vissza, amely a megadott elérési úton található false (alapértelmezett).This method returns true an item is found at the specified path and false (default) otherwise.

Itt látható a System. Management. Automation. Provider. Itemcmdletprovider. Itemexists * metódus implementálása ehhez a szolgáltatóhoz.Here is the implementation of the System.Management.Automation.Provider.Itemcmdletprovider.Itemexists* method for this provider. Vegye figyelembe, hogy ez a metódus meghívja a PathIsDrive, a ChunkPath és a GetTable Helper metódust, és egy szolgáltató által definiált DatabaseTableInfo objektumot használ.Note that this method calls the PathIsDrive, ChunkPath, and GetTable helper methods, and uses a provider defined DatabaseTableInfo object.

protected override bool ItemExists(string path)
{
    // check if the path represented is a drive
    if (PathIsDrive(path))
    {
        return true;
    }

    // Obtain type, table name and row number from path
    string tableName;
    int rowNumber;

    PathType type = GetNamesFromPath(path, out tableName, out rowNumber);

    DatabaseTableInfo table = GetTable(tableName);

    if (type == PathType.Table)
    {
        // if specified path represents a table then DatabaseTableInfo
        // object for the same should exist
        if (table != null)
        {
            return true;
        }
    }
    else if (type == PathType.Row)
    {
        // if specified path represents a row then DatabaseTableInfo should
        // exist for the table and then specified row number must be within
        // the maximum row count in the table
        if (table != null && rowNumber < table.RowCount)
        {
            return true;
        }
    }

    return false;

} // ItemExists

A ItemExists megvalósításának tudnivalóiThings to Remember About Implementing ItemExists

A következő feltételek vonatkozhatnak a System. Management. Automation. Provider. Itemcmdletprovider. Itemexists *megvalósítására:The following conditions may apply to your implementation of System.Management.Automation.Provider.Itemcmdletprovider.Itemexists*:

Dinamikus paraméterek csatolása a test-Path parancsmaghozAttaching Dynamic Parameters to the Test-Path Cmdlet

Néha a Test-Path System. Management. Automation. Provider. Itemcmdletprovider. Itemexists * metódust meghívó parancsmaghoz további, futásidőben megadott paramétereket kell megadni.Sometimes the Test-Path cmdlet that calls System.Management.Automation.Provider.Itemcmdletprovider.Itemexists* requires additional parameters that are specified dynamically at runtime. A dinamikus paraméterek megadásához a Windows PowerShell-elem szolgáltatójának meg kell valósítania a System. Management. Automation. Provider. Itemcmdletprovider. Itemexistsdynamicparameters * metódust.To provide these dynamic parameters the Windows PowerShell item provider must implement the System.Management.Automation.Provider.Itemcmdletprovider.Itemexistsdynamicparameters* method. Ez a metódus lekérdezi a megadott elérési úton lévő elem dinamikus paramétereit, és egy olyan objektumot ad vissza, amely a parancsmag osztályához vagy a System. Management. Automation. Runtimedefinedparameterdictionary objektumhoz hasonló tulajdonságokkal rendelkezik.This method retrieves the dynamic parameters for the item at the indicated path and returns an object that has properties and fields with parsing attributes similar to a cmdlet class or a System.Management.Automation.Runtimedefinedparameterdictionary object. A Windows PowerShell futtatókörnyezet a visszaadott objektum használatával adja hozzá a paramétereket a Test-Path parancsmaghoz.The Windows PowerShell runtime uses the returned object to add the parameters to the Test-Path cmdlet.

Ez a Windows PowerShell-jelentéselem nem implementálja ezt a metódust.This Windows PowerShell item provider does not implement this method. Az alábbi kód azonban a metódus alapértelmezett implementációja.However, the following code is the default implementation of this method.

Egy tétel beolvasásaRetrieving an Item

Egy elem lekéréséhez a Windows PowerShell-elem szolgáltatójának felül kell bírálnia a System. Management. Automation. Provider. Itemcmdletprovider. GetItem * metódust a parancsmagtól érkező hívások támogatásához. Get-ItemTo retrieve an item, the Windows PowerShell item provider must override System.Management.Automation.Provider.Itemcmdletprovider.Getitem* method to support calls from the Get-Item cmdlet. Ez a metódus a System. Management. Automation. Provider. Cmdletprovider. Writeitemobject * metódus használatával írja az elemeket.This method writes the item using the System.Management.Automation.Provider.Cmdletprovider.Writeitemobject* method.

Itt látható a System. Management. Automation. Provider. Itemcmdletprovider. GetItem * metódus implementálása ehhez a szolgáltatóhoz.Here is the implementation of the System.Management.Automation.Provider.Itemcmdletprovider.Getitem* method for this provider. Vegye figyelembe, hogy ez a metódus a GetTable és a GetRow Helper metódus használatával kérdezi le azokat az elemeket, amelyek az Access adatbázisban vagy egy adattábla soraiban szerepelnek.Note that this method uses the GetTable and GetRow helper methods to retrieve items that are either tables in the Access database or rows in a data table.

protected override void GetItem(string path)
{
    // check if the path represented is a drive
    if (PathIsDrive(path))
    {
        WriteItemObject(this.PSDriveInfo, path, true);
        return;
    }// if (PathIsDrive...

     // Get table name and row information from the path and do 
     // necessary actions
     string tableName;
     int rowNumber;

     PathType type = GetNamesFromPath(path, out tableName, out rowNumber);

     if (type == PathType.Table)
     {
         DatabaseTableInfo table = GetTable(tableName);
         WriteItemObject(table, path, true);
     }
     else if (type == PathType.Row)
     {
         DatabaseRowInfo row = GetRow(tableName, rowNumber);
         WriteItemObject(row, path, false);
     }
     else
     {
         ThrowTerminatingInvalidPathException(path);
     }

 } // GetItem

A GetItem megvalósításának tudnivalóiThings to Remember About Implementing GetItem

A következő feltételek vonatkozhatnak a System. Management. Automation. Provider. Itemcmdletprovider. GetItem *megvalósítására:The following conditions may apply to an implementation of System.Management.Automation.Provider.Itemcmdletprovider.Getitem*:

Dinamikus paraméterek csatolása a Get-Item parancsmaghozAttaching Dynamic Parameters to the Get-Item Cmdlet

Időnként a Get-Item parancsmaghoz további, a futásidőben megadott paramétereket kell megadni.Sometimes the Get-Item cmdlet requires additional parameters that are specified dynamically at runtime. A dinamikus paraméterek megadásához a Windows PowerShell-elem szolgáltatójának meg kell valósítania a System. Management. Automation. Provider. Itemcmdletprovider. Getitemdynamicparameters * metódust.To provide these dynamic parameters the Windows PowerShell item provider must implement the System.Management.Automation.Provider.Itemcmdletprovider.Getitemdynamicparameters* method. Ez a metódus lekérdezi a megadott elérési úton lévő elem dinamikus paramétereit, és egy olyan objektumot ad vissza, amely a parancsmag osztályához vagy a System. Management. Automation. Runtimedefinedparameterdictionary objektumhoz hasonló tulajdonságokkal rendelkezik.This method retrieves the dynamic parameters for the item at the indicated path and returns an object that has properties and fields with parsing attributes similar to a cmdlet class or a System.Management.Automation.Runtimedefinedparameterdictionary object. A Windows PowerShell futtatókörnyezet a visszaadott objektum használatával adja hozzá a paramétereket a Get-Item parancsmaghoz.The Windows PowerShell runtime uses the returned object to add the parameters to the Get-Item cmdlet.

Ez a szolgáltató nem valósítja meg ezt a metódust.This provider does not implement this method. Az alábbi kód azonban a metódus alapértelmezett implementációja.However, the following code is the default implementation of this method.

Egy tétel beállításaSetting an Item

Egy elem beállításához a Windows PowerShell-elem szolgáltatójának felül kell bírálnia a System. Management. Automation. Provider. Itemcmdletprovider. SetItem * metódust a parancsmagtól érkező hívások támogatásához. Set-ItemTo set an item, the Windows PowerShell item provider must override the System.Management.Automation.Provider.Itemcmdletprovider.Setitem* method to support calls from the Set-Item cmdlet. Ezzel a módszerrel állítható be a megadott elérési úton található tétel értéke.This method sets the value of the item at the specified path.

Ez a szolgáltató nem tartalmaz felülbírálást a System. Management. Automation. Provider. Itemcmdletprovider. SetItem * metódushoz.This provider does not provide an override for the System.Management.Automation.Provider.Itemcmdletprovider.Setitem* method. A metódus alapértelmezett implementációja azonban a következő:However, the following is the default implementation of this method.

A SetItem megvalósításának tudnivalóiThings to Remember About Implementing SetItem

A következő feltételek vonatkozhatnak a System. Management. Automation. Provider. Itemcmdletprovider. SetItem *megvalósítására:The following conditions may apply to your implementation of System.Management.Automation.Provider.Itemcmdletprovider.Setitem*:

Dinamikus paraméterek beolvasása a SetItemRetrieving Dynamic Parameters for SetItem

Időnként a Set-Item parancsmaghoz további, a futásidőben megadott paramétereket kell megadni.Sometimes the Set-Item cmdlet requires additional parameters that are specified dynamically at runtime. A dinamikus paraméterek megadásához a Windows PowerShell-elem szolgáltatójának meg kell valósítania a System. Management. Automation. Provider. Itemcmdletprovider. Setitemdynamicparameters * metódust.To provide these dynamic parameters the Windows PowerShell item provider must implement the System.Management.Automation.Provider.Itemcmdletprovider.Setitemdynamicparameters* method. Ez a metódus lekérdezi a megadott elérési úton lévő elem dinamikus paramétereit, és egy olyan objektumot ad vissza, amely a parancsmag osztályához vagy a System. Management. Automation. Runtimedefinedparameterdictionary objektumhoz hasonló tulajdonságokkal rendelkezik.This method retrieves the dynamic parameters for the item at the indicated path and returns an object that has properties and fields with parsing attributes similar to a cmdlet class or a System.Management.Automation.Runtimedefinedparameterdictionary object. A Windows PowerShell futtatókörnyezet a visszaadott objektum használatával adja hozzá a paramétereket a Set-Item parancsmaghoz.The Windows PowerShell runtime uses the returned object to add the parameters to the Set-Item cmdlet.

Ez a szolgáltató nem valósítja meg ezt a metódust.This provider does not implement this method. Az alábbi kód azonban a metódus alapértelmezett implementációja.However, the following code is the default implementation of this method.

Elemek törléseClearing an Item

Egy elem törléséhez a Windows PowerShell-elem szolgáltatója implementálja a System. Management. Automation. Provider. Itemcmdletprovider. Clearitem * metódust a parancsmagból érkező hívások támogatásához Clear-Item .To clear an item, the Windows PowerShell item provider implements the System.Management.Automation.Provider.Itemcmdletprovider.Clearitem* method to support calls from the Clear-Item cmdlet. Ez a metódus törli az adattételt a megadott elérési úton.This method erases the data item at the specified path.

Ez a szolgáltató nem valósítja meg ezt a metódust.This provider does not implement this method. Az alábbi kód azonban a metódus alapértelmezett implementációja.However, the following code is the default implementation of this method.

A ClearItem megvalósításának tudnivalóiThings to Remember About Implementing ClearItem

A következő feltételek vonatkozhatnak a System. Management. Automation. Provider. Itemcmdletprovider. Clearitem *megvalósítására:The following conditions may apply to an implementation of System.Management.Automation.Provider.Itemcmdletprovider.Clearitem*:

ClearItem dinamikus paramétereinek beolvasásaRetrieve Dynamic Parameters for ClearItem

Időnként a Clear-Item parancsmaghoz további, a futásidőben megadott paramétereket kell megadni.Sometimes the Clear-Item cmdlet requires additional parameters that are specified dynamically at runtime. A dinamikus paraméterek megadásához a Windows PowerShell-elem szolgáltatójának meg kell valósítania a System. Management. Automation. Provider. Itemcmdletprovider. Clearitemdynamicparameters * metódust.To provide these dynamic parameters the Windows PowerShell item provider must implement the System.Management.Automation.Provider.Itemcmdletprovider.Clearitemdynamicparameters* method. Ez a metódus lekérdezi a megadott elérési úton lévő elem dinamikus paramétereit, és egy olyan objektumot ad vissza, amely a parancsmag osztályához vagy a System. Management. Automation. Runtimedefinedparameterdictionary objektumhoz hasonló tulajdonságokkal rendelkezik.This method retrieves the dynamic parameters for the item at the indicated path and returns an object that has properties and fields with parsing attributes similar to a cmdlet class or a System.Management.Automation.Runtimedefinedparameterdictionary object. A Windows PowerShell futtatókörnyezet a visszaadott objektum használatával adja hozzá a paramétereket a Clear-Item parancsmaghoz.The Windows PowerShell runtime uses the returned object to add the parameters to the Clear-Item cmdlet.

Ez az jelentéselem nem implementálja ezt a metódust.This item provider does not implement this method. Az alábbi kód azonban a metódus alapértelmezett implementációja.However, the following code is the default implementation of this method.

Egy adott elemmel kapcsolatos alapértelmezett művelet végrehajtásaPerforming a Default Action for an Item

Egy Windows PowerShell-elem szolgáltatója megvalósíthatja a System. Management. Automation. Provider. Itemcmdletprovider. Invokedefaultaction * metódust a parancsmagtól érkező hívások támogatásához Invoke-Item , amely lehetővé teszi, hogy a szolgáltató végrehajtson egy alapértelmezett műveletet a megadott elérési úton lévő elem számára.A Windows PowerShell item provider can implement the System.Management.Automation.Provider.Itemcmdletprovider.Invokedefaultaction* method to support calls from the Invoke-Item cmdlet, which allows the provider to perform a default action for the item at the specified path. Előfordulhat például, hogy a fájlrendszer-szolgáltató ezt a metódust használja egy adott elem ShellExecute meghívásához.For example, the FileSystem provider might use this method to call ShellExecute for a specific item.

Ez a szolgáltató nem valósítja meg ezt a metódust.This provider does not implement this method. Az alábbi kód azonban a metódus alapértelmezett implementációja.However, the following code is the default implementation of this method.

A InvokeDefaultAction megvalósításának tudnivalóiThings to Remember About Implementing InvokeDefaultAction

A következő feltételek vonatkozhatnak a System. Management. Automation. Provider. Itemcmdletprovider. Invokedefaultaction *megvalósítására:The following conditions may apply to an implementation of System.Management.Automation.Provider.Itemcmdletprovider.Invokedefaultaction*:

InvokeDefaultAction dinamikus paramétereinek beolvasásaRetrieve Dynamic Parameters for InvokeDefaultAction

Időnként a Invoke-Item parancsmaghoz további, a futásidőben megadott paramétereket kell megadni.Sometimes the Invoke-Item cmdlet requires additional parameters that are specified dynamically at runtime. A dinamikus paraméterek megadásához a Windows PowerShell-elem szolgáltatójának meg kell valósítania a System. Management. Automation. Provider. Itemcmdletprovider. Invokedefaultactiondynamicparameters * metódust.To provide these dynamic parameters the Windows PowerShell item provider must implement the System.Management.Automation.Provider.Itemcmdletprovider.Invokedefaultactiondynamicparameters* method. Ez a metódus lekérdezi a megadott elérési úton lévő elem dinamikus paramétereit, és egy olyan objektumot ad vissza, amely a parancsmag osztályához vagy a System. Management. Automation. Runtimedefinedparameterdictionary objektumhoz hasonló tulajdonságokkal rendelkezik.This method retrieves the dynamic parameters for the item at the indicated path and returns an object that has properties and fields with parsing attributes similar to a cmdlet class or a System.Management.Automation.Runtimedefinedparameterdictionary object. A Windows PowerShell futtatókörnyezet a visszaadott objektum használatával adja hozzá a dinamikus paramétereket a Invoke-Item parancsmaghoz.The Windows PowerShell runtime uses the returned object to add the dynamic parameters to the Invoke-Item cmdlet.

Ez az jelentéselem nem implementálja ezt a metódust.This item provider does not implement this method. Az alábbi kód azonban a metódus alapértelmezett implementációja.However, the following code is the default implementation of this method.

Segítő módszerek és osztályok megvalósításaImplementing Helper Methods and Classes

Ez az jelentéselem számos olyan segítő módszert és osztályt valósít meg, amelyet a Windows PowerShell által definiált nyilvános felülbírálási módszerek használnak.This item provider implements several helper methods and classes that are used by the public override methods defined by Windows PowerShell. Ezen segítő módszerek és osztályok kódja a kód minta szakaszban látható.The code for these helper methods and classes are shown in the Code Sample section.

NormalizePath metódusNormalizePath Method

Ez az NormalizePath segítő módszert valósít meg annak biztosítására, hogy az elérési út konzisztens formátumú legyen.This item provider implements a NormalizePath helper method to ensure that the path has a consistent format. A megadott formátum \ elválasztó perjelet () használ.The format specified uses a backslash (\) as a separator.

PathIsDrive metódusPathIsDrive Method

Ez az PathIsDrive segítő módszert valósít meg annak megállapítására, hogy a megadott elérési út valóban a meghajtó neve-e.This item provider implements a PathIsDrive helper method to determine if the specified path is actually the drive name.

ChunkPath metódusChunkPath Method

Ez az elem-szolgáltató egy ChunkPath segítő módszert valósít meg, amely a megadott elérési utat bontja fel, hogy a szolgáltató azonosítani tudja az egyes elemeit.This item provider implements a ChunkPath helper method that breaks up the specified path so that the provider can identify its individual elements. Az elérési út elemeiből álló tömböt ad vissza.It returns an array composed of the path elements.

GetTable metódusGetTable Method

Ez az GetTables segítő metódust valósít meg, amely egy DatabaseTableInfo objektumot ad vissza, amely a hívásban megadott táblára vonatkozó adatokat jelöli.This item provider implements the GetTables helper method that returns a DatabaseTableInfo object that represents information about the table specified in the call.

GetRow metódusGetRow Method

Az elem System. Management. Automation. Provider. Itemcmdletprovider. GetItem * metódusa meghívja a GetRows segítő metódust.The System.Management.Automation.Provider.Itemcmdletprovider.Getitem* method of this item provider calls the GetRows helper method. Ez a segítő metódus egy DatabaseRowInfo objektumot kérdez le, amely a tábla megadott sorával kapcsolatos információkat jeleníti meg.This helper method retrieves a DatabaseRowInfo object that represents information about the specified row in the table.

DatabaseTableInfo osztályDatabaseTableInfo Class

Ez az DatabaseTableInfo olyan osztályt határoz meg, amely az adatbázis adattáblájában található információk gyűjteményét jelöli.This item provider defines a DatabaseTableInfo class that represents a collection of information in a data table in the database. Ez az osztály hasonló a System. IO. Directoryinfo osztályhoz.This class is similar to the System.IO.Directoryinfo class.

A minta elem szolgáltatója egy DatabaseTableInfo. GetTables metódust határoz meg, amely az adatbázisban lévő táblákat meghatározó tábla-információs objektumok gyűjteményét adja vissza.The sample item provider defines a DatabaseTableInfo.GetTables method that returns a collection of table information objects defining the tables in the database. Ez a metódus egy try/catch blokkot tartalmaz annak biztosítására, hogy minden adatbázis-hiba nulla értékű sorként jelenik meg.This method includes a try/catch block to ensure that any database error shows up as a row with zero entries.

DatabaseRowInfo osztályDatabaseRowInfo Class

Ez az DatabaseRowInfo segítő osztály határozza meg, hogy az adatbázis melyik sorát jelöli.This item provider defines the DatabaseRowInfo helper class that represents a row in a table of the database. Ez az osztály hasonló a System. IO. fileinfo osztályhoz.This class is similar to the System.IO.FileInfo class.

A DatabaseRowInfo. GetRows metódust határoz meg, amely a megadott táblához tartozó sor-információs objektumok gyűjteményét adja vissza.The sample provider defines a DatabaseRowInfo.GetRows method to return a collection of row information objects for the specified table. Ez a metódus egy try/catch blokkot tartalmaz a kivételek alátöltéséhez.This method includes a try/catch block to trap exceptions. Az esetleges hibák nem eredményeznek sor-információt.Any errors will result in no row information.

MintakódCode Sample

A teljes mintakód: AccessDbProviderSample03- kód minta.For complete sample code, see AccessDbProviderSample03 Code Sample.

Objektumtípusok és formázások definiálásaDefining Object Types and Formatting

Szolgáltató írásakor szükség lehet tagok hozzáadására meglévő objektumokhoz vagy új objektumok definiálásához.When writing a provider, it may be necessary to add members to existing objects or define new objects. Ha elkészült, hozzon létre egy olyan típusú fájlt, amelyet a Windows PowerShell az objektum tagjainak és az objektum megjelenítését meghatározó formátumú fájl azonosítására használhat.When finished, create a Types file that Windows PowerShell can use to identify the members of the object and a Format file that defines how the object is displayed. A szolgáltatással kapcsolatos további információkért lásd: az Objektumtípusok és a formázás kiterjesztése.For more information about , see Extending Object Types and Formatting.

A Windows PowerShell-szolgáltató felépítéseBuilding the Windows PowerShell provider

Lásd: parancsmagok, szolgáltatók és gazda alkalmazások regisztrálása.See How to Register Cmdlets, Providers, and Host Applications.

A Windows PowerShell-szolgáltató teszteléseTesting the Windows PowerShell provider

Ha ez a Windows PowerShell-elem szolgáltatója regisztrálva van a Windows PowerShellben, csak a szolgáltató alapszintű és meghajtó funkcióit tesztelheti.When this Windows PowerShell item provider is registered with Windows PowerShell, you can only test the basic and drive functionality of the provider. Az elemek kezelésének teszteléséhez meg kell valósítania a Container Windows PowerShell-szolgáltatóimplementálása című témakörben ismertetett tároló-funkciókat is.To test the manipulation of items, you must also implement container functionality described in Implementing a Container Windows PowerShell Provider.

Lásd még:See Also

Windows PowerShell SDKWindows PowerShell SDK

Windows PowerShell – programozói útmutatóWindows PowerShell Programmer's Guide

Windows PowerShell-szolgáltatók létrehozásaCreating Windows PowerShell Providers

A Windows PowerShell-szolgáltató megtervezéseDesigning Your Windows PowerShell provider

Objektumok típusának és formázásának kiterjesztéseExtending Object Types and Formatting

A Windows PowerShell működéseHow Windows PowerShell Works

Tároló Windows PowerShell-szolgáltató létrehozásaCreating a Container Windows PowerShell provider

Meghajtó Windows PowerShell-szolgáltató létrehozásaCreating a Drive Windows PowerShell provider

Parancsmagok, szolgáltatók és gazdagép-alkalmazások regisztrálásaHow to Register Cmdlets, Providers, and Host Applications