Sei sulla pagina 1di 4

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:

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

Potrebbero piacerti anche