Visualizzazione post con etichetta Get-History. Mostra tutti i post
Visualizzazione post con etichetta Get-History. Mostra tutti i post

lunedì 11 luglio 2016

PowerShell: Eseguire comandi presenti nella cronologia tramite Invoke-History

Il cmdlet Invoke-History consente di eseguire i comandi presenti nella cronologia dei comandi della sessione PowerShell.
Se eseguito senza alcun parametro, Invoke-History riesegue l'ultimo comando lanciato.
Invoke-History

Con Get-History possiamo visualizzare l'elenco dei comandi presenti nella cronologia con relativo ID. L'ID può essere passato al cmdlet Invoke-History in modo che venga eseguito quello specifico comando. Ad es.
Invoke-History -ID 3
esegue il comando avente ID 3.

Al parametro ID può essere passato anche parte del comando presente in cronologia che si intende eseguire. Ad es.
Invoke-History -ID Get-Pr
esegue l'ultimo comando che inizia per "Get-Pr" (come Get-Process, Get-PrinterDriver, ecc) presente in cronologia.
PowerShell, Invoke-History
FIG 1 - PowerShell, Invoke-History

Per eseguire più comandi possiamo utilizzare Invoke-History insieme al cmdlet Get-History. Ad es.
Get-History -ID 10 -Count 3 | Invoke-History
esegue i comandi memorizzati nella cronologia aventi come ID 8,9 e 10.




venerdì 8 luglio 2016

PowerShell: Visualizzare l'elenco dei comandi eseguiti con Get-History

Per visualizzare la cronologia della sessione PowerShell corrente, ovvero l'elenco degli ultimi comandi eseguiti, viene utilizzato il cmdlet Get-History. L'output del cmdlet mostra l'ID e il comando eseguito.


Get-History, visualizzare la cronologia dei comandi
FIG 1 - Get-History, visualizzare la cronologia dei comandi

Il numero di elementi memorizzati di default varia a seconda della versione PowerShell (64 in PowerShell 2.0, 4096 in Powershell 3.0 e successivi) e può essere modificato tramite la variabile $MaximumHistoryCount.
Per conoscere il valore di tale variabile e di conseguenza il numero di comandi memorizzati, si può utilizzare il comando:
Get-Variable  MaximumHistoryCount

Per modificare il numero di comandi memorizzati, invece, basta assegnare il valore voluto alla variabile $MaximumHistoryCount ad es.
$MaximumHistoryCount = 200
Get-Variable MaximumHistoryCount
FIG 2 - Get-Variable MaximumHistoryCount


I parametri utilizzabili con il cmdlet Get-History sono: ID e Count

ID
Specifica il numero ID di un comando presente nella cronologia. Se specificato con Get-History viene visualizzato solo il comando specificato:
Get-History -ID 2
visualizza solo il comando avente come ID 2
Get-History -ID
FIG 3 - Get-History -ID

Count
Visualizza il numero specificato di elementi più recenti presenti all'interno della cronologia:
Get-History -Count 3
visualizza gli ultimi 3 elementi della cronologia
Get-History -Count
FIG 4 - Get-History -Count

I parametri ID e Count se utilizzati insieme visualizzano n elementi specificati da Count fino all'elemento specificato da ID. Ad es.
Supponiamo che la cronologia contenga 18 elementi, lanciando il seguente comando
GetHistory -ID 10 -Count 3
otteniamo in output 3 comandi presenti nella cronologia di cui l'ultimo ha ID 10 (i comandi in output vanno da ID 8 a ID 10 come mostrato in FIG 5).
GetHistory con le opzioni ID e Count
FIG 5 - GetHistory con le opzioni ID e Count