16/09/2008

Introduzione a PowerShell

Lavorare con drive, cartelle e file

A cura di Efran Cobisi


Se vi rimane ancora un po' di tempo...


Torniamo per un attimo all’inizio e ai cmdlet Export-CSV e Export-CLIXML. Se è ancora disponibile, usate la variabile $P, altrimenti digitate questo comando all’interno di Windows PowerShell:
$p = Get-Process
Ora memorizzate la variabile in un file CSV e in un file CliXML:
$p | Export-CSV .\test.csv
$p | Export-CLIXML .\test.xml
Ora importate questi valori in due nuove variabili:
$p1 = Import-CSV .\test.csv
$p2 = Import-CLIXML .\test.xml
C1: Calcolate l’utilizzo medio, massimo e minimo del processore. Suggerimento: usate il comando Measure-Object come negli esempi precedenti. Fatelo separatamente per ciascuna delle tre variabili: $p, $p1 $p2.

C2: Ora ordinate le variabili, che sono mostrate come una lista, per utilizzo del processore e selezionatene i primi 5 elementi. Fatelo di nuovo per ciascuna delle tre variabili: $p, $p1 e $p2. I risultati sono tutti uguali? Quale variabile si rivela diversa dalle altre in certe condizioni? Cosa c’è di sbagliato qui?

La soluzione è relativamente semplice. Durante l’esportazione di un file CSV e la seguente importazione, Windows PowerShell perde tutte le informazioni contestuali dei valori. Ciò significa che quando ordinate la lista i numeri diventano stringhe e 8.0 viene posizionato prima di 800. Nei file XML questa informazione è salvata ed è perciò disponibile per essere ordinata correttamente. Diventa perciò facile calcolarne il valore medio, la somma, etc.; in questo caso 8.0 + 800 dà come risultato 808.0 e quindi le valutazioni di Measure-Object sono corrette, ma non lo sono per gli ordinamenti. Prestate attenzione al formato in cui memorizzate le vostre variabili, quando le salvate su file; XML può essere il formato più sicuro!

Commenti



Nessun commento disponibile.

Cobisi EmailVerify.NET is a Microsoft .NET software component that validates email addresses. valid email