Benvenuti alla parte 2 di 3 di PowerShell: una guida completa. Clicca i seguenti link per consultare la parte 1 e la parte 3. In questo post introdurremo l’importazione e l’esportazioni dei dati da e verso la Shell.
Importare dati in PowerShell
PowerShell supporta un grande numero di data format che possono essere importati. Questo consente agli amministratori di eseguire comandi sui dati inseriti. Ci sono due comandi chiave da imparare ad utilizzare, Get-Content e Import-csv. Il cmdlet Get-Content acquisisce il contenuto di un oggetto in una specifica location, solitamente testo o una stringa. Import-Csv crea un oggetto custom simil-tabella che utilizza dati e intestazioni presi da un file csv. Puoi ottenere maggiori informazioni digitando get-help get-content -full e get-help import-csv -full
Per dimostrare queste funzionalità utilizzeremo il nostro laboratorio di test The Solving 2012 R2. Abbiamo creato un file di testo con gli hostname dei server e lo abbiamo salvato nel percorso C:\Temp\Test.txt
Digita Get-Content C:\TEMP\Test.txt – Powershell importerà il contenuto.
Ora che abbiamo i dati nella Shell possiamo iniziare ad utilizzarli.
Digita Get-Content C:\Temp\test.txt | ForEach-Object {Get-WMIObject -class win32_processor} | FT – Autosize
Questo comando restituisce i dettagli della CPU dei server in test.txt. Il comando introduce diversi concetti chiave per comprendere l’importazione dati in Powershell:
- Il comando Get-WMIObject -class win32_processor raccoglie le informazioni della CPU.
- Il cmdlet ForEach-Object applicherà il comando Get-WMIObject ad ogni hostname nella lista test.txt.
- Le parentesi { } che racchiudono il comando {Get-WMIObject -class win32_processor} informano PowerShell di far girare Get-WMIObject -class win32_processor per ogni linea di testo C:\Temp\test.txt.
- La parte finale | FT -Autosize introduce la restituzione dei dati (output) di PowerShell, FT è un alias di Format-Table mentre il parametro -autosize fa in modo che la shell mostri le informazioni in modo leggibile.
Come sempre, possiamo spingerci anche oltre. Il risultato di cui sopra potrebbe non contenere tutte le informazioni di cui abbiamo bisogno sui processori.
Digita Get-content C:\TEMP\test.txt | ForEach-Object {Get-WmiObject -class win32_processor} | Get-member
Puoi ora modificare il comando alla ricerca di specifiche informazioni di cui necessiti.
Ad esempio Get-content C:\TEMP\test.txt | ForEach-Object {Get-WmiObject -class win32_processor} | Select-Object Name, socketdesignation, numberofcores, number
oflogicalprocessors, L2cachesize, l3cachesize | Format-table -AutoSize
Esportare dati da PowerShell
Abbiamo già visto brevemente come visualizzare i dati da PowerShell utilizzando il cmdlet Format-Table. Sono disponibili molti altri formati fra cui i più utilizzati sono:
- Format-List – Il formato di default di PowerShell, per l’output della pipeline. Ecco un esempio:
Digita Get-content C:\TEMP\test.txt | ForEach-Object {Get-WmiObject -class win32_processor} | Select-Object Name, socketdesignation, numberofcores, number
oflogicalprocessors, L2cachesize, l3cachesize | Format-list
- Export-CSV – PowerShell può esportare i dati direttamente in CSV (Comma Separated Values) – un’ottima soluzione per un report.
Digita Get-content C:\TEMP\test.txt | ForEach-Object {Get-WmiObject -class win32_processor} | Select-Object Name, socketdesignation, numberofcores, number
oflogicalprocessors, L2cachesize, l3cachesize | Export-CSV C:\TEMP\Test.csv
Quindi apri il CSV file presente in C:\TEMP\Test.csv
- Convertto-HTML – Powershell può esportare i dati direttamente in HTML e puoi anche importare attributi CSS per report accattivanti graficamente.
Digita Get-content C:\TEMP\test.txt | ForEach-Object {Get-WmiObject -class win32_processor} | Select-Object Name, socketdesignation, numberofcores, number
oflogicalprocessors, L2cachesize, l3cachesize | ConvertTo-Html > C:\Temp\test.html
- Output Everything! – Puoi perfino chiedere a PowerShell di mostrate tutto ciò che è presente nella pipeline. Aggiungi semplicemente -property * al comando
Digita Get-content C:\TEMP\test.txt | ForEach-Object {Get-WmiObject -class win32_processor} | Format-List-Property *
Nella terza parte di PowerShell: una guida completa introdurremo degli esempi pratici di script PowerShell per amministratori IT. Parliamo di soluzioni utili per operare con Active Directory, filesystem e molto altro.
Read related articles
Come imporre restrizioni alle periferiche con un GPO
Abbiamo visto come limitare software (in due modi diversi) e siti web attraverso GPO. Ora è il momento di limitare le
PowerShell: una guida completa – parte 3a
Benvenuti alla parte 3 di 3 di PowerShell: una guida completa. Clicca i seguenti link per consultare la parte 1
PowerShell: una guida completa – parte 1a
Benvenuti alla parte 1 di 3 di Powershell: una guida completa. Clicca i seguenti link per consultare la parte 2