Come utilizzare i parametri predefiniti di PowerShell per modificare il comportamento dei comandi

Come utilizzare i parametri predefiniti di PowerShell per modificare il comportamento dei comandi

Molte persone preferiscono utilizzare PowerShell perché consente loro di eseguire operazioni che non possono essere eseguite con la GUI di Windows. Anche così, non si può negare che alcuni cmdlet di PowerShell possano essere un po' noiosi o complicati. Ma cosa accadrebbe se ci fosse un modo per poter modificare questi cmdlet e farli “comportare” nel modo desiderato? Che tu ci creda o no, c'è un modo semplice per farlo. È possibile modificare il comportamento del cmdlet modificando i valori dei parametri predefiniti di PowerShell. Questo articolo ti mostrerà come utilizzare i parametri predefiniti di PowerShell per modificare il comportamento dei comandi cmdlet.

Avvertimento

Prima di iniziare, ci sono alcune cose che devi tenere a mente. Sebbene la modifica dei parametri predefiniti di PowerShell e del comportamento cmdelt sia conveniente, può causare problemi. Se esegui uno script e lo script presuppone che il cmdlet modificato si comporterà in un determinato modo, potresti ottenere risultati imprevedibili. Pertanto, dovresti assicurarti di modificare attentamente i parametri predefiniti di PowerShell.

Recensione veloce

Esistono due concetti di PowerShell con cui è necessario avere familiarità per poter lavorare con i parametri predefiniti. Il primo concetto è variabile. In PowerShell i nomi delle variabili iniziano sempre con il simbolo del dollaro ed è possibile scrivere il contenuto di una variabile digitandone il nome.

Il secondo concetto con cui potresti avere familiarità è la tabella hash. Una tabella hash è essenzialmente un elenco composto da coppie chiave/valore. Ad esempio, supponiamo di voler creare una tabella hash contenente i nomi degli stati degli Stati Uniti e le relative abbreviazioni. Di seguito è riportato il codice:

$StateList = @{}
$StateList.add('Florida','FL')
$StateList.add('South Carolina','SC')
$StateList.add('Georgia','GA')
$StateList

La prima riga di codice crea una tabella hash vuota denominata $StateList . Le tre righe successive aggiungono voci alla tabella. Ogni voce è composta da una chiave (nome dello stato) e da un valore (abbreviazione dello stato). L'ultima riga elenca il contenuto della tabella. Puoi vedere il codice in azione nell'immagine qui sotto.

Questo è solo un esempio molto semplice ed esistono molti altri modi per utilizzare le tabelle hash.

Utilizza i parametri predefiniti di PowerShell

PowerShell dispone di una variabile incorporata utilizzata per archiviare i parametri predefiniti utilizzati con i relativi cmdlet. Questa variabile si chiama $PSDefaultParameterValues . Come avrai notato dall'introduzione iniziale e dal nome della variabile, questa non è una variabile ordinaria ma una tabella hash. Tuttavia, se inserisci il nome della variabile in PowerShell, vedrai rapidamente che la tabella è vuota, come mostrato di seguito.

Come utilizzare i parametri predefiniti di PowerShell per modificare il comportamento dei comandi

Allora cosa possiamo fare con questa variabile $PSDefaultParameterValues . Come accennato in precedenza, puoi controllare il comportamento dei cmdlet di PowerShell. L'unico punto è che non è possibile superare le capacità intrinseche del comando cmdlet. Quindi diamo un'occhiata a un esempio.

Questo esempio potrebbe non essere qualcosa che desideri utilizzare nella vita reale, ma ti mostrerà quanto sia facile modificare radicalmente il comportamento del cmdlet. Se inserisci il cmdlet Get-TimeZone in PowerShell, vedrai il nome del fuso orario per cui il tuo PC è attualmente configurato. Puoi vedere questo esempio nell'immagine qui sotto.

Come utilizzare i parametri predefiniti di PowerShell per modificare il comportamento dei comandi

Ora modifichiamo questo cmdlet in modo che non visualizzi il fuso orario che il sistema è configurato per utilizzare, ma invece i fusi orari disponibili. A tale scopo, è necessaria la sintassi del cmdlet utilizzando il cmdlet Get-Help seguito dal cmdlet Get-TimeZone . Di seguito è possibile visualizzare la sintassi del cmdlet.

Come utilizzare i parametri predefiniti di PowerShell per modificare il comportamento dei comandi

Questa sintassi include un parametro chiamato ListAvailable . Inserisci il comando seguente:

$PSDefaultParameterValues.Add("Get-TimeZone:ListAvailable",$True)

La prima parte di questo comando indica semplicemente a PowerShell che desideri aggiungere un valore alla tabella hash, proprio come abbiamo fatto con l'esempio dell'abbreviazione dello stato americano nella sezione precedente. Questa tabella hash contiene una coppia chiave/valore. In questo caso la chiave è il nome del cmdlet (Get-TimeZone) seguito da una virgola e dal nome del parametro che si desidera impostare. In questo caso, il nome del parametro è ListAvailable. La seconda parte di questo cmdlet è il valore che vuoi assegnare al parametro. Eccolo $True . Il parametro ListAvailable in genere non necessita di un valore, quindi specificando $True si indica a PowerShell di utilizzare questo parametro senza assegnargli un valore.

Se guardi l'immagine qui sotto, vedrai cosa succede quando esegui il cmdlet Get-TimeZone.

Come utilizzare i parametri predefiniti di PowerShell per modificare il comportamento dei comandi

Cose da tenere a mente

La cosa più importante da capire è che l'aggiunta di un nuovo valore per un parametro predefinito di PowerShell significa modificare il comportamento predefinito del cmdlet, non rimuovere le funzionalità del cmdlet. Anche quando si modifica il cmdlet Get-TimeZone per mostrare i fusi orari disponibili invece di mostrare il fuso orario corrente. Puoi comunque visualizzare le informazioni sul fuso orario corrente se ne visualizzi di più.

Un'altra cosa che devi sapere è che i parametri predefiniti personalizzati possono essere rimossi. Per rimuovere un singolo elemento, utilizza il comando $PSDefaultParameterValues.Remove , seguito dal nome dell'elemento che desideri rimuovere. Per esempio:

$PSDefaultParameterValues.Remove("Get-TimeZone:ListAvailable")

Invece, puoi eliminare l'intero contenuto della tabella hash utilizzando questo comando:

$PSDefaultParameterValues.Clear();

Di seguito puoi vedere esempi di entrambe le tecniche:

Come utilizzare i parametri predefiniti di PowerShell per modificare il comportamento dei comandi

È possibile eliminare l'intera tabella hash o eliminare una singola voce.

La modifica del comportamento predefinito di un comando cmdlet è qualcosa che non fai spesso, ma quando ne hai bisogno sai già come modificarlo.

Ti auguro successo!

Vedi altro:


Come rimuovere lavviso di richiesta di copyright nellangolo destro dello schermo su Windows 10

Come rimuovere lavviso di richiesta di copyright nellangolo destro dello schermo su Windows 10

Vedi una notifica di attivazione di Windows 10 nell'angolo destro dello schermo? Questo articolo ti guiderà come eliminare l'avviso di richiesta di copyright su Windows 10.

Istruzioni dalla A alla Z su come installare Windows 10 build 14393.222

Istruzioni dalla A alla Z su come installare Windows 10 build 14393.222

Recentemente Microsoft ha rilasciato l'ultimo aggiornamento cumulativo per gli utenti di PC Windows 10 chiamato Build 14393.222. Questo aggiornamento rilasciato per Windows 10 corregge principalmente i bug in base al feedback degli utenti e migliora l'esperienza delle prestazioni del sistema operativo.

Proteggi la tua rete di computer con Bastion host in soli 3 passaggi

Proteggi la tua rete di computer con Bastion host in soli 3 passaggi

Hai computer sulla tua rete locale che necessitano di accesso esterno? Utilizzare un bastion host come gatekeeper per la tua rete può essere una buona soluzione.

Come creare un tasto Windows se la tastiera non è disponibile

Come creare un tasto Windows se la tastiera non è disponibile

Se preferisci utilizzare una vecchia tastiera classica, come l'IBM Model M, che non include un tasto Windows fisico, esiste un metodo semplice per aggiungerne altro, prendendo in prestito un tasto che non usi spesso. .

3 modi per cancellare rapidamente tutti i registri eventi in Windows 10

3 modi per cancellare rapidamente tutti i registri eventi in Windows 10

A volte potrebbe essere necessario eliminare i vecchi registri eventi tutti in una volta. In questa guida, Quantrimang.com ti mostrerà 3 modi per eliminare rapidamente tutti i registri eventi nel Visualizzatore eventi di Windows 10.

I metodi IP falsi ti aiutano ad accedere in modo anonimo

I metodi IP falsi ti aiutano ad accedere in modo anonimo

In molti articoli precedenti abbiamo menzionato che rimanere anonimi online è estremamente importante. Ogni anno vengono divulgate informazioni private, rendendo la sicurezza online sempre più necessaria. Questo è anche il motivo per cui dovremmo utilizzare indirizzi IP virtuali. Di seguito impareremo i metodi per creare IP falsi!

Come creare la modalità sfondo trasparente su Windows 10

Come creare la modalità sfondo trasparente su Windows 10

WindowTop è uno strumento che ha la capacità di oscurare tutte le finestre delle applicazioni e i programmi in esecuzione su computer Windows 10. Oppure puoi utilizzare un'interfaccia con sfondo scuro su Windows.

Come disattivare la barra della lingua sulla barra delle applicazioni di Windows 8

Come disattivare la barra della lingua sulla barra delle applicazioni di Windows 8

La barra della lingua su Windows 8 è una barra degli strumenti della lingua in miniatura progettata per essere visualizzata automaticamente sullo schermo del desktop. Tuttavia, molte persone desiderano nascondere questa barra della lingua sulla barra delle applicazioni.

Come impostare WEP, WPA, WPA2 per il router Linksys

Come impostare WEP, WPA, WPA2 per il router Linksys

La connettività wireless è oggi una necessità e per questo motivo la sicurezza wireless è essenziale per garantire la sicurezza della rete interna.

Suggerimenti per ottimizzare la velocità della connessione Internet da Linksys

Suggerimenti per ottimizzare la velocità della connessione Internet da Linksys

Massimizzare la velocità di Internet è essenziale per ottimizzare la connessione di rete. Puoi vivere un'esperienza di intrattenimento e di lavoro ottimale utilizzando computer, TV predisposte per Internet, console di gioco, ecc.