16/01/2008
Recuperare informazioni sui cmdlet dalla guida di riferimento
Tag: Nessun tag disponibile.
PowerShell mette a disposizione dell'utente un'ottima guida in linea in formato console, disponibile direttamente all'interno della shell.
Richiedere informazioni su di un particolare comando è semplice come richiamare il cmdlet Get-Help , fornendo come argomento il nome del comando di interesse.
Ecco, ad esempio, come accedere alla guida in linea del cmdlet Get-ChildItem:
Get-Help Get-ChildItem
NAME
Get-ChildItem
SYNOPSIS
Gets the items and child items in one or more specified locations.
SYNTAX
Get-ChildItem [[-path] <string[]>] [[-filter] <string>] [-include <string[]
>] [-exclude <string[]>] [-name] [-recurse] [-force] [<CommonParameters>]
[...]
La guida in linea è visualizzata nella lingua del pacchetto di installazione di PowerShell.
Tra i parametri accettati da Get-Help, troviamo -detailed, che consente il recupero di eventuali informazioni sui parametri del cmdlet e gli esempi di codice redatti dagli autori della guida, e -full, che in aggiunta ritorna la tabella di dettagli tecnici dei parametri ed gli argomenti correlati al comando di interesse.
Get-Help Get-ChildItem -full
La guida in linea sui cmdlet contenuti in Windows PowerShell è disponibile anche all'interno di powershell.it e consente di recuperare informazioni dettagliate sia sui cmdlet standard (inclusi nel pacchetto originale di Windows PowerShell) sia su di un numero crescente di cmdlet di produttori indipendenti.
La guida ufficiale di Windows PowerShell è disponibile su TechNet e contiene migliorie estetiche rispetto alla controparte solo testo; in questo caso, ovviamente, sono disponibili le informazioni dei soli cmdlet appartenenti al pacchetto standard di Windows PowerShell.
Ed ecco, infine, una funzione in grado di aprire una finestra del browser con la guida in linea live del vostro cmdlet preferito:
Function Get-LiveHelp
{
# Definizione dei parametri
Param (
[string]$cmdLetName = '',
[switch]$useTechNet
)
if ($useTechNet)
{
$url = 'http://technet.microsoft.com/en-us/library/bb978526.aspx'
}
else
{
# Carica l'assembly System.Web, utilizzato per l'encoding dell'url
[Reflection.Assembly]::LoadWithPartialName("System.Web") |
Out-Null
# Determina l'url della guida in linea di interesse.
$url = "http://www.powershell.it/Comandi/Cerca.aspx?q=" +
"$( [Web.HttpUtility]::UrlEncode($cmdLetName) )" +
"&l=true"
}
# Apre un browser ed accede alla guida in linea
(new-object -com shell.application).Open($url)
}
# Esempi di utilizzo:
# 1. Apre la guida di powershell.it sul comando desiderato
Get-LiveHelp Get-ChildItem
# 2. Apre la home della guida in linea ufficiale di Windows PowerShell
Get-LiveHelp -useTechNet