Sağlayıcı yardım konusuna dinamik parametreler nasıl eklenir?


Not

XML tabanlı yardımın manuel olarak yazılması çok zordur. PlatyPS modülü, Markdown'da yardım yazmanıza ve ardından bunu XML tabanlı yardıma dönüştürmenize olanak tanır. Bu, yardım yazmayı ve sürdürmeyi çok daha kolaylaştırır. PlatyPS ayrıca sizin için Güncellenebilir Yardım paketleri de oluşturabilir. Daha fazla bilgi için PlatyPS kullanarak XML tabanlı yardım oluşturma konusuna bakın.

Bu bölümde, sağlayıcı yardım konusunun DİNAMİK PARAMETRELER bölümünün nasıl doldurulacağı açıklanmaktadır.

Dinamik parametreler, yalnızca belirtilen koşullar altında kullanılabilen bir cmdlet'in veya işlevin parametreleridir.

Sağlayıcı yardım konusunda belgelenen dinamik parametreler, sağlayıcı sürücüsünde cmdlet veya işlev kullanıldığında sağlayıcının cmdlet'e veya işleve eklediği dinamik parametrelerdir.

Dinamik parametreler ayrıca bir sağlayıcıya yönelik özel cmdlet yardımında da belgelenebilir. Bir sağlayıcı için hem sağlayıcı yardımını hem de özel cmdlet yardımını yazarken, dinamik parametre belgelerini her iki belgeye de ekleyin.

Sağlayıcı herhangi bir dinamik parametre uygulamıyorsa sağlayıcı yardım konusu boş bir DynamicParameters öğesi içerir.

Dinamik parametreler eklemek için

  1. <AssemblyName>.dll-help.xml dosyasında, providerHelp öğesinin içine bir DynamicParameters öğesi ekleyin. DynamicParameters öğesi, Tasks öğesinden sonra ve RelatedLinks öğesinden önce görünmelidir.

    Örneğin:

    <providerHelp>
        <Tasks>
        </Tasks>
        <DynamicParameters>
        </DynamicParameters>
        <RelatedLinks>
        </RelatedLinks>
    </providerHelp>
    

    Sağlayıcı herhangi bir dinamik parametre uygulamıyorsa DynamicParameters öğesi boş olabilir.

  2. DynamicParameters öğesine her dinamik parametre için bir DynamicParameter öğesi ekleyin.

    Örneğin:

    <DynamicParameters/>
        <DynamicParameter>
        </DynamicParameter>
    </DynamicParameters>
    
  3. Her DynamicParameter öğesine bir Ad ve CmdletSupported öğesi ekleyin.

    • Ad - Parametre adını belirtir
    • CmdletSupported -Parametrenin geçerli olduğu cmdlet'leri belirtir. Cmdlet adlarının virgülle ayrılmış bir listesini yazın.

    Örneğin, aşağıdaki XML, Windows PowerShell FileSystem sağlayıcısının İçerik Ekle, Get-Content, <'e eklediği Kodlama dinamik parametresini belgelemektedir.Set-Content cmdlet'leri.

    <DynamicParameters/>
        <DynamicParameter>
            <Name> Encoding </Name>
            <CmdletSupported> Add-Content, Get-Content, Set-Content </CmdletSupported>
    </DynamicParameters>
    
    
  4. Her DynamicParameter öğesine bir Type öğesi ekleyin. Type öğesi, dinamik parametrenin değerinin .NET türünü içeren Name öğesi için bir kapsayıcıdır.

    Örneğin, aşağıdaki XML, Encoding dinamik parametresinin .NET türünün FileSystemCmdletProviderEncoding numaralandırması olduğunu gösterir.

    <DynamicParameters/>
        <DynamicParameter>
            <Name> Encoding </Name>
            <CmdletSupported> Add-Content, Get-Content, Set-Content </CmdletSupported>
            <Type>
                <Name> Microsoft.PowerShell.Commands.FileSystemCmdletProviderEncoding </Name>
            <Type>
    ...
    </DynamicParameters>
    
  5. Dinamik parametrenin kısa bir açıklamasını içeren Açıklama öğesini ekleyin. Açıklamayı oluştururken Parametre Bilgileri Nasıl Eklenir bölümünde tüm cmdlet parametreleri için belirtilen yönergeleri kullanın.

    Örneğin, aşağıdaki XML Kodlama dinamik parametresinin açıklamasını içerir.

    <DynamicParameters/>
        <DynamicParameter>
            <Name> Encoding </Name>
            <CmdletSupported> Add-Content, Get-Content, Set-Content </CmdletSupported>
            <Type>
                <Name> Microsoft.PowerShell.Commands.FileSystemCmdletProviderEncoding </Name>
            <Type>
            <Description> Specifies the encoding of the output file that contains the content. </Description>
    ...
    </DynamicParameters>
    
  6. PossibleValues öğesini ve onun alt öğelerini ekleyin. Bu öğeler birlikte dinamik parametrenin değerlerini tanımlar. Bu öğe numaralandırılmış değerler için tasarlanmıştır. Dinamik parametre, switch parametresinde olduğu gibi bir değer almıyorsa veya değerler numaralandırılamıyorsa, boş bir PossibleValues öğesi ekleyin.

    Aşağıdaki tablo PossibleValues öğesini ve onun alt öğelerini listeler ve açıklar.

    • OlasıValues - Bu öğe bir kapsayıcıdır. Alt öğeleri aşağıda açıklanmıştır. Her sağlayıcı yardım konusuna bir PossibleValues öğesi ekleyin. Öğe boş olabilir.
    • OlasıValue - Bu öğe bir kapsayıcıdır. Alt öğeleri aşağıda açıklanmıştır. Dinamik parametrenin her değeri için bir PossibleValue öğesi ekleyin.
    • Değer - Değer adını belirtir.
    • Açıklama - Bu öğe bir Para öğesi içerir. Para öğesindeki metin, Value öğesinde adlandırılan değeri açıklar.

    Örneğin, aşağıdaki XML, Encoding dinamik parametresinin bir PossibleValue öğesini gösterir.

    <DynamicParameters/>
        <DynamicParameter>
    ...
            <Description> Specifies the encoding of the output file that contains the content. </Description>
            <PossibleValues>
                <PossibleValue>
                    <Value> ASCII </Value>
                    <Description>
                        <para> Uses the encoding for the ASCII (7-bit) character set. </para>
                    </Description>
                </PossibleValue>
    ...
            </PossibleValues>
    </DynamicParameters>
    

Örnek

Aşağıdaki örnek, Encoding dinamik parametresinin DynamicParameters öğesini gösterir.

<DynamicParameters/>
    <DynamicParameter>
        <Name> Encoding </Name>
        <CmdletSupported> Add-Content, Get-Content, Set-Content </CmdletSupported>
        <Type>
            <Name> Microsoft.PowerShell.Commands.FileSystemCmdletProviderEncoding </Name>
        <Type>
        <Description> Specifies the encoding of the output file that contains the content. </Description>
        <PossibleValues>
            <PossibleValue>
                <Value> ASCII </Value>
                <Description>
                    <para> Uses the encoding for the ASCII (7-bit) character set. </para>
                </Description>
            </PossibleValue>
            <PossibleValue>
                <Value> Unicode </Value>
                <Description>
                    <para> Encodes in UTF-16 format using the little-endian byte order. </para>
                </Description>
            </PossibleValue>
        </PossibleValues>
</DynamicParameters>

İlgili makaleler