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