ARGOMENTO about_Format.ps1xml DESCRIZIONE BREVE I file Format.ps1xml in Windows PowerShell definiscono la visualizzazione predefinita degli oggetti nella console Windows PowerShell. È possibile creare file Format.ps1xml per modificare la visualizzazione di oggetti o definire visualizzazioni predefinite per i nuovi tipi di oggetti che si creano in Windows PowerShell. DESCRIZIONE DETTAGLIATA I file Format.ps1xml in Windows PowerShell definiscono la visualizzazione predefinita degli oggetti in Windows PowerShell. È possibile creare file Format.ps1xml per modificare la visualizzazione di oggetti o definire visualizzazioni predefinite per i nuovi tipi di oggetti che si creano in Windows PowerShell. Quando Windows PowerShell visualizza un oggetto, utilizza i dati nei file di formattazione strutturati per determinare la visualizzazione predefinita dell'oggetto. I dati nei file di formattazione determinano se viene eseguito il rendering dell'oggetto in una tabella o in un elenco, e determina quali proprietà vengono visualizzate per impostazione predefinita. La formattazione influisce solo sulla visualizzazione. Non influisce su quali proprietà dell'oggetto vengono passate alla pipeline o su come vengono passate. Windows PowerShell include sette file di formattazione. Questi file si trovano nella directory di installazione ($pshome). Ogni file definisce la visualizzazione di un gruppo di oggetti Microsoft .NET Framework: Certificate.Format.ps1xml Oggetti nell'archivio certificati, ad esempio certificati X.509 e archivi certificati. DotNetTypes.Format.ps1xml Altri tipi .NET Framework, quali CultureInfo, FileVersionInfo e oggetti EventLogEntry. FileSystem.Format.ps1xml Oggetti del file system, ad esempio file e directory. Help.Format.ps1xml Visualizzazioni della guida, ad esempio visualizzazioni dettagliate e complete, parametri ed esempio. PowerShellCore.format.ps1xml Oggetti generati dai cmdlet principali di Windows PowerShell, quali Get-Member e Get-History. PowerShellTrace.format.ps1xml Oggetti di analisi, ad esempio quelli generati dal cmdlet Trace-Command. Registry.format.ps1xml Oggetti del Registro di sistema, ad esempio chiavi e voci. Un file di formattazione può definire quattro visualizzazioni diverse di ogni oggetto: tabella, elenco, estesa e complessa. Ad esempio, quando l'output di un comando Get-ChildItem viene indirizzato a un comando Format-List, Format-List utilizza la visualizzazione nel file FileSystem.format.ps1xml per determinare come visualizzare gli oggetti file e cartella come un elenco. Nel file Format.ps1xml, una visualizzazione viene definita da un set di tag XML che descrivono il nome della visualizzazione, il tipo di oggetto a cui può essere applicata, le intestazioni di colonna e le proprietà visualizzate nel corpo della visualizzazione. Il formato nei file Format.ps1xml è applicato immediatamente prima che i dati vengano presentati all'utente. Creazione di nuovi file Format.ps1xml I file .ps1xml installati con Windows PowerShell sono firmati digitalmente per impedirne l'alterazione poiché la formattazione può includere blocchi di script. Pertanto, per modificare il formato di visualizzazione di una visualizzazione dell'oggetto esistente o aggiungere visualizzazioni per i nuovi oggetti, creare file Format.ps1xml, quindi aggiungerli alla sessione di Windows PowerShell. Per creare un nuovo file, copiare un file Format.ps1xml esistente. Il nuovo file può avere qualsiasi nome ma deve avere estensione .ps1xml. È possibile inserire il nuovo file in qualsiasi directory accessibile a Windows PowerShell, ma è consigliabile inserirlo nella directory di installazione ($pshome) di Windows PowerShell o in una sottodirectory della directory di installazione. Per modificare la formattazione di una visualizzazione corrente, individuare la visualizzazione nel file di formattazione, quindi utilizzare i tag per modificare la visualizzazione. Per creare una visualizzazione per un nuovo tipo di oggetto, creare una nuova visualizzazione o utilizzare una visualizzazione esistente come modello. I tag vengono descritti nella sezione successiva di questo argomento. È quindi possibile eliminare tutte le altre visualizzazioni nel file in modo che le modifiche risultino ovvie a chiunque esamini il file. Dopo aver salvato le modifiche, utilizzare il cmdlet Update-FormatData per aggiungere il nuovo file alla sessione di Windows PowerShell. Se si desidera che la visualizzazione abbi la precedenza su una visualizzazione definita nei file predefiniti, utilizzare il parametro PrependData del cmdlet Update-FormatData. Update-FormatData ha effetto solo sulla sessione corrente. Per apportare la modifica a tutte le sessioni future di Windows PowerShell, aggiungere il comando Update-FormatData al profilo di Windows PowerShell. Esempio: aggiunta di dati di calendario agli oggetti cultura In questo esempio viene mostrato come modificare la formattazione degli oggetti cultura (System.Globalization.Cultur eInfo) generati dal cmdlet Get-Culture. I comandi nell'esempio aggiungono la proprietà Calendar alla visualizzazione della vista tabella predefinita degli oggetti cultura. Il primo passaggio è trovare il file Format.ps1xml che contiene la visualizzazione corrente degli oggetti cultura. Il comando Select-String seguente trova il file: select-string -path $pshome\*format.ps1xml ` pattern System.Globalization.CultureInfo Questo comando rivela che la definizione si trova nel file DotNetTypes.Format.ps1xml. Il comando successiva copia il contenuto del file in un nuovo file, MyDotNetTypes.Format.ps1xml. copy-item DotNetTypes.Format.ps1xml MyDotNetTypes.Format.ps1xml Quindi, apre il file MyDotNetTypes.Format.ps1xml in un editor XML o di testo, quale Blocco note. Trovare la sezione dell'oggetto System.Globalization.CultureInfo. Il codice XML seguente definisce le visualizzazioni dell'oggetto CultureInfo. L'oggetto dispone solo di una visualizzazione TableControl. System.Globalization.CultureInfo Deserialized.System.Globalization.CultureInfo System.Globalization.CultureInfo 16 16 LCID Name DisplayName Eliminare la parte restante del file, tranne i tag di apertura , e e i tag di chiusura e . È anche necessario eliminare la firma digitale quando si modifica il file. System.Globalization.CultureInfo Deserialized.System.Globalization.CultureInfo System.Globalization.CultureInfo 16 16 LCID Name DisplayName Successivamente, creare una nuova colonna per la proprietà Calendar aggiungendo un nuovo set di tag . Il valore della proprietà Calendar può essere long, in questo caso viene utilizzato un valore di 45 caratteri, come illustrato di seguito: 16 16 45 A questo punto, aggiungere un nuovo elemento colonna, come segue: LCID Name Calendar DisplayName Dopo aver salvato e chiuso il file, utilizzare un comando Update-FormatData, come il seguente, per aggiungere il nuovo file di formato alla sessione corrente. Il comando utilizza il parametro PrependData per inserire il nuovo file in un ordine di precedenza maggiore al file precedente. Per ulteriori informazioni su Update-FormatData, digitare: "get-help update-formatdata". update-formatdata -prependpath $pshome\MyDotNetTypes.format.ps1xml Per verificare la modifica, digitare "get-culture", quindi rivedere l'output che include la proprietà Calendar. C:\PS> get-culture LCID Name Calendar DisplayName ---- ---- -------- ----------- 1033 en-US System.Globalization.GregorianCalendar English (United States) Codice XML nei file Format.ps1xml La sezione ViewDefinitions di ogni file Format.ps1xml contiene i tag che definiscono ogni visualizzazione. In genere, un tag contiene i tag seguenti: Il tag identifica il nome della visualizzazione. Il tag specifica il tipo o i tipi di oggetto a cui si applica la visualizzazione. Il tag specifica come gli elementi della visualizzazione vengono combinati in gruppi. Questi tag contengono i tag che specificano come ogni elemento sarà visualizzato. Il tag può contenere un tag per ogni tipo di oggetto a cui la visualizzazione si applica. In alternativa, può contenere un tag che fa riferimento a un set di selezioni definito in un'altra posizione utilizzando un tag . Il tag contiene un tag che specifica la proprietà dell'oggetto in base a cui devono essere raggruppati gli elementi. Questo tag include inoltre un tag