NovitàWhat's New

Windows PowerShell 2,0 fornisce le seguenti nuove funzionalità da utilizzare per la scrittura di cmdlet, provider e applicazioni host.Windows PowerShell 2.0 provides the following new features for use when writing cmdlets, providers, and host applications.

ModuliModules

È ora possibile creare pacchetti e distribuire le soluzioni di Windows PowerShell usando i moduli.You can now package and distribute Windows PowerShell solutions by using modules. I moduli consentono di partizionare, organizzare ed estrarre il codice di Windows PowerShell in unità autosufficienti e riutilizzabili.Modules allow you to partition, organize, and abstract your Windows PowerShell code into self-contained, reusable units. Per ulteriori informazioni sui moduli, vedere scrittura di un modulo di Windows PowerShell.For more information about modules, see Writing a Windows PowerShell Module.

Classe PowerShellThe PowerShell class

La classe PowerShell offre una soluzione più semplice per la creazione di applicazioni, denominate applicazioni host, che eseguono comandi a livello di codice.The PowerShell class provides a simpler solution for creating applications, referred to as host applications, that programmatically run commands. Questa classe consente di creare una pipeline di comandi, specificare il valore di spazio usato per eseguire i comandi e specificare di richiamare i comandi in modo sincrono o asincrono.This class allows you to create a pipeline of commands, specify the runspace that is used to run the commands, and specify invoking the commands synchronously or asynchronously.

Classe RunspacePoolThe RunspacePool class

I pool di spazio consentono di creare più Runspaces usando una singola chiamata.Runspace pools allow you to create multiple runspaces by using a single call. Il metodo CreateRunspacePool fornisce diversi overload che possono essere usati per creare Runspaces con le stesse funzionalità, ad esempio lo stesso host, lo stato iniziale della sessione e le informazioni di connessione.The CreateRunspacePool method provides several overloads that can be used to create runspaces that have the same features, such as the same host, initial session state, and connection information.

Classe InitialSessionStateThe InitialSessionState class

La classe InitialSessionState consente di creare una configurazione dello stato della sessione usata quando viene aperto un spazio.The InitialSessionState class allows you to create a session state configuration that is used when a runspace is opened. È 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.You can create a custom configuration, a default configuration that includes the commands provided by mshshort, and a configuration whose commands are restricted based on the capabilities of the session.

Runspaces remotoRemote runspaces

È ora possibile creare Runspaces che possono essere aperti in computer remoti, consentendo di eseguire comandi nel computer remoto e di raccogliere i risultati in locale.You can now create runspaces that can be opened on remote computers, allowing you to run commands on the remote machine and collect the results locally. Per creare una spazio remota, è necessario specificare le informazioni sulla connessione remota durante la creazione di spazio.To create a remote runspace, you must specify information about the remote connection when creating the runspace. Per esempi, vedere i metodi CreateRunspace e CreateRunspacePool.See the CreateRunspace and CreateRunspacePool methods for examples. Le informazioni di connessione sono definite dalla classe RunspaceConnectionInfo.The connection information is defined by the RunspaceConnectionInfo class.

Elementi spazio privatiPrivate runspace elements

È ora possibile creare Runspaces i cui elementi sono pubblici o privati.You can now create runspaces whose elements are public or private. Ciò consente di creare Runspaces i cui elementi sono disponibili per spazio, ma non sono disponibili per l'utente.This allows you to create runspaces whose elements are available to the runspace, but are not available to the user. Vedere la classe ConstrainedSessionStateEntry per individuare gli elementi di spazio che possono essere resi privati.See the ConstrainedSessionStateEntry class to find out which elements of the runspace can be made private.

Modalità di Threading spazio e stato ApartmentRunspace threading modes and apartment state

È ora possibile specificare il modo in cui i thread vengono creati e usati durante l'esecuzione di comandi in un spazio.You can now specify how threads are created and used when running commands in a runspace. Vedere le proprietà System. Management. Automation. Runspaces. spazio. ThreadOptions e System. Management. Automation. Runspaces. RunspacePool. ThreadOptions.See the System.Management.Automation.Runspaces.Runspace.ThreadOptions and System.Management.Automation.Runspaces.RunspacePool.ThreadOptions properties.

È ora possibile ottenere lo stato dell'Apartment dei thread usati per eseguire i comandi in un spazio.You can now get the apartment state of the threads that are used to run commands in a runspace. Vedere le proprietà System. Management. Automation. Runspaces. spazio. ApartmentState e System. Management. Automation. Runspaces. RunspacePool. ApartmentState.See the System.Management.Automation.Runspaces.Runspace.ApartmentState and System.Management.Automation.Runspaces.RunspacePool.ApartmentState properties.

Cmdlet TransactionTransaction cmdlets

È ora possibile creare cmdlet che possono essere usati all'interno di una transazione.You can now create cmdlets that can be used within a transaction. Quando un cmdlet viene utilizzato in una transazione, le relative azioni sono temporanee e possono essere accettate o rifiutate dai cmdlet di transazione forniti da Windows PowerShell.When a cmdlet is used in a transaction, its actions are temporary, and they can be accepted or rejected by the transaction cmdlets provided by Windows PowerShell.

Per ulteriori informazioni sulle transazioni, vedere come supportare le transazioni.For more information about transactions, see How to Support Transactions.

Provider di transazioniTransaction provider

È ora possibile creare provider che possono essere utilizzati all'interno di una transazione.You can now create providers that can be used within a transaction. Analogamente ai cmdlet, quando un provider viene utilizzato in una transazione, le relative azioni sono temporanee e possono essere accettate o rifiutate dai cmdlet di transazione forniti da Windows PowerShell.Similar to cmdlets, when a provider is used in a transaction, its actions are temporary, and they can be accepted or rejected by the transaction cmdlets provided by Windows PowerShell.

Per ulteriori informazioni sulla specifica del supporto per la transazione all'interno di una classe di provider, vedere la proprietà System. Management. Automation. provider. CmdletProviderAttribute. ProviderCapabilities.For more information about specifying support for transaction within a provider class, see the System.Management.Automation.Provider.CmdletProviderAttribute.ProviderCapabilities property.

Cmdlet JobJob cmdlets

È ora possibile scrivere cmdlet che possono eseguire l'azione come un processo.You can now write cmdlets that can perform their action as a job. Questi processi vengono eseguiti in background senza interagire con la sessione corrente.These jobs are run in the background without interacting with the current session. Per ulteriori informazioni sul supporto dei processi in Windows PowerShell, vedere processi in background.For more information about how Windows PowerShell supports jobs, see Background Jobs.

Tipi di output del cmdletCmdlet output types

È ora possibile specificare i tipi di .NET Framework restituiti dai cmdlet dichiarando l'attributo OutputType quando si scrivono i cmdlet.You can now specify the .NET Framework types that are returned by your cmdlets by declaring the OutputType attribute when writing your cmdlets. Ciò consentirà ad altri utenti di determinare il tipo di oggetti restituiti da un cmdlet esaminando la proprietà OutputType del cmdlet.This will allow others to determine what type of objects are returned by a cmdlet by looking at the OutputType property of the cmdlet.

Supporto degli eventiEvent support

È ora possibile scrivere cmdlet che aggiungono e utilizzano eventi.You can now write cmdlets that add and consume events. Vedere la classe PSEvent.See the PSEvent class.

Comandi proxyProxy commands

È ora possibile scrivere comandi proxy che possono essere usati per eseguire un altro comando.You can now write proxy commands that can be used to run another command. Un comando proxy consente di controllare la funzionalità del cmdlet di origine disponibile per l'utente.A proxy command allows you to control what functionality of the source cmdlet is available to the user. Ad esempio, è possibile creare un comando proxy che rimuove un parametro fornito dal comando di origine.For example, you can create a proxy command that removes a parameter that is supplied by the source command. Vedere la classe ProxyCommand.See the ProxyCommand class.

Richieste a più scelteMultiple choice prompts

È ora possibile scrivere applicazioni in grado di fornire richieste che consentono all'utente di selezionare più opzioni.You can now write applications that can provide prompts that allow the user to select multiple choices. Vedere l'interfaccia IHostUISupportsMultipleChoiceSelectionSee the IHostUISupportsMultipleChoiceSelection interface

Sessioni interattiveInteractive sessions

È ora possibile scrivere applicazioni in grado di avviare e arrestare una sessione interattiva in un computer remoto.You can now write applications that can start and stop an interactive session on a remote computer. Vedere l'interfaccia IHostSupportsInteractiveSession.See the IHostSupportsInteractiveSession interface.

Guida per i cmdlet personalizzati per i providerCustom Cmdlet Help for Providers

È ora possibile creare argomenti della Guida personalizzati per i cmdlet del provider.You can now create customized Help topics for the provider cmdlets. Gli argomenti della guida sui cmdlet personalizzati possono spiegare il funzionamento del cmdlet nel percorso del provider e documentare le funzionalità speciali, inclusi i parametri dinamici aggiunti dal provider al cmdlet.Custom cmdlet help topics can explain how the cmdlet works in the provider path and document special features, including the dynamic parameters that the provider adds to the cmdlet.