ARGOMENTO
    about_Comment_Based_Help

DESCRIZIONE BREVE
    Viene descritta la modalità di scrittura della Guida basata su commenti relativa a 
    funzioni e script.

DESCRIZIONE DETTAGLIATA
    È possibile scrivere una Guida basata su commenti relativa a 
    funzioni e script mediante parole chiave commento speciali. 

    Il cmdlet Get-Help visualizza la Guida basata su commenti nello 
    stesso formato nel quale visualizza la Guida del cmdlet generata 
    da file XML. Gli utenti possono utilizzare tutti i parametri di 
    Get-Help, ad esempio Detailed, Full, Example e Online, per 
    visualizzare la Guida relativa a funzioni e script.

    È inoltre possibile scrivere file della Guida basati su XML per 
    script e funzioni mediante parole chiave commento e reindirizzare 
    gli utenti a un file della Guida diverso. 

    In questo argomento viene illustrato come scrivere la Guida per 
    funzioni e script. Per informazioni su come visualizzare la Guida 
    per funzioni e script, vedere Get-Help.


 SINTASSI PER LA GUIDA BASATA SU COMMENTI
    La sintassi per la Guida basata su commenti è la seguente:
        # .< parola chiave guida>
        # <contenuto guida>
 
    -oppure

        <#
            .< parola chiave guida>
            < contenuto guida>
        #>


    La Guida basata su commenti viene scritta come una serie di 
    commenti. È possibile digitare un simbolo di commento (#) prima 
    di ogni riga di commenti oppure utilizzare i simboli "<#" e "#>" 
    per creare un blocco di commento. Tutte le righe all'interno del 
    blocco di commento vengono interpretate come commenti.

    Tutte le righe di un argomento della Guida basata su commenti 
    devono essere contigue. Se un argomento della Guida basata su 
    commenti segue un commento che non fa parte dell'argomento, deve 
    essere presente almeno una riga vuota tra l'ultima riga di 
    commento non appartenente alla Guida e l'inizio della Guida 
    basata su commenti.

    Le parole chiave definiscono ogni sezione della Guida basata su 
    commenti. Ogni parola chiave della Guida basata su commenti è 
    preceduta da un punto (.). Le parole chiave possono essere 
    disposte in qualsiasi ordine e i relativi nomi non fanno 
    distinzione tra maiuscole e minuscole.

    La parola chiave Description, ad esempio, precede una descrizione 
    di una funzione o di uno script.

        <#
	    .Description
            Get-Function visualizza il nome e la sintassi di tutte le 
            funzioni nella sessione.
        #>

    Il blocco di commento deve contenere almeno una parola chiave. 
    Alcune delle parole chiave, ad esempio EXAMPLE, possono comparire 
    molte volte nello stesso blocco di commento. Il contenuto della 
    Guida per ogni parola chiave inizia dalla riga dopo la parola 
    chiave e può estendersi su più righe. 



 SINTASSI PER LA GUIDA BASATA SU COMMENTI NELLE FUNZIONI

    La Guida basata su commenti relativa a una funzione può essere 
    visualizzata in una di tre diverse posizioni:

        -- All'inizio del corpo della funzione.

        -- Alla fine del corpo della funzione.

        -- Prima della parola chiave Function. Tra l'ultima riga 
           della Guida relativa alla funzione e la parola chiave 
           Function non può essere presente più di una riga vuota. 

 

    Ad esempio:

        function MyFunction 
        {
            <#
            .< parola chiave guida>
            < contenuto guida>
            #>

            <comandi funzione>
        }


    -oppure

        function MyFunction 
        {
            <comandi funzione>

            <#
            .< parola chiave guida>
            < contenuto guida>
            #>
        }

    -oppure

        <#
        .< parola chiave guida>
        < contenuto guida>
        #>
        function MyFunction { }



 SINTASSI PER LA GUIDA BASATA SU COMMENTI NEGLI SCRIPT

    La Guida basata su commenti relativa a uno script può essere 
    visualizzata in una delle due posizioni seguenti all'interno 
    dello script.

    -- All'inizio del file di script. Nello script la Guida relativa 
       allo script può essere preceduta solo da commenti e righe vuote. 

    -- Se il primo elemento nel corpo dello script (dopo la Guida) è 
       una dichiarazione di funzione, devono essere presenti almeno 
       due righe vuote tra la fine della Guida relativa allo script e 
       la dichiarazione di funzione. In caso contrario, la Guida 
       verrà interpretata come Guida relativa alla funzione, non allo 
       script.

    -- Alla fine del file di script.



    Ad esempio:

        <#
        .< parola chiave guida>
        < contenuto guida>
        #>


        function MyFunction { }

    -oppure-


        function MyFunction { }

        <#
        .< parola chiave guida>
        < contenuto guida>
        #>



 PAROLE CHIAVE DELLA GUIDA BASATA SU COMMENTI
    Di seguito sono elencate le parole chiave della Guida basata su 
    commenti valide. Queste sono disposte nell'ordine in cui vengono visualizzate 
    in un argomento della Guida, insieme alla descrizione del loro 
    utilizzo previsto.
    Queste parole chiave possono essere visualizzate in qualsiasi 
    ordine nella Guida basata su commenti e non fanno distinzione tra 
    maiuscole e minuscole.


    .SYNOPSIS
        Breve descrizione della funzione o dello script. Questa 
        parola chiave può essere utilizzata una sola volta in ogni 
        argomento.

    .DESCRIPTION
        Descrizione dettagliata della funzione o dello script. Questa 
        parola chiave può essere utilizzata una sola volta in ogni 
        argomento.

    .PARAMETER <Nome-Parametro>
        Descrizione di un parametro. È possibile includere una parola 
        chiave Parameter per ogni parametro nella sintassi della 
        funzione o dello script.

        Le parole chiave Parameter possono essere visualizzate in 
        qualsiasi ordine nel blocco di commento, ma la sintassi della 
        funzione o dello script determina l'ordine in cui i 
        parametri, e relative descrizioni, vengono visualizzati 
        nell'argomento della Guida. Per modificare l'ordine, 
        modificare la sintassi.
 
        È inoltre possibile specificare una descrizione di parametro 
        posizionando un commento nella sintassi della funzione o 
        dello script immediatamente prima del nome della variabile 
        del parametro.
        Se si utilizza un commento di sintassi e una parola chiave 
        Parameter, viene utilizzata la descrizione associata alla 
        parola chiave Parameter e il commento di sintassi viene ignorato.

    .EXAMPLE
        Comando di esempio che utilizza la funzione o lo script, 
        seguito facoltativamente da output di esempio e da una 
        descrizione. Ripetere questa parola chiave per ogni esempio.

    .INPUTS
        Tipi Microsoft .NET Framework di oggetti che è possibile reindirizzare alla 
        funzione o allo script. È inoltre possibile includere una 
        descrizione degli oggetti di input.

    .OUTPUTS
        Tipo .NET Framework degli oggetti restituiti dal cmdlet. È inoltre 
        possibile includere una descrizione degli oggetti restituiti.

    .NOTES
        Informazioni aggiuntive sulla funzione o sullo script.

    .LINK
        Nome di un argomento correlato. Ripetere questa parola chiave 
        per ogni argomento correlato.

        Contenuto che viene visualizzato nella sezione Collegamenti 
        correlati dell'argomento della Guida.

        Il contenuto della parola chiave Link può inoltre includere 
        un URI (Uniform Resource Identifier) per una versione online dello stesso         argomento della Guida. La versione online viene aperta quando si utilizza il 
        parametro Online di Get-Help. L'URI deve iniziare con "http" o "https".

    .COMPONENT
        Tecnologia o funzionalità utilizzata dalla funzione o dallo 
        script o a cui è correlato. Contenuto che viene visualizzato 
        quando il comando Get-Help include il parametro Component di 
        Get-Help.

    .ROLE
        Ruolo utente per l'argomento della Guida. Contenuto che viene 
        visualizzato quando il comando Get-Help include il parametro 
        Role di Get-Help.

    .FUNCTIONALITY
        Utilizzo previsto della funzione. Contenuto che viene 
        visualizzato quando il comando Get-Help include il parametro 
        Functionality di Get-Help.

    .FORWARDHELPTARGETNAME <Command-Name>
        Reindirizza l'utente all'argomento della Guida relativo al 
        comando specificato. È possibile reindirizzare gli utenti a 
        qualsiasi argomento della Guida, inclusi gli argomenti 
        relativi a una funzione, script, cmdlet o provider. 

    .FORWARDHELPCATEGORY <Categoria>
        Specifica la categoria della Guida dell'elemento in 
        ForwardHelpTargetName.
        I valori validi sono Alias, Cmdlet, HelpFile, Function, 
        Provider, General, FAQ, Glossary, ScriptCommand, 
        ExternalScript, Filter o All. Utilizzare questa parola chiave 
        per evitare conflitti in presenza di comandi con lo stesso nome.

    .REMOTEHELPRUNSPACE <variabile-PSSession>
        Specifica una sessione che contiene l'argomento della Guida. 
        Immettere una variabile che contiene PSSession. Questa parola 
        chiave viene utilizzata dal cmdlet Export-PSSession per 
        trovare gli argomenti della Guida relativi ai comandi esportati.

    .EXTERNALHELP <Percorso file della Guida XML>
        Specifica il percorso del file della Guida basato su XML 
        relativo allo script o alla funzione. 

        In Windows Vista e nelle versioni successive di Windows, se 
        il percorso specificato del file XML contiene sottodirectory 
        specifiche di impostazioni cultura relative all'interfaccia 
        utente, le sottodirectory ricercano in modo ricorsivo un file 
        XML con il nome dello script o della funzione in base agli 
        standard del fallback della lingua stabiliti per Windows 
        Vista, allo stesso modo in cui ricercano gli argomenti della 
        Guida basata su XML. 

        Per ulteriori informazioni sul formato del file della Guida basata su XML 
        del cmdlet, vedere l'argomento relativo alla creazione della Guida dei cmdlet
        in MSDN (Microsoft Developer Network) Library all'indirizzo                 https://go.microsoft.com/fwlink/?LinkID=123415 (le informazioni potrebbero
        essere in lingua inglese).


 CONTENUTO GENERATO AUTOMATICAMENTE
    Il nome, la sintassi, l'elenco dei parametri, la tabella degli 
    attributi dei parametri, i parametri comuni e i commenti vengono 
    generati automaticamente dal cmdlet Get-Help.

        Nome: 
            La sezione nome di un argomento della Guida relativo a 
            una funzione deriva dal nome della funzione specificato 
            nella sintassi relativa. Il nome di un argomento della 
            Guida relativo a uno script deriva dal nome del file di 
            script. Per modificare il nome o la relativa distinzione 
            tra maiuscole e minuscole, modificare la sintassi della 
            funzione o il nome del file di script.
 
        Sintassi: 
            La sezione sintassi dell'argomento della Guida viene 
            generata dalla sintassi dello script o della funzione. 
            Per aggiungere dettagli alla sintassi dell'argomento 
            della Guida, ad esempio il tipo .NET Framework di un parametro, 
            aggiungere il dettaglio alla sintassi. Se non si 
            specifica un tipo di parametro, il tipo "Object" viene 
            inserito come valore predefinito.

        Elenco dei parametri: 
            L'elenco dei parametri nell'argomento della Guida viene 
            generato dalla sintassi della funzione o dello script e 
            dalle descrizioni aggiunte mediante la parola chiave 
            Parameters. I parametri della funzione sono contenuti 
            nella sezione "Parametri" dell'argomento della Guida 
            nello stesso ordine in cui vengono visualizzati nella 
            sintassi dello script o della funzione. Anche 
            l'ortografia e la distinzione tra maiuscole e minuscole 
            dei nomi dei parametri derivano dalla sintassi e non 
            dipendono dal nome del parametro specificato dalla parola 
            chiave Parameter. 

        Parametri comuni: 
            I parametri comuni vengono aggiunti alla sintassi e 
            all'elenco dei parametri dell'argomento della Guida, 
            anche se non producono alcun effetto. Per ulteriori informazioni 
            sui parametri comuni, vedere about_CommonParameters.

        Tabella degli attributi dei parametri: 
            Get-Help genera la tabella degli attributi dei parametri 
            che viene visualizzata quando si utilizza il parametro 
            Full o Parameter di Get-Help. Il valore degli attributi 
            Required, Position e Default deriva dalla sintassi 
            della funzione o dello script. 

        Commenti: 
            La sezione commenti dell'argomento della Guida viene 
            generata automaticamente dal nome dello script o della 
            funzione. Non è possibile modificare il contenuto di 
            questa sezione.



 ESEMPI

    Esempio 1: Guida basata su commenti relativa a una funzione

        Nella funzione di esempio seguente è inclusa una Guida basata 
        su commenti:

            function Add-Extension 
            {
                param ([string]$Name,[string]$Extension = "txt") 
                $name = $name + "." + $extension $name

            <#
            .SYNOPSIS 
            Aggiunge un'estensione di file a un nome fornito.

            .DESCRIPTION
            Aggiunge un'estensione di file a un nome fornito. Accetta 
            qualsiasi stringa per il nome o l'estensione di file.

            .PARAMETER Name
            Specifica il nome del file.

            .PARAMETER Extension
            Specifica l'estensione di file. "Txt" è l'estensione predefinita.

            .INPUTS
            Nessuno. Non è possibile reindirizzare oggetti a 
            Add-Extension.

            .OUTPUTS
            System.String. Add-Extension restituisce una stringa con 
            il nome o l'estensione di file.

            .EXAMPLE
            C:\PS> extension -name "File"
            File.txt

            .EXAMPLE
            C:\PS> extension -name "File" -extension "doc"
            File.doc

            .EXAMPLE
            C:\PS> extension "File" "doc"
            File.doc

            .LINK
            Versione online: http://www.fabrikam.com/extension.html

            .LINK
            Set-Item
            #>
            }



        Di seguito sono illustrati i risultati:

        C:\PS> get-help add-extension -full

        NOME
            Add-Extension
    
        SYNOPSIS
            Aggiunge un'estensione di file a un nome fornito.
    
        SINTASSI
            Add-Extension [[-Name] <String>] [[-Extension] <String>] 
            [<CommonParameters>] 
        DESCRIZIONE
            Aggiunge un'estensione di file a un nome fornito. Accetta 
            qualsiasi stringa per il nome o l'estensione di file.
    
        PARAMETRI
           -Name
               Specifica il nome del file.
        
               Required?                    false
               Position?                    0
               Valore predefinito                
               Accept pipeline input?       false
               Accept wildcard characters?  
        
           -Extension
               Specifica l'estensione. "Txt" è l'estensione predefinita.
        
               Required?                    false
               Position?                    1
               Valore predefinito                
               Accept pipeline input?       false
               Accept wildcard characters?  
        
            <CommonParameters>
               Questo cmdlet supporta i parametri comuni -Verbose, 
               -Debug, ErrorAction, -ErrorVariable, -WarningAction, 
               -WarningVariable, OutBuffer e -OutVariable. Per 
               ulteriori informazioni, digitare "get-help 
               about_commonparameters".
    

        INPUTS
            Nessuno. Non è possibile reindirizzare oggetti a 
            Add-Extension.
    
        OUTPUTS
            System.String. Add-Extension restituisce una stringa con 
            il nome o l'estensione di file.
        
            -------------------------- ESEMPIO 1 -------------------------- 
            C:\PS> extension -name "File"
            File.txt
    
            -------------------------- ESEMPIO 2 -------------------------- 
            C:\PS> extension -name "File" -extension "doc"
            File.doc
    
            -------------------------- ESEMPIO 3 -------------------------- 
            C:\PS> extension "File" "doc"
            File.doc
    
        COLLEGAMENTI CORRELATI
            Versione online: http://www.fabrikam.com/extension.html 
            Set-Item



    Esempio 2: Descrizioni dei parametri nella sintassi della funzione

        Questo esempio corrisponde al precedente, ad eccezione del 
        fatto che le descrizioni dei parametri sono inserite nella 
        sintassi della funzione. Questo formato è soprattutto utile 
        quando le descrizioni sono brevi. 


        function Add-Extension 
        {
            param 
            (
                [string]
                # Specifica il nome file.
                $name,

                [string]
                # Specifica l'estensione. "Txt" è l'estensione 
                predefinita.
                $extension = "txt"
            )
            $name = $name + "." + $extension
            $name
      
            <#
            .SYNOPSIS 
            Aggiunge un'estensione di file a un nome fornito.

            .DESCRIPTION
            Aggiunge un'estensione di file a un nome fornito. Accetta 
            qualsiasi stringa per il nome o l'estensione di file.

            .INPUTS
            Nessuno. Non è possibile reindirizzare oggetti a 
            Add-Extension.

            .OUTPUTS
            System.String. Add-Extension restituisce una stringa con 
            il nome o l'estensione di file.

            .EXAMPLE
            C:\PS> extension -name "File"
            File.txt

            .EXAMPLE
            C:\PS> extension -name "File" -extension "doc"
            File.doc

            .EXAMPLE
            C:\PS> extension "File" "doc"
            File.doc
 
            .LINK
            Versione online: http://www.fabrikam.com/extension.html

            .LINK
            Set-Item
            #>
        }




    Esempio 3: Guida basata su commenti relativa a uno script

        Nello script di esempio seguente è inclusa una Guida basata 
        su commenti. 

        Si notino le righe vuote tra il simbolo di chiusura "#>" e 
        l'istruzione Param. In uno script privo di istruzione Param, 
        devono essere presenti almeno due righe vuote tra il commento 
        finale nell'argomento della Guida e la prima dichiarazione di 
        funzione. Senza queste righe vuote, Get-Help associa 
        l'argomento della Guida alla funzione, non allo script.

           <#
           .SYNOPSIS 
           Esegue aggiornamenti mensili dei dati.

           .DESCRIPTION
           Lo script Update-Month.ps1 aggiorna il Registro di sistema 
           con i nuovi dati generati lo scorso mese e genera un report.
    
           .PARAMETER InputPath
           Specifica il percorso del file di input basato su CSV.

           .PARAMETER OutputPath
           Specifica il nome e il percorso del file di output basato 
           su CSV. Per impostazione predefinita, MonthlyUpdates.ps1 
           genera un nome in base alla data e all'ora in cui viene 
           eseguito e salva l'output nella directory locale.

           .INPUTS
           Nessuno. Non è possibile reindirizzare oggetti a 
           Update-Month.ps1.

           .OUTPUTS
           Nessuno. Update-Month.ps1 non genera alcun output.

           .EXAMPLE
           C:\PS> .\Update-Month.ps1

           .EXAMPLE
           C:\PS> .\Update-Month.ps1 -inputpath C:\Data\January.csv

           .EXAMPLE
           C:\PS> .\Update-Month.ps1 -inputpath C:\Data\January.csv 
           -outputPath C:\Reports\2009\January.csv
           #>

           param ([string]$InputPath, [string]$OutPutPath)

           function Get-Data { }
           ...


        Il comando seguente ottiene la Guida dello script. Poiché lo 
        script non si trova in una directory elencata nella variabile 
        di ambiente Path, nel comando Get-Help che ottiene la Guida 
        dello script deve essere specificato il percorso dello script.


            PS C:\ps-test> get-help .\update-month.ps1 -full

            NOME
                C:\ps-test\Update-Month.ps1
    
            SYNOPSIS
                Esegue aggiornamenti mensili dei dati.
    
            SINTASSI
                C:\ps-test\Update-Month.ps1 [-InputPath] <String> 
                [[-OutputPath] ]<String>] [<CommonParameters>]
                    
            DESCRIZIONE
                Lo script Update-Month.ps1 aggiorna il Registro di 
                sistema con i nuovi dati generati lo scorso mese e 
                genera un report.
    
            PARAMETRI
               -InputPath
                   Specifica il percorso del file di input basato su CSV.
        
                   Required?                    true
                   Position?                    0
                   Valore predefinito                
                   Accept pipeline input?       false
                   Accept wildcard characters?  
        
               -OutputPath
                   Specifica il nome e il percorso del file di output 
                   basato su CSV. Per impostazione predefinita, 
                   MonthlyUpdates.ps1 genera un nome in base alla 
                   data e all'ora in cui viene eseguito e salva 
                   l'output nella directory locale.
        
                   Required?                    false
                   Position?                    1
                   Valore predefinito                
                   Accept pipeline input?       false
                   Accept wildcard characters?  
               <CommonParameters>
                   Questo cmdlet supporta i parametri comuni 
                   -Verbose, -Debug, ErrorAction, -ErrorVariable, 
                    -WarningAction, -WarningVariable, OutBuffer e 
                     -OutVariable. Per ulteriori informazioni, 
                      digitare "get-help about_commonparameters".
    
            INPUT
                   Nessuno. Non è possibile reindirizzare oggetti a 
                   Update-Month.ps1.
    
            OUTPUT
                   Nessuno. Update-Month.ps1 non genera alcun output.
    
    
            -------------------------- ESEMPIO 1 -------------------------- 
            C:\PS> .\Update-Month.ps1
    
            -------------------------- ESEMPIO 2 -------------------------- 
            C:\PS> .\Update-Month.ps1 -inputpath C:\Data\January.csv
    
            -------------------------- ESEMPIO 3 -------------------------- 
            C:\PS> .\Update-Month.ps1 -inputpath C:\Data\January.csv 
            -outputPath 
            C:\Reports\2009\January.csv
        
            COLLEGAMENTI CORRELATI



    Esempio 4: Reindirizzamento a un File XML

        È possibile scrivere argomenti della Guida basati su XML 
        relativi a funzioni e script. Anche se la Guida basata su 
        commenti risulta essere di più facile implementazione, la 
        Guida basata su XML è necessaria qualora si desideri 
        esercitare un controllo più preciso sul contenuto della Guida 
        o si intenda tradurre gli argomenti della Guida in più lingue. 

        Nell'esempio seguente vengono illustrate le prime righe dello 
        script Update-Month.ps1. Nello script viene utilizzata la 
        parola chiave ExternalHelp per specificare il percorso di un 
        argomento della Guida basato su XML relativo allo script.


            # .ExternalHelp C:\MyScripts\Update-Month-Help.xml


            param ([string]$InputPath, [string]$OutPutPath)

            function Get-Data { }
            ...



       Nell'esempio seguente viene illustrato l'utilizzo della parola 
       chiave ExternalHelp in una funzione.


            function Add-Extension 
            {
                param ([string] $name, [string]$extension = "txt") 
                $name = $name + "." + $extension $name
      
                # .ExternalHelp C:\ps-test\Add-Extension.xml }


    Esempio 5: Reindirizzamento a un argomento della Guida diverso

        Il codice seguente è tratto dall'inizio della funzione Help 
        incorporata in Windows PowerShell che consente di 
        visualizzare una schermata alla volta di testo della Guida. 
        Poiché l'argomento della Guida relativo al cmdlet Get-Help 
        descrive la funzione Help, quest'ultima utilizza le parole chiave 
        ForwardHelpTargetName e ForwardHelpCategory per reindirizzare 
        l'utente all'argomento della Guida relativo al cmdlet Get-Help.

            function help 
            {

            <#
            .FORWARDHELPTARGETNAME Get-Help
            .FORWARDHELPCATEGORY Cmdlet
            #>
            [CmdletBinding(DefaultParameterSetName='AllUsersView')] param(
                [Parameter(Position=0, ValueFromPipelineByPropertyName
                =$true)] [System.String]
                ${Name},
                   ...


        Il comando seguente utilizza questa funzionalità:

            C:\PS> get-help help

            NOME
                Get-Help

            SYNOPSIS
                Visualizza informazioni sui cmdlet e i concetti 
                relativi a Windows PowerShell.
            ...


VEDERE ANCHE
    about_Functions
    about_Functions_Advanced_Parameters
    about_Scripts
    "Modalità di scrittura della Guida dei cmdlet" (https://go.microsoft.com/fwlink/?LinkID=123415)
    (le informazioni potrebbero essere in lingua inglese)






Argomenti della Guida