Condividi tramite


Novità

Windows PowerShell 2.0 offre le nuove funzionalità seguenti da usare per la scrittura di cmdlet, provider e applicazioni host.

Moduli

È ora possibile creare un pacchetto e distribuire Windows PowerShell soluzioni usando i moduli. I moduli consentono di partizionare, organizzare e astrarre Windows PowerShell codice in unità indipendenti e riutilizzabili. Per altre informazioni sui moduli, vedere Writing a Windows PowerShell Module.

Classe di PowerShell

La classe PowerShell offre una soluzione più semplice per la creazione di applicazioni, denominate applicazioni host, che eseguono comandi a livello di codice. Questa classe consente di creare una pipeline di comandi, specificare lo spazio di esecuzione usato per eseguire i comandi e specificare la chiamata dei comandi in modo sincrono o asincrono.

Classe RunspacePool

I pool di runspace consentono di creare più spazi di esecuzione usando una singola chiamata. Il metodo CreateRunspacePool fornisce diversi overload che possono essere usati per creare spazi di esecuzione con le stesse funzionalità, ad esempio lo stesso host, lo stato iniziale della sessione e le informazioni di connessione.

Classe InitialSessionState

La classe InitialSessionState consente di creare una configurazione dello stato della sessione usata quando viene aperto uno spazio di esecuzione. È possibile creare una configurazione personalizzata, una configurazione predefinita che include i comandi forniti da mshshort e una configurazione i cui comandi sono limitati in base alle funzionalità della sessione.

Spazi di esecuzione remoti

È ora possibile creare spazi di esecuzione che possono essere aperti nei computer remoti, consentendo di eseguire comandi nel computer remoto e raccogliere i risultati in locale. Per creare uno spazio di esecuzione remoto, è necessario specificare informazioni sulla connessione remota durante la creazione dello spazio di esecuzione. Per esempi, vedere i metodi CreateRunspace e CreateRunspacePool. Le informazioni di connessione sono definite dalla classe RunspaceConnectionInfo.

Elementi dello spazio di esecuzione privati

È ora possibile creare spazi di esecuzione i cui elementi sono pubblici o privati. Ciò consente di creare spazi di esecuzione i cui elementi sono disponibili per lo spazio di esecuzione, ma non sono disponibili per l'utente. Vedere la classe ConstrainedSessionStateEntry per scoprire quali elementi dello spazio di esecuzione possono essere resi privati.

Modalità di threading dello spazio di esecuzione e stato apartment

È ora possibile specificare la modalità di creazione e utilizzo dei thread durante l'esecuzione di comandi in uno spazio di esecuzione. Vedere le proprietà System.Management.Automation.Runspaces.Runspace.ThreadOptions e System.Management.Automation.Runspaces.RunspacePool.ThreadOptions.

È ora possibile ottenere lo stato apartment dei thread usati per eseguire comandi in uno spazio di esecuzione. Vedere le proprietà System.Management.Automation.Runspaces.Runspace.ApartmentState e System.Management.Automation.Runspaces.RunspacePool.ApartmentState.

Cmdlet di transazione

È ora possibile creare cmdlet che possono essere usati all'interno di una transazione. Quando un cmdlet viene usato in una transazione, le relative azioni sono temporanee e possono essere accettate o rifiutate dai cmdlet di transazione forniti da Windows PowerShell.

Per altre informazioni sulle transazioni, vedere Come supportare le transazioni.

Provider di transazioni

È ora possibile creare provider che possono essere usati all'interno di una transazione. Analogamente ai cmdlet, quando un provider viene usato in una transazione, le relative azioni sono temporanee e possono essere accettate o rifiutate dai cmdlet di transazione forniti da Windows PowerShell.

Per altre informazioni sulla specifica del supporto per la transazione all'interno di una classe provider, vedere la proprietà System.Management.Automation.Provider.CmdletProviderAttribute.ProviderCapabilities.

Cmdlet di processo

È ora possibile scrivere cmdlet che possono eseguire l'azione come processo. Questi processi vengono eseguiti in background senza interagire con la sessione corrente. Per altre informazioni su come Windows PowerShell i processi, vedere Processi in background.

Tipi di output dei cmdlet

È ora possibile specificare .NET Framework tipi restituiti dai cmdlet dichiarando l'attributo OutputType durante la scrittura dei cmdlet. Ciò consentirà ad altri utenti di determinare il tipo di oggetti restituiti da un cmdlet esaminando la proprietà OutputType del cmdlet.

Supporto eventi

È ora possibile scrivere cmdlet che aggiungono e utilizzano eventi. Vedere la classe PSEvent.

Comandi proxy

È ora possibile scrivere comandi proxy che possono essere usati per eseguire un altro comando. Un comando proxy consente di controllare quali funzionalità del cmdlet di origine sono disponibili per l'utente. Ad esempio, è possibile creare un comando proxy che rimuove un parametro fornito dal comando di origine. Vedere la classe ProxyCommand.

Richieste a scelta multipla

È ora possibile scrivere applicazioni in grado di fornire richieste che consentono all'utente di selezionare più scelte. Vedere l'interfaccia IHostUISupportsMultipleChoiceSelection

Sessioni interattive

È ora possibile scrivere applicazioni che possono avviare e arrestare una sessione interattiva in un computer remoto. Vedere l'interfaccia IHostSupportsInteractiveSession.

Guida dei cmdlet personalizzati per i provider

È ora possibile creare argomenti della Guida personalizzati per i cmdlet del provider. Gli argomenti della Guida per i cmdlet personalizzati possono illustrare il funzionamento del cmdlet nel percorso del provider e documentare funzionalità speciali, inclusi i parametri dinamici aggiunti dal provider al cmdlet.