PowerShell: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Migliorato la pagina |
fix "code" |
||
Riga 62:
=== Caratteristiche ===
* Linguaggio di scripting simile al [[C Sharp|C#]], con molte funzionalità dedicate agli utenti esperti, come il supporto diretto alle ''[[hash table]]'', i costrutti ''[[Switch (programmazione)|switch]]'' basati su [[espressioni regolari]], la scomposizione degli [[array]], la possibilità di memorizzare come dati [[Funzione anonima|metodi anonimi]] da eseguire in un secondo momento. Sono presenti, naturalmente, tutte le caratteristiche che ci si aspetta di trovare in un linguaggio di scripting, quali l'[[iterazione]] ({{Codice|codice=for|linguaggio=PowerShell}} / {{Codice|codice=foreach|linguaggio=PowerShell}} / {{Codice|codice=while|linguaggio=PowerShell}}), i costrutti condizionali ({{Codice|codice=if|linguaggio=PowerShell}} / {{Codice|codice=switch|linguaggio=PowerShell}}), i campi di [[Visibilità (programmazione)|visibilità]] delle variabili (<code>global</code> / <code>script</code> / <code>local</code> / <code>private</code>) e la possibilità di definire funzioni.
* Tutti i ''cmdlet'' ereditano alcune caratteristiche, cosa che permette all'utente di scegliere, ad esempio, il livello di interazione e la modalità di gestione degli errori; si consideri, come esempio, la "sospensione", che permette di entrare in una nuova shell di comando, indagare su un problema, e quindi continuare con il comando originale. Al programmatore viene fornito un semplice meccanismo integrato per definire le richieste da mostrare in situazioni del genere. i ''cmdlet'' che restituiscono qualcosa all'esterno supportano le opzioni <code>-WHATIF</code> e <code>-CONFIRM</code>. <code>-WHATIF</code> simula l'esecuzione della procedura, comunicandone il possibile esito all'utente. <code>-CONFIRM</code> informa l'utente su ciò che sta per accadere e gli permette di decidere cosa fare.
* Un modello ''provider'' estendibile fornisce la possibilità di accedere e manipolare non solo il [[file system]], ma anche altre strutture dati gerarchiche. Ad esempio, PowerShell integra un provider per il [[Registro di Windows]] che consente l'accesso agli alberi <code>HKLM</code> (<code>HKEY_LOCAL_MACHINE</code>) e <code>HKCU</code> (<code>HKEY_CURRENT_USER</code>). In questo modo, il registro può essere visualizzato con comandi quali {{Codice|codice=dir HKLM:\SOFTWARE\Microsoft|linguaggio=batch}} dal prompt della shell. PowerShell fornisce ''provider'' per la libreria di certificati di sicurezza, le [[Variabile d'ambiente (Windows)|variabili d'ambiente]] e di shell, le funzioni e gli alias; gli utenti possono creare loro propri provider e integrarli in PowerShell.
* Le opzioni della riga di comando sono, in genere, parole intere, ma è possibile farvi riferimento più velocemente, specificando solo il numero minimo di lettere necessario a distinguerle dalle altre (per esempio, l'opzione <code>-mostra-informazioni-dettagliate</code> può essere richiamata specificando solo <code>-m</code> se nessun'altra opzione comincia per ''m'').
|