ARGOMENTO
    about_Data_Sections

DESCRIZIONE BREVE
    Illustra le sezioni Data in cui le stringhe di testo e altri dati 
    di sola lettura vengono isolati dalla logica dello script.


DESCRIZIONE DETTAGLIATA
    Negli script progettati per Windows PowerShell possono essere 
    presenti una o più sezioni Data che contengono solo dati. È possibile 
    includere una o più sezioni Data in qualsiasi script, funzione o funzione 
    avanzata. Il contenuto della sezione Data è limitato a un sottoinsieme 
    specificato del linguaggio di script di Windows PowerShell.

    La separazione dei dati dal codice logico rende più semplice 
    l'identificazione e la gestione di logica e dati. Consente di 
    disporre di file di risorse di tipo stringa separati per il testo, 
    ad esempio messaggi di errore e stringhe della Guida. Isola inoltre 
    il codice logico che facilita i test di convalida e sicurezza. 

    In Windows PowerShell, la sezione Data viene utilizzata per supportare 
    l'internazionalizzazione degli script. È possibile utilizzare le 
    sezioni Data per facilitare l'isolamento, l'individuazione e 
    l'elaborazione di stringhe che verranno tradotte in molte lingue dell'interfaccia utente. 

    La sezione Data è una funzionalità di Windows PowerShell 2.0. Gli 
    script con le sezioni Data non verranno eseguiti in Windows 
    PowerShell 1.0 senza revisione.


  Sintassi

    La sintassi della sezione Data è la seguente:

        DATA [-supportedCommand <nome-cmdlet>] {

            <Contenuto consentito>
        }


    La parola chiave Data è obbligatoria. Non viene applicata la 
    distinzione tra maiuscole e minuscole.


    Il contenuto consentito è limitato agli elementi seguenti:

        - Tutti gli operatori di Windows PowerShell, eccetto -match 	 
        - Le istruzioni If, Else e Elseif
           
	- Le variabili automatiche seguenti: $PsCulture, $PsUICulture, $True, 
	  $False e $Null

        - Commenti

        - Pipeline

        - Le istruzioni separate da punto e virgola (;)

        - I valori letterali, come:

            a

            1
  
            1,2,3
	
            "Windows PowerShell 2.0"

            @( "red", "green", "blue" )

            @{ a = 0x1; b = "great"; c ="script" }

            [XML] @'
             <p> Hello, World </p>
            '@

        - I cmdlet consentiti in una sezione Data. Per impostazione 
          predefinita, è consentito solo il cmdlet ConvertFrom-StringData.

        - I cmdlet consentiti in una sezione Data tramite il parametro 
          SupportedCommand.


    Quando si utilizza il cmdlet ConvertFrom-StringData in una 
    sezione Data, è possibile racchiudere le coppie chiave/valore in 
    stringhe o in stringhe here tra virgolette singole o doppie. 
    Tuttavia, è necessario che le stringhe che contengono variabili e 
    sottoespressioni vengano racchiuse in stringhe o stringhe here tra 
    virgolette singole in modo che le variabili non vengano espanse e 
    le sottoespressioni non siano eseguibili. 


  SupportedCommand

      Il parametro SupportedCommand consente di indicare che un 
      cmdlet o una funzione genera solo dati. È progettato per 
      consentire agli utenti di includere cmdlet e funzioni in una 
      sezione Data scritta o sottoposta a test.

      Il valore di SupportedCommand è un elenco di uno o più cmdlet o 
      di nomi di funzione separati da virgole.

      Ad esempio, nella sezione Data seguente viene incluso un cmdlet 
      scritto dall'utente, Format-XML, che formatta dati in un file XML:

	  DATA -supportedCommand Format-XML 
          {  
             Format-XML -strings string1, string2, string3 
          }
       


  Utilizzo di una sezione Data

      Per utilizzare il contenuto di una sezione Data, assegnarlo a una 
      variabile e utilizzare la notazione della variabile per accedere al 
      contenuto.

      La sezione Data seguente, ad esempio, contiene un comando 
      ConvertFrom-StringData che converte la stringa here in una 
      tabella hash. La tabella hash viene assegnata alla variabile 
      $TextMsgs. 

      La variabile $TextMsgs non fa parte della sezione Data.
 
          $TextMsgs = DATA {
              ConvertFrom-StringData -stringdata @' 
                Text001 = Windows 7
                Text002 = Windows Server 2008 R2 
         '@
          }
     
      Per accedere alle chiavi e ai valori nella tabella hash in 
      $TextMsgs, utilizzare i comandi seguenti.

          $TextMsgs.Text001   
          $TextMsgs.Text002



ESEMPI

    Stringhe di dati semplici.

        DATA {
            "Grazie per aver utilizzato lo script Windows PowerShell 
            Organize.pst script". "È gratuito per la community." "Sarò felice di 
            ricevere commenti e suggerimenti." 
        }


    Stringhe che includono variabili consentite.

        DATA {
            if ($null) {
	       "Per visualizzare la Guida relativa a questo cmdlet, digitare 
	       get-help new-dictionary." 
            }
        }	
		

    Stringa here racchiusa tra virgolette singole che utilizza il cmdlet 
    ConvertFrom-StringData:

        DATA {
          ConvertFrom-StringData -stringdata @' 
          Text001 = Windows 7
            Text002 = Windows Server 2008 R2
        '@
        }



    Stringa here racchiusa tra virgolette doppie che utilizza il cmdlet 
    ConvertFrom-StringData:

        DATA {
          ConvertFrom-StringData -stringdata @" 
          Msg1 = Per iniziare, 
          premere un tasto qualsiasi.
            Msg2 = Per uscire, digitare "quit".
        "@
        }



    Sezione Data che include un cmdlet scritto dall'utente che genera 
    dati:

	DATA -supportedCommand Format-XML {  
           Format-XML -strings string1, string2, string3 
        }


VEDERE ANCHE
    about_Automatic_Variables
    about_Comparison_Operators
    about_Hash_Tables
    about_If
    about_Operators
    about_Quoting_Rules
    about_Script_Internationalization
    ConvertFrom-StringData
    Import-LocalizedData




Argomenti della Guida