Novità di Windows PowerShell 5.0What's New in Windows PowerShell 5.0

Windows PowerShell 5.0 include nuove funzionalità significative che ne estendono e migliorano l'uso e consentono di controllare e gestire gli ambienti Windows in modo più semplice e completo.Windows PowerShell 5.0 includes significant new features that extend its use, improve its usability, and allow you to control and manage Windows-based environments more easily and comprehensively.

Windows PowerShell 5.0 è compatibile con le versioni precedenti.Windows PowerShell 5.0 is backward-compatible. Cmdlet, provider, moduli, snap-in, script, funzioni e profili progettati per Windows PowerShell 4.0, Windows PowerShell 3.0 e Windows PowerShell 2.0 in genere funzionano in Windows PowerShell 5.0 senza modifiche.Cmdlets, providers, modules, snap-ins, scripts, functions, and profiles that were designed for Windows PowerShell 4.0, Windows PowerShell 3.0, and Windows PowerShell 2.0 generally work in Windows PowerShell 5.0 without changes.

Installazione di Windows PowerShellInstalling Windows PowerShell

Windows PowerShell 5.0 viene installato per impostazione predefinita in Windows Server 2016 Technical Preview e WindowsWindows PowerShell 5.0 is installed by default on Windows Server 2016 Technical Preview and Windows 10.

Per installare Windows PowerShell 5.0 in Windows Server 2012 R2, Windows 8.1 Enterprise o Windows 8.1 Pro, scaricare e installare Windows Management Framework 5.0.To install Windows PowerShell 5.0 on Windows Server 2012 R2, Windows 8.1 Enterprise, or Windows 8.1 Pro, download and install Windows Management Framework 5.0. Prima di installare Windows Management Framework 5.0, leggere i dettagli sul download e soddisfare tutti i requisiti di sistema.Be sure to read the download details, and meet all system requirements, before you install Windows Management Framework 5.0.

Contenuto dell'argomentoIn this topic

Aggiornamenti di Windows PowerShell 4.0 nell'aggiornamento cumulativo di novembre 2014 (KB 3000850)Windows PowerShell 4.0 updates in November 2014 update rollup (KB 3000850)

Molti aggiornamenti e miglioramenti per Windows PowerShell Desired State Configuration (DSC) in Windows PowerShell 4.0 sono disponibili nell'aggiornamento cumulativo di novembre 2014 per Windows RT 8.1, Windows 8.1 e Windows Server 2012 R2 (KB 3000850).Many updates and improvements to Windows PowerShell Desired State Configuration (DSC) in Windows PowerShell 4.0 are available in the November 2014 update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2 (KB 3000850). È possibile determinare se l'aggiornamento KB 3000850 è installato nel sistema eseguendo Get-Hotfix -Id KB3000850 in Windows PowerShell.You can determine if KB 3000850 is installed on your system by running Get-Hotfix -Id KB3000850 in Windows PowerShell.

  • Aggiornamenti per i cmdlet esistenti nel modulo PSDesiredStateConfigurationUpdates to existing cmdlets in the PSDesiredStateConfiguration module

  • Nuovi cmdlet nel modulo PSDesiredStateConfigurationNew cmdlets in the PSDesiredStateConfiguration module

  • Miglioramenti del linguaggioLanguage enhancements

    • DependsOn supporta ora risorse composite.DependsOn now supports composite resources.
    • DependsOn supporta ora numeri nei nomi di istanze delle risorse.DependsOn now supports numbers in resource instance names.
    • Le espressioni sui nodi con risultato vuoto non generano più errori.Node expressions that evaluate to empty no longer throw errors.
    • È stato corretto un errore che si verifica se un'espressione sui nodi restituisce un valore vuoto.An error that occurs if a node expression evaluates to empty has been fixed.
    • Le configurazioni che chiamano configurazioni ora funzionano nella console di Windows PowerShell.Configurations calling configurations now work in the Windows PowerShell console.
  • Miglioramenti della modalità pullPull mode enhancements

    • La modalità pull supporta ora tutti i file ZIP.Pull mode now supports all ZIP files.
    • AllowModuleOverwrite funziona ora correttamente.AllowModuleOverwrite now works correctly.
  • Miglioramenti della resilienzaResiliency improvements

    • La nuova proprietà DebugMode consente di ricaricare i moduli delle risorse.New DebugMode lets you reload resource modules.
    • Se si verifica un errore di configurazione, il file pending.mof non viene eliminato.If a configuration failure occurs, the pending.mof file is not deleted.
    • Gestione configurazione locale offre ora maggiore resilienza in caso di danneggiamento delle impostazioni di metaconfigurazione.The Local Configuration Manager (LCM) is now more resilient when metaconfiguration settings have become corrupted.
  • Miglioramenti della diagnosticaDiagnostic improvements

    • Viene visualizzato un avviso quando Gestione configurazione locale imposta il timer su impostazioni diverse da quelle specificate.A warning is displayed when the LCM sets the timer to different settings than you have specified.
    • I file di log degli errori contengono ora lo stack di chiamate per le risorse di Windows PowerShell.Error log files now contain the call stack for Windows PowerShell resources.
  • Miglioramenti della flessibilitàFlexibility improvements

    • La risorsa LocalConfigurationManager ha una nuova proprietà ActionAfterReboot.The LocalConfigurationManager resource has a new property, ActionAfterReboot.
      • ContinueConfiguration (valore predefinito): Riprende automaticamente una configurazione dopo il riavvio di un nodo di destinazione.ContinueConfiguration (default value): Automatically resumes a configuration after a target node restarts.
      • StopConfiguration: Non riprende automaticamente una configurazione dopo il riavvio di un nodo.StopConfiguration: Do not automatically resume a configuration after a node restarts.
    • L'esecuzione di un controllo di coerenza può ora avvenire più spesso di un'operazione PULL o viceversa.A consistency run can now occur more often than a PULL operation, or vice-versa.
    • Supporto per il controllo delle versioni: DSC ora può riconoscere un documento che è stato generato in un client più recente (incluso in WMF 5.0).Versioning support: DSC can now recognize a document that was generated on a newer client (included with WMF 5.0).
  • Miglioramenti di prevenzione degli erroriError prevention improvements

    • La versione del modulo viene ora imposta prima dell'applicazione di una configurazione.Module version is now enforced before a configuration is applied.
    • DebugPreference viene ora impostato correttamente per le chiamate di Get-, Set- o Test-TargetResource.DebugPreference is now set correctly for Get-, Set-, or Test-TargetResource calls.
  • Miglioramenti della gestione delle credenzialiCredential handling improvements

    • Viene ora usato un certificato, se vengono specificate sia la proprietà Certificate che PSDscAllowPlainTextPassword.A certificate is now used, if both Certificate and PSDscAllowPlainTextPassword are specified.
    • Le credenziali vengono decrittografate, anche per Get-TargetResource.Credentials are decrypted, even for Get-TargetResource.
    • Le credenziali della metaconfigurazione vengono crittografate e decrittografate.Metaconfiguration credentials are encrypted and decrypted.
    • Le credenziali PSCredential vengono ora decrittografate quando sono incluse in un oggetto incorporato.PSCredentials are now decrypted when they are in an embedded object.
  • Miglioramenti apportati alle risorse predefiniteBuilt-in resource improvements

    • Risorsa PackageThe Package resource
      • Non installa più il pacchetto errato (da origini locali o Web).No longer installs the wrong package (either from local or web sources).
      • Ora supporta HTTPS.Now supports HTTPS.
    • È ora disponibile il supporto di HTTPS nella risorsa Package.There is now support for HTTPS in the Package resource.
    • La risorsa Archive ora supporta le credenziali.Archive resource now supports credentials.

Nuove funzionalità di Windows PowerShell 5.0New features in Windows PowerShell 5.0

Nuove funzionalità di Windows PowerShellNew features in Windows PowerShell

  • A partire da Windows PowerShell 5.0 è possibile sviluppare usando le classi, con sintassi e semantica formali simili ad altri linguaggi di programmazione orientati agli oggetti.Starting in Windows PowerShell 5.0, you can develop by using classes, by using formal syntax and semantics that are similar to other object-oriented programming languages. Le parole chiave Class , Enum ed altre sono state aggiunte al linguaggio di Windows PowerShell per supportare la nuova funzionalità.Class , Enum , and other keywords have been added to the Windows PowerShell language to support the new feature. Per altre informazioni sull'utilizzo delle classi, vedere about_Classes.For more information about working with classes, see about_Classes.

  • Windows PowerShell 5.0 introduce un nuovo flusso di informazioni strutturate per trasmettere dati strutturati tra uno script e i relativi chiamanti o l'ambiente di host.Windows PowerShell 5.0 introduces a new, structured information stream that you can use to transmit structured data between a script and its callers (or hosting environment). È ora possibile usare Write-Host per immettere l'output nel flusso di informazioni.You can now use Write-Host to emit output to the information stream. I flussi di informazioni funzionano anche per PowerShell.Streams, processi, processi pianificati e flussi di lavoro.Information streams also work for PowerShell.Streams, jobs, scheduled jobs, and workflows. Le funzionalità seguenti supportano il flusso di informazioni.The following features support the information stream.

    • Un nuovo cmdlet Write-Information che consente di specificare in che modo Windows PowerShell gestisce i dati del flusso di informazioni per un comando.A new Write-Information cmdlet that lets you specify how Windows PowerShell handles information stream data for a command. Write-Host è un wrapper per Write-Information.Write-Host is a wrapper for Write-Information. Write-Information è anche un'attività di flusso di lavoro supportata.Write-Information is also a supported workflow activity.
    • Due nuovi parametri comuni, InformationVariable e InformationAction, consentono di determinare come vengono visualizzati i flussi di informazioni da un comando.Two new common parameters, InformationVariable and InformationAction, let you determine how information streams from a command are displayed. I valori validi per InformationAction sono SilentlyContinue, Stop, Continue, Inquire, Ignore o Suspend. SilentlyContinue è il valore predefinito.Valid values for InformationAction are SilentlyContinue, Stop, Continue, Inquire, Ignore, or Suspend, with SilentlyContinue being the default. InformationVariable specifica una stringa come nome di una variabile in cui si vogliono salvare i dati Write-Host da un comando.InformationVariable specifies a string as the name of a variable to which you want the Write-Host data from a command saved.
    • Una nuova variabile di preferenza, InformationPreference, che specifica la preferenza predefinita per i dati del flusso di informazioni in una sessione di Windows PowerShell.A new preference variable, InformationPreference, specifies your default preference for information stream data in a Windows PowerShell session. Il valore predefinito è SilentlyContinue.The default value is SilentlyContinue.
    • Sono stati aggiunti due nuovi parametri comuni per il flusso di lavoro, PSInformation e InformationAction.Two new workflow common parameters, PSInformation and InformationAction, have been added.
    • Quando si usa il comando Format-Table, le colonne della tabella vengono ora formattate automaticamente valutando i primi 300 ms di dati che passano attraverso il flusso.When you use the Format-Table command, table columns are now automatically formatted by evaluating the first 300ms of data that passes through the stream.
  • In collaborazione con Microsoft Research è stato aggiunto il nuovo cmdlet ConvertFrom-String.In collaboration with Microsoft Research, a new cmdlet, ConvertFrom-String, has been added. ConvertFrom-String consente di estrarre e analizzare oggetti strutturati dal contenuto di stringhe di testo.ConvertFrom-String lets you extract and parse structured objects from the content of text strings. Per altre informazioni, vedere ConvertFrom-String.For more information, see ConvertFrom-String.

  • Il nuovo cmdlet Convert-String formatta automaticamente il testo in base a un esempio fornito nel parametro -Example.A new Convert-String cmdlet automatically formats text based on an example that you provide in an -Example parameter.

  • Il nuovo modulo Microsoft.PowerShell.Archive include cmdlet che consentono di comprimere file e cartelle in file di archivio (noti anche come file ZIP), estrarre file da file ZIP esistenti e aggiornare i file ZIP con le versioni più recenti dei file compressi al loro interno.A new module, Microsoft.PowerShell.Archive, includes cmdlets that let you compress files and folders into archive (also known as ZIP) files, extract files from existing ZIP files, and update ZIP files with newer versions of files compressed within them.

  • Il nuovo modulo PackageManagement consente di individuare e installare pacchetti software su Internet.A new module, PackageManagement, lets you discover and install software packages on the Internet. Il modulo PackageManagement (precedentemente noto come OneGet) è un modulo di gestione, o multiplexer, di gestori di pacchetti esistenti, noti anche come provider di pacchetti, che riunisce la gestione dei pacchetti di Windows in una singola interfaccia di Windows PowerShell.The PackageManagement (formerly known as OneGet) module is a manager or multiplexer of existing package managers (also called package providers) to unify Windows package management with a single Windows PowerShell interface.

  • Il nuovo modulo PowerShellGet consente di trovare, installare, pubblicare e aggiornare i moduli e le risorse DSC in PowerShell Gallery o in un repository di moduli interno che è possibile configurare eseguendo il cmdlet Register-PSRepository.A new module, PowerShellGet, lets you find, install, publish, and update modules and DSC resources on the PowerShell Gallery, or on an internal module repository that you can set up by running the Register-PSRepository cmdlet.

  • È stata aggiunta una nuova parola chiave del linguaggio, Hidden , per specificare che un membro (una proprietà o un metodo) non viene visualizzato per impostazione predefinita nei risultati di Get-Member (a meno che non si aggiunga il parametro -Force).A new language keyword, Hidden , has been added to specify that a member (a property or a method) is not shown by default in Get-Member results (unless you add the -Force parameter). Anche le proprietà o i metodi contrassegnati come nascosti non vengono visualizzati nei risultati di IntelliSense, a meno che non ci si trovi in un contesto in cui il membro deve essere visibile. Ad esempio, la variabile automatica $This dovrebbe visualizzare i membri nascosti nel metodo della classe.Properties or methods that have been marked hidden also do not show up in IntelliSense results, unless you are in a context where the member should be visible; for example, the automatic variable $This should show hidden members when in the class method.

  • I cmdlet New-Item, Remove-Item e Get-ChildItem sono stati migliorati per supportare la creazione e gestione di collegamenti simbolici.New-Item, Remove-Item, and Get-ChildItem have been enhanced to support creating and managing symbolic links. Il parametro -ItemType per New-Item accetta il nuovo valore SymbolicLink.The -ItemType parameter for New-Item accepts a new value, SymbolicLink. Per creare collegamenti simbolici, è ora sufficiente una sola riga con il cmdlet New-Item.Now you can create symbolic links in a single line by running the New-Item cmdlet.

  • Get-ChildItem include ora il nuovo parametro -Depth da usare con il parametro -Recurse per limitare la ricorsione.Get-ChildItem also has a new -Depth parameter, which you use with the -Recurse parameter to limit the recursion. Ad esempio, Get-ChildItem -Recurse -Depth 2 restituisce risultati dalla cartella corrente, da tutte le cartelle figlio all'interno della cartella corrente e da tutte le cartelle all'interno delle cartelle figlio.For example, Get-ChildItem -Recurse -Depth 2 returns results from the current folder, all of the child folders within the current folder, and all of the folders within the child folders.

  • Copy-Item consente ora di copiare file o cartelle da una sessione di Windows PowerShell a un'altra. Ciò significa che è possibile copiare i file in sessioni connesse a computer remoti, inclusi i computer che eseguono Nano Server e quindi non hanno altre interfacce.Copy-Item now lets you copy files or folders from one Windows PowerShell session to another, meaning that you can copy files to sessions that are connected to remote computers, (including computers that are running Nano Server, and thus have no other interface). Per copiare file, specificare gli ID di PSSession come valore per i nuovi parametri -FromSession e -ToSession e aggiungere -Path e -Destination per specificare rispettivamente il percorso e la destinazione.To copy files, specify PSSession IDs as the value of the new -FromSession and -ToSession parameters, and add -Path and -Destination to specify origin path and destination, respectively. Ad esempio, Copy-Item -Path c:\file.txt -ToSession $s -Destination d:\cartellaDestinazione.For example, Copy-Item -Path c:\myFile.txt -ToSession $s -Destination d:\destinationFolder.

  • La funzionalità di trascrizione di Windows PowerShell è stata migliorata per consentirne l'applicazione a tutte le applicazioni di hosting, ad esempio, Windows PowerShell ISE, e non solo all'host della console, powershell.exe.Windows PowerShell transcription has been improved to apply to all hosting applications (such as Windows PowerShell ISE) in addition to the console host ( powershell.exe ). Le opzioni per la trascrizione, inclusa l'abilitazione di una trascrizione a livello di sistema, possono essere configurate abilitando l'impostazione di Criteri di gruppo Attiva trascrizione di PowerShell in Modelli amministrativi/Componenti di Windows/Windows PowerShell.Transcription options (including enabling a system-wide transcript) can be configured by enabling the Turn on PowerShell Transcription Group Policy setting, found in Administrative Templates/Windows Components/Windows PowerShell.

  • Una nuova funzionalità di traccia dettagliata degli script consente di monitorare e analizzare nel dettaglio l'uso degli script di Windows PowerShell in un sistema.A new detailed script tracing feature lets you enable detailed tracking and analysis of Windows PowerShell scripting use on a system. Dopo aver abilitato la traccia dettagliata degli script, Windows PowerShell registra tutti i blocchi di script nel registro eventi ETW (Event Tracing for Windows), Microsoft-Windows-PowerShell/Operational.After you enable detailed script tracing, Windows PowerShell logs all script blocks to the Event Tracing for Windows (ETW) event log, Microsoft-Windows-PowerShell/Operational.

  • A partire da Windows PowerShell 5.0, i nuovi cmdlet CMS (Cryptographic Message Syntax) supportano la crittografia e la decrittografia del contenuto con il formato standard IETF per la protezione crittografica dei messaggi, come documentato in RFC5652.Starting in Windows PowerShell 5.0, new Cryptographic Message Syntax cmdlets support encryption and decryption of content by using the IETF standard format for cryptographically protecting messages as documented by RFC5652. I cmdlet Get-CmsMessage, Protect-CmsMessage e Unprotect-CmsMessage sono stati aggiunti al modulo Microsoft.PowerShell.Security.The Get-CmsMessage, Protect-CmsMessage, and Unprotect-CmsMessage cmdlets have been added to the Microsoft.PowerShell.Security module.

  • I nuovi cmdlet nel modulo Microsoft.PowerShell.Utility, Get-Runspace, Debug-Runspace, Get-RunspaceDebug, Enable-RunspaceDebug e Disable-RunspaceDebug, consentono di impostare le opzioni di debug in uno spazio di esecuzione e di avviare e arrestare il debug in uno spazio di esecuzione.New cmdlets in the Microsoft.PowerShell.Utility module, Get-Runspace, Debug-Runspace, Get-RunspaceDebug, Enable-RunspaceDebug, and Disable-RunspaceDebug, let you set debug options on a runspace, and start and stop debugging on a runspace. Per eseguire il debug di spazi di esecuzione arbitrari, ovvero gli spazi di esecuzione che non corrispondono allo spazio di esecuzione predefinito per una console di Windows PowerShell o una sessione di Windows PowerShell ISE, Windows PowerShell consente di impostare punti di interruzione in uno script e fare in modo che i punti di interruzione aggiunti interrompano l'esecuzione dello script fino a quando non si collega un debugger per eseguire il debug dello script dello spazio di esecuzione.For debugging arbitrary runspaces (that is, runspaces that are not the default runspace for a Windows PowerShell console or Windows PowerShell ISE session) Windows PowerShell lets you set breakpoints in a script, and have added breakpoints stop the script from running until you can attach a debugger to debug the runspace script. È stato aggiunto il supporto del debug annidato per gli spazi di esecuzione arbitrari al debugger di script di Windows PowerShell per gli spazi di esecuzione.Nested debugging support for arbitrary runspaces has been added to the Windows PowerShell script debugger for runspaces.

  • È stato aggiunto il nuovo cmdlet Format-Hex al modulo Microsoft.PowerShell.Utility.A new Format-Hex cmdlet has been added to the Microsoft.PowerShell.Utility module. Format-Hex consente di visualizzare dati di testo o binari in formato esadecimale.Format-Hex lets you view text or binary data in hexadecimal format.

  • Sono stati aggiunti i cmdlet Get-Clipboard e Set-Clipboard al modulo Microsoft.PowerShell.Utility. Questi cmdlet semplificano il trasferimento di contenuto verso e da una sessione di Windows PowerShell.Get-Clipboard and Set-Clipboard cmdlets have been added to the Microsoft.PowerShell.Utility module; they ease the transfer of content to and from a Windows PowerShell session. I cmdlet Clipboard supportano immagini, file audio, elenchi di file e testo.The Clipboard cmdlets support images, audio files, file lists, and text.

  • È stato aggiunto il nuovo cmdlet Clear-RecycleBin nel modulo Microsoft.PowerShell.Management. Questo cmdlet svuota il Cestino per un'unità fissa, che include le unità esterne.A new cmdlet, Clear-RecycleBin, has been added to the Microsoft.PowerShell.Management module; this cmdlet empties the Recycle Bin for a fixed drive, which includes external drives. Per impostazione predefinita, viene richiesto di confermare il comando Clear-RecycleBin, perché la proprietà ConfirmImpact del cmdlet è impostata su ConfirmImpact.High.By default, you are prompted to confirm a Clear-RecycleBin command, because the ConfirmImpact property of the cmdlet is set to ConfirmImpact.High.

  • Il nuovo cmdlet New-TemporaryFile consente di creare un file temporaneo durante la creazione dello script.A new cmdlet, New-TemporaryFile, lets you create a temporary file as part of scripting. Per impostazione predefinita, il nuovo file temporaneo viene creato in C:\Users\<user name>\AppData\Local\Temp.By default, the new temporary file is created in C:\Users\<user name>\AppData\Local\Temp.

  • Nei cmdlet Out-File, Add-Content e Set-Content è ora disponibile il nuovo parametro -NoNewline che omette una nuova riga dopo l'output.The Out-File, Add-Content, and Set-Content cmdlets now have a new -NoNewline parameter, which omits a new line after the output.

  • Il cmdlet New-Guid sfrutta la classe Guid di .NET Framework per generare un GUID, un'opzione utile durante la scrittura di script o risorse DSC.The New-Guid cmdlet leverages the .NET Framework Guid class to generate a GUID, useful when you are writing scripts or DSC resources.

  • Dato che le informazioni sulla versione di un file possono essere fuorvianti, in particolare dopo l'applicazione di una patch a un file, sono disponibili le nuove proprietà di script FileVersionRaw e ProductVersionRaw per gli oggetti FileInfo.Because file version information can be misleading, particularly after a file is patched, new FileVersionRaw and ProductVersionRaw script properties are available for FileInfo objects. Ad esempio, è possibile eseguire il comando seguente per visualizzare i valori di queste proprietà per powershell.exe, in cui $pid contiene l'ID di processo per una sessione di Windows PowerShell in esecuzione: Get-Process -Id $pid -FileVersionInfo | Format-List *version* -ForceFor example, you can run the following command to display the values of these properties for powershell.exe, where $pid contains the process ID for a running session of Windows PowerShell: Get-Process -Id $pid -FileVersionInfo | Format-List *version* -Force

  • I nuovi cmdlet Enter-PSHostProcess ed Exit-PSHostProcess consentono di eseguire il debug di script di Windows PowerShell in processi separati dal processo corrente in esecuzione nella console di Windows PowerShell.New cmdlets Enter-PSHostProcess and Exit-PSHostProcess let you debug Windows PowerShell scripts in processes separate from the current process that is running in the Windows PowerShell console. Eseguire Enter-PSHostProcess per entrare in un processo con un ID specifico, o collegarsi al processo, quindi eseguire Get-Runspace per restituire gli spazi di esecuzione attivi all'interno del processo.Run Enter-PSHostProcess to enter, or attach to, a specific process ID, and then run Get-Runspace to return the active runspaces within the process. Eseguire Exit-PSHostProcess per scollegarsi dal processo dopo aver terminato il debug dello script all'interno del processo.Run Exit-PSHostProcess to detach from the process when you are finished debugging the script within the process.

  • È stato aggiunto il nuovo cmdlet Wait-Debugger al modulo Microsoft.PowerShell.Utility.A new Wait-Debugger cmdlet has been added to the Microsoft.PowerShell.Utility module. È possibile eseguire Wait-Debugger per interrompere uno script nel debugger prima di eseguire l'istruzione successiva nello script.You can run Wait-Debugger to stop a script in the debugger before running the next statement in the script.

  • Il debugger del flusso di lavoro di Windows PowerShell supporta ora il completamento dei comandi o tramite tasto TAB ed è possibile eseguire il debug di funzioni del flusso di lavoro annidate.The Windows PowerShell Workflow debugger now supports command or tab completion, and you can debug nested workflow functions. È ora possibile premere CTRL+INTERR per accedere al debugger in uno script in esecuzione, sia in sessioni locali che remote, e in uno script del flusso di lavoro.You can now press Ctrl+Break to enter the debugger in a running script, in both local and remote sessions, and in a workflow script.

  • È stato aggiunto il cmdlet Debug-Job al modulo Microsoft.PowerShell.Core per eseguire il debug di script di processi in esecuzione per il flusso di lavoro di Windows PowerShell, processi in background e processi in esecuzione in sessioni remote.A Debug-Job cmdlet has been added to the Microsoft.PowerShell.Core module to debug running job scripts for Windows PowerShell Workflow, background, and jobs running in remote sessions.

  • È stato aggiunto il nuovo stato AtBreakpoint per i processi di Windows PowerShell.A new state, AtBreakpoint, has been added for Windows PowerShell jobs. Lo stato AtBreakpoint si applica quando un processo esegue uno script che include punti di interruzione e lo script raggiunge un punto di interruzione.The AtBreakpoint state applies when a job is running a script that includes set breakpoints, and the script has hit a breakpoint. Quando un processo viene interrotto in corrispondenza di un punto di interruzione di debug, è necessario eseguire il debug del processo tramite il cmdlet Debug-Job.When a job is stopped at a debug breakpoint, you must debug the job by running the Debug-Job cmdlet.

  • Windows PowerShell 5.0 implementa il supporto per più versioni di un singolo modulo di Windows PowerShell nella stessa cartella in $PSModulePath.Windows PowerShell 5.0 implements support for multiple versions of a single Windows PowerShell module in the same folder in $PSModulePath. È stata aggiunta la proprietà RequiredVersion alla classe ModuleSpecification per facilitare il recupero della versione desiderata di un modulo. Questa proprietà e la proprietà ModuleVersion si escludono a vicenda.A RequiredVersion property has been added to the ModuleSpecification class to help you get the desired version of a module; this property is mutually exclusive with the ModuleVersion property. La proprietà RequiredVersion è ora supportata come parte del valore del parametro FullyQualifiedName dei cmdlet Get-Module, Import-Module e Remove-Module.RequiredVersion is now supported as part of the value of the FullyQualifiedName parameter of the Get-Module, Import-Module, and Remove-Module cmdlets.

  • È ora possibile eseguire la convalida della versione del modulo eseguendo il cmdlet Test-ModuleManifest.You can now perform module version validation by running the Test-ModuleManifest cmdlet.

  • I risultati del cmdlet Get-Command includono ora una colonna Version. È stata aggiunta una nuova proprietà Version alla classe CommandInfo.Results of the Get-Command cmdlet now display a Version column; a new Version property has been added to the CommandInfo class. Get-Command mostra i comandi da più versioni dello stesso modulo.Get-Command shows commands from multiple versions of the same module. La proprietà Version è inclusa anche nelle classi derivate di CmdletInfo: CmdletInfo e ApplicationInfo.The Version property is also part of derived classes of CmdletInfo: CmdletInfo and ApplicationInfo.

  • Get-Command include il nuovo parametro -ShowCommandInfo, che restituisce informazioni ShowCommand in forma di PSObjects.Get-Command has a new parameter, -ShowCommandInfo, that returns ShowCommand information as PSObjects. Questa funzionalità è particolarmente utile quando si esegue Show-Command in Windows PowerShell ISE usando la comunicazione remota di Windows PowerShell.This is especially useful functionality for when Show-Command is run in Windows PowerShell ISE by using Windows PowerShell remoting. Il parametro -ShowCommandInfo sostituisce la funzione Get-SerializedCommand esistente nel modulo Microsoft.PowerShell.Utility, ma lo script Get-SerializedCommand è ancora disponibile per il supporto di script di livello inferiore.The -ShowCommandInfo parameter replaces the existing Get-SerializedCommand function in the Microsoft.PowerShell.Utility module, but the Get-SerializedCommand script is still available to support downlevel scripting.

  • Il nuovo cmdlet Get-ItemPropertyValue consente di ottenere il valore di una proprietà senza usare la notazione del punto.A new Get-ItemPropertyValue cmdlet lets you get the value of a property without using dot notation. Ad esempio, nelle versioni precedenti di Windows PowerShell è possibile eseguire il comando seguente per ottenere il valore della proprietà Application Base della chiave del Registro di sistema PowerShellEngine: (Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase).ApplicationBase.For example, in older releases of Windows PowerShell, you can run the following command to get the value of the Application Base property of the PowerShellEngine registry key: (Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase).ApplicationBase. A partire da Windows PowerShell 5.0 è possibile eseguire Get-ItemPropertyValue -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase.Starting in Windows PowerShell 5.0, you can run Get-ItemPropertyValue -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase.

  • La console di Windows PowerShell usa ora la colorazione della sintassi, come in Windows PowerShell ISE.The Windows PowerShell console now uses syntax coloring, just as in Windows PowerShell ISE.

  • Il nuovo modulo NetworkSwitch contiene cmdlet che consentono di applicare la configurazione di commutatore, LAN virtuale (VLAN) e porte del commutatore di rete di livello 2 di base ai commutatori di rete con certificazione per il logo di Windows Server 2012 R2.A new NetworkSwitch module contains cmdlets that enable you to apply switch, virtual LAN (VLAN), and basic Layer 2 network switch port configuration to Windows Server 2012 R2 logo-certified network switches.

  • È stato aggiunto il parametro FullyQualifiedName ai cmdlet Import-Module e Remove-Module per supportare l'archiviazione di più versioni di un singolo modulo.The FullyQualifiedName parameter has been added to Import-Module and Remove-Module cmdlets, to support storing multiple versions of a single module.

  • Per i cmdlet Save-Help, Update-Help, Import-PSSession, Export-PSSession e Get-Command è disponibile il nuovo parametro FullyQualifiedModule di tipo ModuleSpecification.Save-Help, Update-Help, Import-PSSession, Export-PSSession, and Get-Command have a new parameter, FullyQualifiedModule, of type ModuleSpecification. Aggiungere questo parametro per specificare un modulo usando il nome completo.Add this parameter to specify a module by its fully qualified name.

  • Il valore di $PSVersionTable.PSVersion è stato aggiornato alla versione 5.0.The value of $PSVersionTable.PSVersion has been updated to 5.0.

  • WMF 5.0 (PowerShell 5.0) include il modulo Pester.WMF 5.0 (PowerShell 5.0) includes the Pester module. Pester è un framework di testing unità per PowerShell.Pester is a unit testing framework for PowerShell. Offre alcune parole chiave di semplice utilizzo che consentono di creare test per gli script.It provides a few simple-to-use keywords that let you create tests for your scripts.

Nuove funzionalità di Windows PowerShell Desired State ConfigurationNew features in Windows PowerShell Desired State Configuration

  • I miglioramenti del linguaggio di Windows PowerShell consentono di usare classi per definire risorse di Windows PowerShell Desired State Configuration (DSC).Windows PowerShell language enhancements let you define Windows PowerShell Desired State Configuration (DSC) resources by using classes. Import-DscResource è ora una parola chiave dinamica. Windows PowerShell analizza il modulo radice del modulo specificato alla ricerca delle classi che contengono l'attributo DscResource.Import-DscResource is now a true dynamic keyword; Windows PowerShell parses the specified module's root module, searching for classes that contain the DscResource attribute. È ora possibile usare classi per definire le risorse DSC, senza che sia richiesto un file MOF o una sottocartella DSCResource nella cartella del modulo.You can now use classes to define DSC resources, in which neither a MOF file nor a DSCResource subfolder in the module folder is required. Un file di modulo di Windows PowerShell può contenere più classi di risorse DSC.A Windows PowerShell module file can contain multiple DSC resource classes.
  • È stato aggiunto il nuovo parametro ThrottleLimit per i cmdlet seguenti nel modulo PSDesiredStateConfiguration.A new parameter, ThrottleLimit, has been added to the following cmdlets in the PSDesiredStateConfiguration module. Aggiungere il parametro ThrottleLimit per specificare il numero di computer o dispositivi di destinazione a cui si vuole applicare il comando contemporaneamente.Add the ThrottleLimit parameter to specify the number of target computers or devices on which you want the command to work at the same time.
    • Get-DscConfigurationGet-DscConfiguration
    • Get-DscConfigurationStatusGet-DscConfigurationStatus
    • Get-DscLocalConfigurationManagerGet-DscLocalConfigurationManager
    • Restore-DscConfigurationRestore-DscConfiguration
    • Test-DscConfigurationTest-DscConfiguration
    • Compare-DscConfigurationCompare-DscConfiguration
    • Publish-DscConfigurationPublish-DscConfiguration
    • Set-DscLocalConfigurationManagerSet-DscLocalConfigurationManager
    • Start-DscConfigurationStart-DscConfiguration
    • Update-DscConfigurationUpdate-DscConfiguration
  • Grazie ai report di errori DSC centralizzati, le informazioni complete sugli errori non vengono salvate solo nel registro eventi, ma possono essere inviate a una posizione centrale per analisi successive.With centralized DSC error reporting, rich error information is not only logged in the event log, but it can be sent to a central location for later analysis. È possibile usare questa posizione centrale per archiviare gli errori di configurazione DSC che si sono verificati per qualsiasi server nell'ambiente.You can use this central location to store DSC configuration errors that have occurred for any server in their environment. Dopo aver definito il server di report nella metaconfigurazione, tutti gli errori vengono inviati al server di report e quindi archiviati in un database.After the report server is defined in the meta-configuration, all errors are sent to the report server, and then stored in a database. È possibile configurare questa funzionalità indipendentemente dal fatto che un nodo di destinazione sia configurato o meno per il pull delle configurazioni da un server di pull.You can set up this functionality regardless of whether or not a target node is configured to pull configurations from a pull server.
  • I miglioramenti di Windows PowerShell ISE facilitano la creazione di risorse DSC.Improvements to Windows PowerShell ISE ease DSC resource authoring. È ora possibile eseguire le operazioni seguenti.You can now do the following.
    • Elencare tutte le risorse DSC all'interno di un blocco configuration o node premendo CTRL+BARRA SPAZIATRICE in una riga vuota all'interno del blocco.List all DSC resources within a configuration or node block by entering Ctrl+Space on a blank line within the block.
    • Usare il completamento automatico per le proprietà della risorsa di tipo enumeration.Automatic completion on resource properties of the enumeration type.
    • Completamento automatico per la proprietà DependsOn della risorsa DSC, in base alle altre istanze della risorsa nella configurazione.Automatic completion on the DependsOn property of DSC resources, based on other resource instances in the configuration.
    • Usare il completamento tramite TAB migliorato per i valori delle proprietà della risorsa.Improved tab completion of resource property values.
  • Un utente può ora eseguire una risorsa con un set di credenziali specificate aggiungendo l'attributo PSDscRunAsCredential a un blocco Node.A user can now run a resource under a specified set of credentials by adding the PSDscRunAsCredential attribute to a Node block. Ad esempio, PSDscRunAsCredential = Get-Credential Contoso\DscUser.For example, PSDscRunAsCredential = Get-Credential Contoso\DscUser. Questa funzionalità è utile per la creazione di configurazioni che eseguono Windows Installer e i programmi di installazione eseguibili, accedono all'hive del Registro di sistema per utente o eseguono altre attività all'esterno del contesto utente corrente.This functionality is useful for creating configurations that run Windows Installer and executable installers, access the per-user registry hive, or perform other tasks outside the current user context.
  • È stato aggiunto il supporto di 32 bit (x86) per la parola chiave Configuration.32-bit (x86-based) support has been added for the Configuration keyword.
  • Windows PowerShell include ora il supporto della Guida personalizzata per le configurazioni DSC, definito aggiungendo [CmdletBinding()] alla funzione di configurazione generata.Windows PowerShell now includes support for custom help for DSC configurations, defined by adding [CmdletBinding()] to the generated configuration function.
  • Il nuovo attributo DscLocalConfigurationManager definisce un blocco di configurazione come metaconfigurazione, usata per configurare Gestione configurazione locale DSC.A new DscLocalConfigurationManager attribute designates a configuration block as a meta-configuration, which is used to configure the DSC Local Configuration Manager. Questo attributo limita una configurazione ai soli elementi per configurare Gestione configurazione locale DSC.This attribute restricts a configuration to containing only items which configure the DSC Local Configuration Manager. Durante l'elaborazione, questa configurazione genera un file *.meta.mof che viene poi inviato ai nodi di destinazione appropriati tramite il cmdlet Set-DscLocalConfigurationManager.During processing, this configuration generates a *.meta.mof file that is then sent to the appropriate target nodes by running the Set-DscLocalConfigurationManager cmdlet.
  • Le configurazioni parziali sono ora consentite in Windows PowerShell 5.0.Partial configurations are now allowed in Windows PowerShell 5.0. È possibile recapitare i documenti di configurazione a un nodo in frammenti.You can deliver configuration documents to a node in fragments. Affinché un nodo possa ricevere più frammenti di un documento di configurazione, è necessario innanzitutto impostare Gestione configurazione locale del nodo in modo da specificare i frammenti previstiFor a node to receive multiple fragments of a configuration document, the node's Local Configuration Manager must be first set to specify the expected fragments
  • La sincronizzazione tra computer è una novità di DSC in Windows PowerShell 5.0.Cross-computer synchronization is new in DSC in Windows PowerShell 5.0. Grazie alle risorse predefinite WaitFor* ( WaitForAll , WaitForAny e WaitForSome ), è ora possibile specificare le dipendenze tra i computer durante le esecuzioni della configurazione, senza orchestrazione esterna.By using the built-in WaitFor* resources ( WaitForAll , WaitForAny , and WaitForSome ), you can now specify dependencies across computers during configuration runs, without external orchestrations. Queste risorse consentono la sincronizzazione tra nodi tramite connessioni CIM sul protocollo WS-Man.These resources provide node-to-node synchronization by using CIM connections over the WS-Man protocol. Una configurazione può attendere la modifica dello stato di una risorsa specifica di un altro computer.A configuration can wait for another computer's specific resource state to change.
  • La nuova funzionalità di sicurezza con delega JEA (Just Enough Administration) si basa su DSC e gli spazi di esecuzione limitati di Windows PowerShell per proteggere le aziende da perdite di dati o compromissioni causate dai dipendenti, sia intenzionalmente che non.Just Enough Administration (JEA), a new delegation security feature, leverages DSC and Windows PowerShell constrained runspaces to help secure enterprises from data loss or compromise by employees, whether intentional or unintentional. Per altre informazioni su JEA, inclusa la posizione da cui è possibile scaricare la risorsa xJEA DSC, vedere Just Enough Administration.For more information about JEA, including where you can download the xJEA DSC resource, see Just Enough Administration.
  • Sono stati aggiungi i nuovi cmdlet seguenti al modulo PSDesiredStateConfiguration.The following new cmdlets have been added to the PSDesiredStateConfiguration module.
    • Il nuovo cmdlet Get-DscConfigurationStatus ottiene informazioni generali sullo stato di configurazione da un nodo di destinazione.A new Get-DscConfigurationStatus cmdlet gets high-level information about configuration status from a target node. È possibile ottenere lo stato dell'ultima configurazione o di tutte.You can obtain the status of the last, or of all configurations.
    • Il nuovo cmdlet Compare-DscConfiguration confronta una configurazione specificata con lo stato effettivo di uno o più nodi di destinazione.A new Compare-DscConfiguration cmdlet compares a specified configuration with the actual state of one or more target nodes.
    • Il nuovo cmdlet Publish-DscConfiguration copia un file di configurazione con estensione mof in un nodo di destinazione, ma non applica la configurazione.A new Publish-DscConfiguration cmdlet copies a configuration MOF file to a target node, but does not apply the configuration. La configurazione viene applicata durante il passaggio di controllo della coerenza successivo o quando si esegue il cmdlet Update-DscConfiguration.The configuration is applied during the next consistency pass, or when you run the Update-DscConfiguration cmdlet.
    • Il nuovo cmdlet Test-DscConfiguration consente di verificare che una configurazione risultante corrisponda alla configurazione desiderata e restituisce True se la configurazione corrisponde alla configurazione desiderata o False se la configurazione effettiva non corrisponde alla configurazione desiderata.A new Test-DscConfiguration cmdlet lets you verify that a resulting configuration matches the desired configuration, returning either True if the configuration matches the desired configuration, or False if the actual configuration does not match the desired configuration.
    • Il nuovo cmdlet Update-DscConfiguration forza l'elaborazione di una configurazione.A new Update-DscConfiguration cmdlet forces a configuration to be processed. Se Gestione configurazione locale è in modalità pull, il cmdlet recupera la configurazione dal server di pull prima di applicarla.If the Local Configuration Manager is in pull mode, the cmdlet gets the configuration from the pull server before applying it.

Nuove funzionalità di Windows PowerShell ISENew features in Windows PowerShell ISE

  • È ora possibile modificare script e file remoti di Windows PowerShell in una copia locale di Windows PowerShell ISE eseguendo Enter-PSSession per avviare una sessione remota nel computer in cui sono archiviati i file da modificare e quindi eseguendo PSEdit <path and file name on the remote computer> .You can now edit remote Windows PowerShell scripts and files in a local copy of Windows PowerShell ISE, by running Enter-PSSession to start a remote session on the computer that's storing the files you want to edit, and then running PSEdit <path and file name on the remote computer>. Questa funzionalità semplifica la modifica dei file di Windows PowerShell archiviati nell'opzione di installazione Server Core di Windows Server, in cui non è possibile eseguire Windows PowerShell ISE.This feature eases editing Windows PowerShell files that are stored on the Server Core installation option of Windows Server, where Windows PowerShell ISE cannot run.
  • Il cmdlet Start-Transcript è ora supportato in Windows PowerShell ISE.The Start-Transcript cmdlet is now supported in Windows PowerShell ISE.
  • È ora possibile eseguire il debug di script remoti in Windows PowerShell ISE.You can now debug remote scripts in Windows PowerShell ISE.
  • Il nuovo comando di menu Interrompi tutto (CTRL+B) consente di interrompere l'esecuzione nel debugger sia per script in esecuzione in locale che in remoto.A new menu command, Break All (Ctrl+B), breaks into the debugger for both local and remotely-running scripts.

Nuove funzionalità dei servizi Web di Windows PowerShell (Estensione IIS OData di gestione)New features in Windows PowerShell Web Services (Management OData IIS Extension)

  • A partire da Windows PowerShell 5.0, è possibile generare un set di cmdlet di Windows PowerShell basato sulle funzionalità esposte da un determinato endpoint OData eseguendo il cmdlet Export-ODataEndpointProxy, disponibile nel nuovo modulo Microsoft.PowerShell.OdataUtils.Starting in Windows PowerShell 5.0, you can generate a set of Windows PowerShell cmdlets based on the functionality exposed by a given OData endpoint, by running the Export-ODataEndpointProxy cmdlet, found in the new Microsoft.PowerShell.OdataUtils module.

Correzioni di bug importanti in Windows PowerShell 5.0Notable bug fixes in Windows PowerShell 5.0

  • Windows PowerShell 5.0 include una nuova implementazione di COM, che offre miglioramenti significativi delle prestazioni quando si lavora con gli oggetti COM.Windows PowerShell 5.0 includes a new COM implementation, which offers significant performance improvements when you are working with COM objects. Per una dimostrazione video dell'effetto, vedere Com_Perf_Improvements.For a video demonstration of the effect, see Com_Perf_Improvements.
  • Miglioramenti significativi delle prestazioni sono stati introdotti per il primo completamento tramite tasto TAB in una sessione di Windows PowerShell, con una riduzione del tempo di completamento di quasi 500 ms.Significant performance improvements have been made to the first tab completion in a Windows PowerShell session, shortening tab completion time by nearly 500 ms.

Nuove funzionalità di Windows PowerShell 4.0New features in Windows PowerShell 4.0

Windows PowerShell 4.0 è compatibile con le versioni precedenti.Windows PowerShell 4.0 is backward-compatible. Cmdlet, provider, moduli, snap-in, script, funzioni e profili progettati per Windows PowerShell 3.0 e Windows PowerShell 2.0 funzionano in Windows PowerShell 4.0 senza modifiche.Cmdlets, providers, modules, snap-ins, scripts, functions, and profiles that were designed for Windows PowerShell 3.0 and Windows PowerShell 2.0 work in Windows PowerShell 4.0 without changes.

Windows PowerShell 4.0 viene installato per impostazione predefinita in Windows 8.1 e Windows Server 2012 R2.Windows PowerShell 4.0 is installed by default on Windows 8.1 and Windows Server 2012 R2. Per installare Windows PowerShell 4.0 in Windows 7 con SP1 o Windows Server 2008 R2, scaricare e installare Windows Management Framework 4.0.To install Windows PowerShell 4.0 on Windows 7 with SP1, or Windows Server 2008 R2, download and install Windows Management Framework 4.0. Prima di installare Windows Management Framework 4.0, assicurarsi di leggere i dettagli sul download e di soddisfare tutti i requisiti di sistema.Be sure to read the download details, and meet all system requirements, before you install Windows Management Framework 4.0.

Windows PowerShell 4.0 include le nuove funzionalità seguenti.Windows PowerShell 4.0 includes the following new features.

Nuove funzionalità di Windows PowerShellNew features in Windows PowerShell

  • Windows PowerShell Desired State Configuration (DSC) è un nuovo sistema di gestione di Windows PowerShell 4.0 che consente di distribuire e gestire dati di configurazione per i servizi software e per l'ambiente in cui vengono eseguiti.Windows PowerShell Desired State Configuration (DSC) is a new management system in Windows PowerShell 4.0 that enables the deployment and management of configuration data for software services and the environment in which these services run. Per altre informazioni, vedere Introduzione a Windows PowerShell DSC (Desired State Configuration).For more information about DSC, see Get Started with Windows PowerShell Desired State Configuration.
  • Save-Help consente ora di salvare la Guida per i moduli installati in computer remoti.Save-Help now lets you save help for modules that are installed on remote computers. È possibile usare Save-Help per scaricare la Guida sui moduli da un client connesso a Internet (in cui non sono necessariamente installati tutti i moduli per cui si vogliono informazioni) e quindi copiare la Guida salvata in una cartella condivisa remota o in un computer remoto privo di accesso a Internet.You can use Save-Help to download module Help from an Internet-connected client (on which not all of the modules for which you want help are necessarily installed), and then copy the saved Help to a remote shared folder or a remote computer that does not have Internet access.
  • Il debugger di Windows PowerShell è stato migliorato per consentire il debug dei flussi di lavoro di Windows PowerShell oltre che degli script in esecuzione in computer remoti.The Windows PowerShell debugger has been enhanced to allow debugging of Windows PowerShell workflows, as well as scripts that are running on remote computers. Il debug dei flussi di lavoro di Windows PowerShell può ora essere eseguito a livello di script dalla riga di comando di Windows PowerShell o da Windows PowerShell ISE.Windows PowerShell workflows can now be debugged at the script level from either the Windows PowerShell command line or Windows PowerShell ISE. È ora possibile eseguire il debug degli script di Windows PowerShell e dei relativi flussi di lavoro con le sessioni remote.Windows PowerShell scripts, including script workflows, can now be debugged over remote sessions. Le sessioni di debug remoto vengono conservate quando le sessioni remote di Windows PowerShell vengono disconnesse e in seguito riconnesse.Remote debugging sessions are preserved over Windows PowerShell remote sessions that are disconnected and then later reconnected.
  • Il parametro RunNow di Register-ScheduledJob e Set-ScheduledJob elimina la necessità di impostare una data e un'ora di inizio immediate per i processi tramite il parametro Trigger.A RunNow parameter for Register-ScheduledJob and Set-ScheduledJob eliminates the need to set an immediate start date and time for jobs by using the Trigger parameter.
  • Invoke-RestMethod e Invoke-WebRequest consentono ora di impostare tutte le intestazioni con il parametro Headers.Invoke-RestMethod and Invoke-WebRequest now let you set all headers by using the Headers parameter. Anche se esiste da sempre, questo è uno dei numerosi parametri per i cmdlet Web che generavano eccezioni o errori.Although this parameter has always existed, it was one of several parameters for the web cmdlets that resulted in exceptions or errors.
  • Get-Module include il nuovo parametro FullyQualifiedName di tipo ModuleSpecification[] .Get-Module has a new parameter, FullyQualifiedName , of the type ModuleSpecification[]. Il parametro FullyQualifiedName di Get-Module consente ora di specificare un modulo tramite il relativo nome, la versione e, facoltativamente, il GUID.The FullyQualifiedName parameter of Get-Module now lets you specify a module by using the module's name, version, and optionally, its GUID.
  • L'impostazione predefinita dei criteri di esecuzione in Windows Server 2012 R2 è RemoteSigned.The default execution policy setting on Windows Server 2012 R2 is RemoteSigned. In Windows 8.1 l'impostazione predefinita non viene modificata.On Windows 8.1, there is no change in default setting.
  • A partire da Windows PowerShell 4.0, è supportata la chiamata al metodo con i nomi di metodo dinamici.Starting in Windows PowerShell 4.0, method invocation by using dynamic method names is supported. È possibile usare una variabile per archiviare il nome di un metodo e quindi richiamarlo dinamicamente con una chiamata alla variabile.You can use a variable to store a method name, and then dynamically invoke the method by calling the variable.
  • I processi asincroni del flusso di lavoro non vengono più eliminati una volta trascorso il periodo di timeout specificato dal parametro comune del flusso di lavoro PSElapsedTimeoutSec.Asynchronous workflow jobs are no longer deleted when the time-out period that is specified by the PSElapsedTimeoutSec workflow common parameter has elapsed.
  • È stato aggiunto il nuovo parametro RepeatIndefinitely ai cmdlet New-JobTrigger e Set-JobTrigger.A new parameter, RepeatIndefinitely , has been added to the New-JobTrigger and Set-JobTrigger cmdlets. In questo modo non è più necessario specificare un valore TimeSpan.MaxValue per il parametro RepetitionDuration per eseguire un processo pianificato ripetutamente per un periodo di tempo indefinito.This eliminates the necessity of specifying a TimeSpan.MaxValue value for the RepetitionDuration parameter to run a scheduled job repeatedly for an indefinite period.
  • È stato aggiunto il parametro Passthru ai cmdlet Enable-JobTrigger e Disable-JobTrigger.A Passthru parameter has been added to the Enable-JobTrigger and Disable-JobTrigger cmdlets. Questo parametro visualizza tutti gli oggetti creati o modificati dal comando.The Passthru parameter displays any objects that are created or modified by your command.
  • I nomi dei parametri per specificare un gruppo di lavoro nei cmdlet Add-Computer e Remove-Computer sono ora coerenti.The parameter names for specifying a workgroup in the Add-Computer and Remove-Computer cmdlets are now consistent. Entrambi i cmdlet usano ora il parametro WorkgroupName.Both cmdlets now use the parameter WorkgroupName.
  • È stato aggiunto il nuovo parametro comune PipelineVariable ,A new common parameter, PipelineVariable , has been added. che consente di salvare i risultati di un comando (o di parte di esso) inviato tramite pipe come variabile che può quindi essere passata attraverso il resto della pipeline.PipelineVariable lets you save the results of a piped command (or part of a piped command) as a variable that can be passed through the remainder of the pipeline.
  • È ora supportato il filtro delle raccolte tramite la sintassi di un metodo.Collection filtering by using a method syntax is now supported. Questo significa che è possibile filtrare una raccolta di oggetti usando una sintassi semplificata, simile a quella di Where() o Where-Object, formattata come una chiamata a metodo.This means that you can now filter a collection of objects by using simplified syntax, similar to that for Where() or Where-Object, formatted as a method call. Di seguito è riportato un esempio: (Get-Process).where({$.Name -match 'powershell'})The following is an example: (Get-Process).where({$.Name -match 'powershell'})
  • Il cmdlet Get-Process include ora il nuovo parametro opzionale IncludeUserName.The Get-Process cmdlet has a new switch parameter, IncludeUserName.
  • È stato aggiunto il nuovo cmdlet Get-FileHash , che restituisce l'hash di un file specificato in uno dei diversi formati disponibili.A new cmdlet, Get-FileHash , that returns a file hash in one of several formats for a specified file, has been added.
  • In Windows PowerShell 4.0, se un modulo usa la chiave DefaultCommandPrefix nel manifesto o se l'utente importa un modulo con il parametro Prefix , la proprietà ExportedCommands del modulo mostra i comandi nel modulo con il prefisso.In Windows PowerShell 4.0, if a module uses the DefaultCommandPrefix key in its manifest, or if the user imports a module with the Prefix parameter, the ExportedCommands property of the module shows the commands in the module with the prefix. I nomi dei comandi eseguiti usando la sintassi qualificata di modulo ModuleName\CommandName devono includere il prefisso.When you run the commands by using the module-qualified syntax, ModuleName\CommandName, the command names must include the prefix.
  • Il valore di $PSVersionTable.PSVersion è stato aggiornato alla versione 4.0.The value of $PSVersionTable.PSVersion has been updated to 4.0.
  • Il comportamento dell'operatore Where() è cambiato.Where() operator behavior has changed. L'accettazione di un'espressione stringa nel formato "Property -CompareOperator Value" in Collection.Where('property -match name') non è più supportata.Collection.Where('property -match name') accepting a string expression in the format "Property -CompareOperator Value" is no longer supported. Tuttavia, l'operatore Where() accetta espressioni stringa nel formato di un blocco di script. Questa funzionalità è ancora supportata.However, the Where() operator accepts string expressions in the format of a scriptblock; this is still supported.

Nuove funzionalità di Windows PowerShell ISE (Integrated Scripting Environment)New features in Windows PowerShell Integrated Scripting Environment (ISE)

  • Windows PowerShell ISE supporta il debug del flusso di lavoro di Windows PowerShell e il debug degli script remoti.Windows PowerShell ISE supports both Windows PowerShell Workflow debugging and remote script debugging.
  • Per i provider e le configurazioni del servizio Windows PowerShell Desired State Configuration è stato aggiunto il supporto di IntelliSense.IntelliSense support has been added for Windows PowerShell Desired State Configuration providers and configurations.

Nuove funzionalità del flusso di lavoro di Windows PowerShellNew features in Windows PowerShell Workflow

  • È stato aggiunto il supporto del nuovo parametro comune PipelineVariable nel contesto delle pipeline iterative, ad esempio quelle usate da System Center Orchestrator, ossia le pipeline che eseguono i comandi semplicemente da sinistra a destra, a differenza dell'esecuzione frammista tramite flusso.Support has been added for a new PipelineVariable common parameter in the context of iterative pipelines, such as those used by System Center Orchestrator; that is, pipelines that run commands simply left-to-right, as opposed to interspersed running by using streaming.
  • L'associazione di parametri è stata sensibilmente migliorata e ora funziona all'esterno di scenari con completamento tramite TAB, ad esempio con comandi che non esistono nello spazio di esecuzione corrente.Parameter binding has been significantly enhanced to work outside of tab completion scenarios, such as with commands that do not exist in the current runspace.
  • Al flusso di lavoro di Windows PowerShell è stato aggiunto il supporto per le attività del contenitore personalizzato.Support for custom container activities has been added to Windows PowerShell Workflow. Se un parametro di attività è di tipo Activity , Activity[] o è una raccolta generica di attività e se l'utente ha specificato un blocco di script come argomento, il flusso di lavoro di Windows PowerShell converte il blocco di script in XAML, come in una normale compilazione da script a flusso di lavoro di Windows PowerShell.If an activity parameter is of the types Activity , Activity[] (or is a generic collection of activities) and the user has supplied a script block as an argument, then Windows PowerShell Workflow converts the script block to XAML, as with normal Windows PowerShell script-to-workflow compilation.
  • Dopo un arresto anomalo del sistema, il flusso di lavoro di Windows PowerShell si riconnette automaticamente ai nodi gestiti.After a crash, Windows PowerShell Workflow automatically reconnects to managed nodes.
  • È ora possibile limitare le istruzioni di attività Foreach -Parallel tramite la proprietà ThrottleLimit.You can now throttle Foreach -Parallel activity statements by using the ThrottleLimit property.
  • Il parametro comune ErrorAction ha un nuovo valore valido, Suspend , riservato esclusivamente ai flussi di lavoro.The ErrorAction common parameter has a new valid value, Suspend , that is exclusively for workflows.
  • Un endpoint del flusso di lavoro viene ora automaticamente chiuso se non ci sono sessioni attive, processi in corso e in sospeso.A workflow endpoint now automatically closes if there are no active sessions, no in-progress jobs, and no pending jobs. Questa funzionalità conserva le risorse nel computer che funge da server del flusso di lavoro, quando vengono soddisfatte le condizioni per la chiusura automatica.This feature conserves resources on the computer that is acting as the workflow server, when the automatic closure conditions have been met.

Nuove funzionalità dei servizi Web di Windows PowerShellNew features in Windows PowerShell Web Services

  • Quando si verifica un errore nei servizi Web di Windows PowerShell (PSWS, noto anche come Estensione IIS OData di gestione), mentre un cmdlet è in esecuzione, vengono restituiti messaggi di errore più dettagliati al chiamante.When an error occurs in Windows PowerShell Web Services (PSWS, also called Management OData IIS Extension), while a cmdlet is running, more detailed error messages are returned to the caller. Inoltre, i codici di errore seguono le linee guida dei codici di errore dell'API REST di Microsoft Azure.In addition, error codes follow Windows Azure REST API error code guidelines.
  • Un endpoint può ora definire la versione dell'API, nonché imporre l'uso di una versione specifica.An endpoint can now define the API version, as well as enforce the usage of a specific API version. Ogni volta che si verifica una mancata corrispondenza di versione tra client e server, vengono visualizzati messaggi di errore sia nel client che nel server.Whenever version mismatches occur between client and server, errors are displayed to both the client and the server.
  • La gestione dello schema di invio è stata semplificata con la generazione automatica dei valori per eventuali campi mancanti.Management of the dispatch schema has been simplified by automatically generating values for any missing fields in the schema. La generazione si verifica, come utile punto di partenza, anche se lo schema di invio non esiste.Generation occurs, as a helpful starting point, even if the dispatch schema does not exist.
  • La gestione dei tipi in PSWS è stata migliorata per supportare tipi che usano un costruttore diverso rispetto a quello predefinito grazie a un comportamento simile a quello di PSTypeConverter in Windows PowerShell.Type handling in PSWS has been improved to support types that use a different constructor than the default constructor, by behaving similarly to the PSTypeConverter in Windows PowerShell. In questo modo è possibile usare tipi complessi con i servizi Web.This lets you use complex types with PSWS.
  • I servizi Web di PowerShell consentono ora di espandere un'istanza associata durante l'esecuzione di una query.PSWS now allows expanding an associated instance while running a query. Per contenuti binari più grandi, ad esempio immagini, audio o video, il costo del trasferimento è significativo ed è preferibile trasferire dati binari senza codifica.For larger binary contents (such as images, audio, or video), the transfer cost is significant, and it is better to transfer binary data without encoding. I servizi Web di PowerShell usano flussi di risorse denominati per il trasferimento senza codifica.PSWS uses named resource streams for transferring without encoding. Il flusso di risorse denominato è una proprietà di un'entità del tipo Edm.Stream.The named resource stream is a property of an entity of the Edm.Stream type. Ogni flusso di risorse denominato ha un URI separato per le operazioni GET o UPDATE.Each named resource stream has a separate URI for GET or UPDATE operations.
  • Le azioni OData forniscono ora un meccanismo per richiamare metodi non CRUD (Create, Read, Update e Delete) su una risorsa.OData actions now provide a mechanism for invoking non-CRUD (Create, Read, Update, and Delete) methods on a resource. È possibile richiamare un'azione inviando una richiesta POST HTTP all'URI definito per la stessa.You can invoke an action by sending an HTTP POST request to the URI that is defined for the action. I parametri dell'azione sono definiti nel corpo della richiesta POST.The parameters for the action are defined in the body of the POST request.
  • Per coerenza con le linee guida di Microsoft Azure, tutti gli URL devono essere semplificati.To be consistent with Windows Azure guidelines, all URLs should be simplified. Una modifica inclusa in Key As Segment consente di rappresentare singole chiavi come segmenti.A change included in Key As Segment allows single keys to be represented as segments. Si noti che i riferimenti che usano più valori di chiave richiedono valori delimitati da virgole nella notazione parentetica, come prima.Note that references that use multiple key values require comma-separated values in parenthetical notation, as before.
  • Prima di questa versione dei servizi Web di PowerShell, l'unico modo per eseguire operazioni Create, Update o Delete consiste nel richiamare Post, Put o Delete su una risorsa di primo livello.Before this release of PSWS, the only way to perform Create, Update, or Delete operations was to invoke Post, Put, or Delete on a top-level resource. Le operazioni su risorse contenute, una novità di questa versione dei servizi Web di PowerShell, consentono di ottenere gli stessi risultati raggiungendo la stessa risorsa in modo meno diretto, avvicinandosi come se queste risorse fossero contenute.New in this release of PSWS, Contained Resource operations let users achieve the same results while reaching the same resource less directly, approaching as if these resources were contained.

Nuove funzionalità di Accesso Web Windows PowerShellNew features in Windows PowerShell Web Access

  • È possibile eseguire la disconnessione e la riconnessione a sessioni esistenti nella console di Accesso Web Windows PowerShell.You can disconnect from and reconnect to existing sessions in the web-based Windows PowerShell Web Access console. Il pulsante Salva della console basata sul Web consente di disconnettersi da una sessione senza eliminarla e quindi di riconnettersi in un secondo momento.A Save button in the web-based console lets you disconnect from a session without deleting it and reconnect to the session another time.
  • I parametri predefiniti possono essere visualizzati nella pagina di accesso.Default parameters can be displayed on the sign-in page. Per visualizzare i parametri predefiniti, configurare i valori per tutte le impostazioni visualizzate nell'area Impostazioni di connessione facoltative della pagina di accesso in un file denominato web.config. È possibile usare il file web.config per configurare tutte le impostazioni di connessione facoltative, ad eccezione di un secondo set di credenziali o di un set alternativo.To display default parameters, configure values for all of the settings displayed in the Optional Connection Settings area of the sign-in page in a file named web.config. You can use the web.config file to configure all optional connection settings except for a second or alternate set of credentials.
  • In Windows Server 2012 R2 è possibile gestire in remoto le regole di autorizzazione per Accesso Web Windows PowerShell.In Windows Server 2012 R2, you can remotely manage authorization rules for Windows PowerShell Web Access. I cmdlet Add-PswaAuthorizationRule e Test-PswaAuthorizationRule ora includono un parametro Credential che consente agli amministratori di gestire le regole di autorizzazione da un computer remoto o in una sessione di Accesso Web Windows PowerShell.The Add-PswaAuthorizationRule and Test-PswaAuthorizationRule cmdlets now include a Credential parameter that enables administrators to manage authorization rules from a remote computer or in a Windows PowerShell Web Access session.
  • Ora è possibile avere più sessioni di Accesso Web Windows PowerShell in un'unica sessione del browser usando una nuova scheda del browser per ogni sessione.You can now have multiple Windows PowerShell Web Access sessions in a single browser session by using a new browser tab for each session. Non è più necessario aprire una nuova sessione del browser per connettersi a una nuova sessione nella console di Windows PowerShell basata sul Web.You no longer need to open a new browser session to connect to a new session in the web-based Windows PowerShell console.

Correzioni di bug importanti in Windows PowerShell 4.0Notable bug fixes in Windows PowerShell 4.0

  • Get-Counter può ora restituire contatori che contengono un carattere apostrofo nelle edizioni in francese di Windows.Get-Counter can now return counters that contain an apostrophe character in French editions of Windows.
  • È ora possibile visualizzare il metodo GetType negli oggetti deserializzati.You can now view the GetType method on deserialized objects.
  • Le istruzioni #Requires consentono ora agli utenti di chiedere diritti di accesso di amministratore, se necessario.#Requires statements now let users require Administrator access rights, if needed.
  • Il cmdlet Import-Csv ignora ora le righe vuote.The Import-Csv cmdlet now ignores blank lines.
  • È stato risolto un problema che causava un uso eccessivo di memoria di Windows PowerShell ISE durante l'esecuzione di un comando Invoke-WebRequest.A problem where Windows PowerShell ISE uses too much memory when you are running an Invoke-WebRequest command has been fixed.
  • Get-Module visualizza ora le versioni dei moduli in una colonna Version.Get-Module now displays module versions in a Version column.
  • Remove-Item -Recurse ora rimuove gli elementi dalle sottocartelle come previsto.Remove-Item -Recurse now removes items from subfolders as expected.
  • È stata aggiunta la proprietà UserName agli oggetti output di Get-Process.A UserName property has been added to Get-Process output objects.
  • Il cmdlet Invoke-RestMethod restituisce ora tutti i risultati disponibili.The Invoke-RestMethod cmdlet now returns all available results.
  • Add-Member ha ora effetto sulle tabelle hash, anche su quelle a cui non è stato ancora effettuato l'accesso.Add-Member now takes effect on hashtables, even if the hashtables have not yet been accessed.
  • Select-Object -Expand non genera più errori o eccezioni se il valore della proprietà è Null o vuoto.Select-Object -Expand no longer fails or generates an exception if the value of the property is null or empty.
  • Get-Process può ora essere usato in una pipeline con altri comandi che ottengono la proprietà ComputerName dagli oggetti.Get-Process can now be used in a pipeline with other commands that get the ComputerName property from objects.
  • ConvertTo-Json e ConvertFrom-Json possono ora accettare termini con virgolette doppie e i messaggi di errore sono ora localizzabili.ConvertTo-Json and ConvertFrom-Json can now accept terms within double quotes, and its error messages are now localizable.
  • Get-Job restituisce ora qualsiasi processo pianificato completato, anche nelle nuove sessioni.Get-Job now returns any completed scheduled jobs, even in new sessions.
  • I problemi di montaggio e smontaggio dei dischi rigidi virtuali con il provider FileSystem in Windows PowerShell 4.0 sono stati corretti.Issues with mounting and unmounting VHDs by using the FileSystem provider in Windows PowerShell 4.0 have been fixed. Ora Windows PowerShell può rilevare le nuove unità montate nella stessa sessione.Windows PowerShell is now able to detect new drives when they are mounted in the same session.
  • Non è più necessario caricare esplicitamente i moduli ScheduledJob o Workflow per usare i relativi tipi di processo.You no longer need to explicitly load ScheduledJob or Workflow modules to work with their job types.
  • Sono stati apportati miglioramenti alle prestazioni del processo di importazione dei flussi di lavoro che definiscono flussi di lavoro annidati. Questo processo è ora più veloce.Performance improvements have been made to the process of importing workflows that define nested workflows; this process is now faster.

Nuove funzionalità di Windows PowerShell 3.0New features in Windows PowerShell 3.0

Windows PowerShell 3.0 include le nuove funzionalità seguenti.Windows PowerShell 3.0 includes the following new features.

Flusso di lavoro di Windows PowerShellWindows PowerShell Workflow

Il flusso di lavoro di Windows PowerShell estende le potenzialità di Windows Workflow Foundation a Windows PowerShell.Windows PowerShell Workflow brings the power of Windows Workflow Foundation to Windows PowerShell. È possibile scrivere flussi di lavoro in XAML o nel linguaggio di Windows PowerShell ed eseguirli allo stesso modo dei cmdlet.You can write workflows in XAML or in the Windows PowerShell language and run them just as you would run a cmdlet. Il cmdlet Get-Command ottiene i comandi del flusso di lavoro e il cmdlet Get-Help visualizza la Guida.The Get-Command cmdlet gets workflow commands and the Get-Help cmdlet gets help for workflows.

I flussi di lavoro sono sequenze di attività di gestione di più computer ad esecuzione prolungata, ripetibili, frequenti, parallelizzabili, interrompibili, sospendibili e riavviabili.Workflows are sequences of multicomputer management activities that are long-running, repeatable, frequent, parallelizable, interruptible, suspendable, and restartable. Possono essere ripresi dopo un'interruzione intenzionale o accidentale, come un'interruzione di rete, un riavvio di Windows o un'interruzione dell'alimentazione.Workflows can be resumed from an intentional or accidental interruption, such as a network outage, a Windows restart, or a power failure.

Sono anche trasportabili, ossia possono essere esportati o importati da file XAML.Workflows are also portable; they can be exported as or imported from XAML files. È possibile scrivere configurazioni di sessione personalizzate che consentono l'esecuzione di un flusso di lavoro o delle attività al suo interno da parte di utenti delegati o subordinati.You can write custom session configurations that allow workflow or activities in a workflow to be run by delegated or subordinate users.

I vantaggi del flusso di lavoro di Windows PowerShell sono descritti di seguito.The following are the benefits of Windows PowerShell Workflow

  • Automazione di attività in sequenza e a esecuzione prolungata.Automation of sequenced, long-running tasks.
  • Monitoraggio remoto delle attività con esecuzione prolungata.Remote monitoring of long-running tasks. Lo stato e l'avanzamento delle attività sono visibili in qualsiasi momento.Status and progress of activities are visible at any time.
  • Gestione di più computer.Multicomputer management. È possibile eseguire attività come flussi di lavoro contemporaneamente in centinaia di nodi gestiti.Simultaneously run tasks as workflows on hundreds of managed nodes. Il flusso di lavoro di Windows PowerShell include una raccolta predefinita di parametri di gestione comuni, ad esempio PSComputerName , che consente scenari di gestione di più computer.Windows PowerShell Workflow includes a built-in library of common management parameters, such as PSComputerName , which enable multi-computer management scenarios.
  • Esecuzione di singole attività di processi complessi.Single task execution of complex processes. È possibile combinare script correlati che implementano un intero scenario end-to-end in un singolo flusso di lavoro.You can combine related scripts that implement an entire end-to-end scenario into a single workflow.
  • Salvataggio permanente. Un flusso di lavoro viene salvato, ovvero vengono impostati dei checkpoint, in specifici punti definiti dall'autore. È quindi possibile riprendere il flusso di lavoro dall'ultima attività salvata, o dall'ultimo checkpoint, invece di riavviarlo dall'inizio.Persistence. : a workflow is saved (or check-pointed) at specific points defined by its author so you can resume the workflow from the last persisted task (or checkpoint), instead of restarting the workflow from the beginning.
  • Stabilità.Robustness. Ripristino automatizzato dagli errori.Automated failure recovery. I flussi di lavoro continuano a esistere in seguito a riavvii pianificati e non pianificati.Workflows survive planned and unplanned restarts. È possibile sospendere l'esecuzione di un flusso di lavoro e poi riprenderla dall'ultimo punto di salvataggio permanente.You can suspend workflow execution and then resume the workflow from the last persistence point. Gli autori dei flussi di lavoro possono designare specifiche attività da rieseguire in caso di errore in uno o più nodi gestiti.Workflow authors can designate specific activities to be re-run in case of failure on one or more managed nodes.
  • Possibilità di disconnettersi e riconnettersi alle sessioni e di continuare l'esecuzione nelle sessioni disconnesse.Ability to disconnect, reconnect, and run in disconnected sessions. Gli utenti possono connettersi e disconnettersi dal server del flusso di lavoro, ma l'esecuzione del flusso di lavoro continua ininterrottamente.Users can connect and disconnect from the workflow server, but the workflow runs continuously. È possibile disconnettersi dal computer client o riavviarlo e monitorare l'esecuzione del flusso di lavoro da un altro computer senza interromperlo.You can log off of the client computer or restart the client computer and monitor the workflow execution from another computer without interrupting the workflow.
  • Pianificazione.Scheduling. Le attività del flusso di lavoro possono essere pianificate come qualsiasi cmdlet o script di Windows PowerShell.Workflow tasks can be scheduled like any Windows PowerShell cmdlet or script.
  • Limitazione di connessioni e flussi di lavoro.Workflow and Connection Throttling. L'esecuzione dei flussi di lavoro e le connessioni ai nodi possono essere limitate, rendendo possibili scenari di scalabilità e disponibilità elevata.Workflow execution and connections to nodes can be throttled, thus enabling scalability and high-availability scenarios.

Accesso Web di Windows PowerShellWindows PowerShell Web Access

Accesso Web Windows PowerShell è una funzionalità di Windows Server 2012 che consente agli utenti di eseguire comandi e script di Windows PowerShell in una console basata sul Web.Windows PowerShell Web Access is a Windows Server 2012 feature that lets users run Windows PowerShell commands and scripts in a web-based console. I dispositivi che usano la console basata sul Web non richiedono Windows PowerShell, un software di gestione remota o l'installazione di plug-in del browser.Devices that use the web-based console do not require Windows PowerShell, remote management software, or browser plug-in installations. È richiesto solo un gateway di Accesso Web Windows PowerShell configurato correttamente e un browser del dispositivo client che supporti JavaScript e accetti cookie.All that is required is a properly-configured Windows PowerShell Web Access gateway and a client device browser that supports JavaScript and accepts cookies.

Per altre informazioni, vedere Distribuire Accesso Web Windows PowerShell.For more information, see Deploy Windows PowerShell Web Access.

Nuove funzionalità di Windows PowerShell ISENew Windows PowerShell ISE Features

Per Windows PowerShell 3.0, Windows PowerShell Integrated Scripting Environment (ISE) include molte nuove funzionalità, tra cui IntelliSense, finestra Show-Command, riquadro della console unificato, frammenti di codice, controllo della corrispondenza delle parentesi graffe, sezioni espandibili e comprimibili, salvataggio automatico, elenco di elementi recenti, copia di testo formattato, copia in blocco e supporto completo per la scrittura di flussi di lavoro di script di Windows PowerShell.For Windows PowerShell 3.0, Windows PowerShell Integrated Scripting Environment (ISE) has many new features, including IntelliSense, Show-Command window, a unified Console Pane, snippets, brace-matching, expand-collapse sections, auto-save, recent items list, rich copy, block copy, and full support for writing Windows PowerShell script workflows. Per altre informazioni, vedere about_Windows_PowerShell_ISE.For more information, see about_Windows_PowerShell_ISE.

Supporto per Microsoft .NET Framework 4Support for Microsoft .NET Framework 4

Windows PowerShell è basato su Common Language Runtime 4.0.Windows PowerShell is built against the Common Language Runtime 4.0. Gli autori di cmdlet, script e flussi di lavoro possono usare le nuove classi di Microsoft .NET Framework 4 in Windows PowerShell, con funzionalità come la compatibilità e la distribuzione di applicazioni, Managed Extensibility Framework, calcolo parallelo, rete, Windows Communication Foundation e Windows Workflow Foundation.Cmdlet, script, and workflow authors can use the new Microsoft .NET Framework 4 classes in Windows PowerShell, with features that include Application Compatibility and Deployment, Managed Extensibility Framework, Parallel Computing, Networking, Windows Communication Foundation and Windows Workflow Foundation.

Supporto per l'Ambiente preinstallazione di WindowsSupport for Windows Preinstallation Environment

Windows PowerShell 3.0 è un componente facoltativo di Ambiente preinstallazione di Windows (Windows PE) 4.0 per Windows 8.Windows PowerShell 3.0 is an optional component of Windows Preinstallation Environment (Windows PE) 4.0 for Windows 8. Windows PE è un sistema operativo minimo che avvia un computer privo di sistema operativo e lo prepara per l'installazione di Windows.Windows PE is a minimal operating system that starts a computer that has no operating system and prepares it for Windows installation. Può essere usato per partizionare e formattare unità disco rigido, copiare immagini del disco in un computer e avviare l'installazione di Windows da una condivisione di rete.Windows PE can be used to partition and format hard drives, copy disk images to a computer, and initiate Windows Setup from a network share. Windows PowerShell 3.0 può essere usato in Windows PE per gestire scenari di distribuzione, diagnostica e ripristino.Windows PowerShell 3.0 can be used on Windows PE to manage deployment, diagnostics, and recovery scenarios.

Sessioni disconnesseDisconnected Sessions

A partire da Windows PowerShell 3.0, le sessioni permanenti gestite dall'utente ("PSSession") create con il cmdlet New-PSSession vengono salvate nel computer remoto.Beginning in Windows PowerShell 3.0, persistent user-managed sessions ("PSSessions") that you create by using the New-PSSession cmdlet are saved on the remote computer. Non dipendono più dalla sessione in cui sono state create.They are no longer dependent on the session in which they were created.

È ora possibile disconnettersi da una sessione senza interrompere i comandi in esecuzione al suo interno.You can now disconnect from a session without disrupting the commands that are running in the session. È possibile chiudere la sessione e arrestare il computer.You can close the session and shut down your computer. In seguito, è possibile riconnettersi alla sessione da una sessione diversa nello stesso computer o in uno diverso.Later, you can reconnect to the session from a different session on the same or on a different computer.

Il parametro ComputerName del cmdlet Get-PSSession ottiene ora tutte le sessioni dell'utente che si connettono al computer, anche se sono state avviate in una sessione diversa e in un computer diverso.The ComputerName parameter of the Get-PSSession cmdlet now gets all of the user's sessions that connect to the computer, even if they were started in a different session on a different computer. È ora possibile connettersi alle sessioni, ottenere i risultati dei comandi, avviare nuovi comandi e quindi disconnettersi.You can connect to the sessions, get the results of commands, start new commands, and then disconnect from the session.

Sono stati aggiunti nuovi cmdlet per supportare la funzionalità delle sessioni disconnesse, tra cui Disconnect-PSSession, Connect-PSSession e Receive-PSSession. Sono stati aggiunti anche nuovi parametri ai cmdlet che gestiscono le sessioni PSSessions, ad esempio il parametro InDisconnectedSession del cmdlet Invoke-Command.New cmdlets have been added to support the Disconnected Sessions feature, including Disconnect-PSSession, Connect-PSSession, and Receive-PSSession, and new parameters have been added to cmdlets that manage PSSessions, such as the InDisconnectedSession parameter of the Invoke-Command cmdlet.

La funzionalità delle sessioni disconnesse è supportata solo se sia il computer all'estremità di origine ("client") che quello all'estremità di destinazione ("server") della connessione eseguono Windows PowerShell 3.0.The Disconnected Sessions feature is supported only when the computers at both the originating ("client") and terminating ("server") ends of the connection are running Windows PowerShell 3.0.

Connettività stabile delle sessioniRobust Session Connectivity

Windows PowerShell 3.0 rileva interruzioni impreviste della connessione tra client e server e prova a ristabilirla e a riprendere automaticamente l'esecuzione.Windows PowerShell 3.0 detects unexpected losses of connectivity between the client and server and attempts to reestablish connectivity and resume execution automatically. Se la connessione tra client e server non può essere ristabilita entro l'intervallo assegnato, l'utente riceve una notifica e la sessione viene disconnessa.If the client-server connection cannot be reestablished in the allotted time, the user is notified and the session is disconnected. Durante il tentativo di riconnessione, Windows PowerShell fornisce un feedback continuo all'utente.During the attempt to reconnect, Windows PowerShell provides continuous feedback to the user.

Se la sessione disconnessa è stata avviata con InvokeCommand, Windows PowerShell crea un apposito processo per semplificare la riconnessione e la ripresa dell'esecuzione.If the disconnected session was started by using the InvokeCommand, Windows PowerShell creates a job for the disconnected session to make it easier to reconnect and resume execution.

Queste funzionalità assicurano un'esperienza di comunicazione remota affidabile e ripristinabile e consentono agli utenti di eseguire attività a esecuzione prolungata che richiedono sessioni stabili, come i flussi di lavoro.These features provide a more reliable and recoverable remoting experience and allow users to perform long-running tasks that require robust sessions, such as workflows.

Sistema della Guida aggiornabileUpdatable Help System

È ora possibile scaricare file della Guida aggiornati per i cmdlet dei moduli.You can now download updated help files for the cmdlets in your modules. Il cmdlet Update-Help identifica i file della Guida più recenti, li scarica da Internet, li decomprime, li convalida e li installa nella directory specifica della lingua corretta per il modulo.The Update-Help cmdlet identifies the newest help files, downloads them from the Internet, unpacks them, validates them, and installs them in the correct language-specific directory for the module.

Per usare i file della Guida aggiornati, basta digitare Get-Help.To use the updated help files, just type Get-Help. Non è necessario riavviare Windows o Windows PowerShell.You do not need to restart Windows or Windows PowerShell. Per aggiornare la Guida per i moduli nella directory $pshome, avviare Windows PowerShell con l'opzione "Esegui come amministratore".To update help for modules in the $pshome directory, start Windows PowerShell with the "Run as administrator" option.

Per supportare gli utenti che non hanno accesso a Internet e quelli che operano in ambienti protetti da firewall, il nuovo cmdlet Save-Help scarica i file della Guida in una directory del file system, ad esempio una condivisione file.To support users who don't have Internet access and users behind firewalls, the new Save-Help cmdlet downloads help files to a file system directory, such as a file share. Gli utenti possono quindi usare il cmdlet Update-Help per recuperare i file della Guida aggiornata dalla condivisione file.Users can then use the Update-Help cmdlet to get updated help files from the file share.

È possibile usare il cmdlet Update-Help per aggiornare i file della Guida per tutti i moduli o solo per alcuni specifici in tutte le impostazioni cultura supportate dell'interfaccia utente.You can use the Update-Help cmdlet to update help files for all or particular modules in all supported UI cultures. È anche possibile inserire un comando Update-Help nel profilo di Windows PowerShell.You can even put an Update-Help command in your Windows PowerShell profile. Per impostazione predefinita, Windows PowerShell scarica i file della Guida in un modulo non più di una volta al giorno.By default, Windows PowerShell downloads the help files for a module no more than once each day.

I moduli di Windows 8 e Windows Server 2012 non includono file della Guida.Windows 8 and Windows Server 2012 modules do not include help files. Per scaricare i file della Guida più recenti, digitare Update-Help.To download the latest help files, type Update-Help. Per altre informazioni, digitare Get-Help senza parametri oppure vedere about_Updatable_Help.For more information, type Get-Help (without parameters) or see about_Updatable_Help.

Se i file della Guida per un cmdlet non sono installati nel computer, il cmdlet Get-Help visualizza ora la Guida generata automaticamente,When the help files for a cmdlet are not installed on the computer, the Get-Help cmdlet now displays auto-generated help. che include la sintassi dei comandi e le istruzioni per scaricare i file della Guida tramite il cmdlet Update-Help.The auto-generated help includes the command syntax and instructions for using the Update-Help cmdlet to download help files.

Qualsiasi autore di moduli può ora supportare la Guida aggiornabile.Any module author can support Updatable Help for their module. È possibile includere i file della Guida nel modulo e usare la Guida aggiornabile per aggiornarli oppure omettere tali file e usare la Guida aggiornabile per installarli.You can include help files in the module and use Updatable Help to update them or omit the help files and use Updatable Help to install them. Per altre informazioni, vedere Supporto per la Guida aggiornabile.For more information about supporting Updatable Help, see Supporting Updatable Help.

Guida online ottimizzataEnhanced Online Help

La Guida online di Windows PowerShell è una risorsa preziosa per tutti gli utenti, ma è particolarmente importante per quelli che non hanno installato i file della Guida aggiornati o non possono farlo.Windows PowerShell online help is a valuable resource for all users, but it is especially important to users who do not or cannot install updated help files.

Per ottenere la Guida online per qualsiasi cmdlet di Windows PowerShell, digitare:To get online help for any Windows PowerShell cmdlet, type:

Get-Help <cmdlet-name> -Online

Windows PowerShell apre la versione online dell'argomento della Guida nel browser Internet predefinito.Windows PowerShell opens the online version of the help topic in your default Internet browser.

La funzionalità Get-Help -Online in Windows PowerShell 3.0 è ora ancora più potente, perché può essere eseguita anche se i file della Guida per il cmdlet non sono installati nel computer.The Get-Help -Online feature in Windows PowerShell 3.0 is now even more powerful because it works even when help files for the cmdlet are not installed on the computer. La funzionalità Get-Help -Online ottiene l'URI dell'argomento della Guida online dalla proprietà HelpUri dei cmdlet e delle funzioni avanzate.The Get-Help -Online feature gets the URI for online help topic from the HelpUri property of cmdlets and advanced functions.

PS C:\>(Get-Command Get-ScheduledJob).HelpUri
https://go.microsoft.com/fwlink/?LinkID=223923

A partire da Windows PowerShell 3.0, gli autori dei cmdlet scritti in C# possono popolare la proprietà HelpUri creando un attributo HelpUri nella classe del cmdlet.Beginning in Windows PowerShell 3.0, authors of C# cmdlets can populate the HelpUri property by creating a HelpUri attribute on the cmdlet class. Gli autori di funzioni avanzate possono definire una proprietà HelpUri nell'attributo CmdletBinding.Authors of advanced functions can define a HelpUri property on the CmdletBinding attribute. Il valore della proprietà HelpUri deve iniziare con "http" o "https".The value of the HelpUri property must begin with "http" or "https".

È anche possibile includere un valore HelpUri nel primo collegamento correlato di un file della Guida sui cmdlet basato su XML o la direttiva .Link della Guida basata su commenti in una funzione.You can also include a HelpUri value in the first related link of an XML-based cmdlet help file or the .Link directive of comment-based help in a function.

Per altre informazioni, vedere Supporto per la Guida online in Microsoft Docs.For more information about supporting online help, see Supporting Online Help in the Microsoft Docs.

Integrazione con CIMCIM integration

Windows PowerShell 3.0 include il supporto per CIM (Common Information Model), che fornisce definizioni comuni delle informazioni di gestione per sistemi, reti, applicazioni e servizi, consentendo lo scambio di tali informazioni tra sistemi eterogenei.Windows PowerShell 3.0 includes support for the Common Information Model (CIM), which provides common definitions of management information for systems, networks, applications, and services, allowing them the exchange of management information between heterogeneous systems. Supporto per CIM in Windows PowerShell 3.0, con la possibilità di creare cmdlet di Windows PowerShell basati su classi CIM nuove o esistenti e di comandi basati su file XML di definizione dei cmdlet, oltre al supporto per .NET Framework CIM.Support for CIM in Windows PowerShell 3.0, including the ability to author Windows PowerShell cmdlets based on new or existing CIM classes, commands based on cmdlet definition XML files, support for CIM .NET Framework. API, cmdlet di gestione CIM e provider WMI 2.0.API, CIM management cmdlets and WMI 2.0 providers.

File di configurazione di sessioneSession Configuration Files

A partire da Windows PowerShell 3.0, è possibile progettare una configurazione di sessione personalizzata usando un file.Beginning in Windows PowerShell 3.0, you can design a custom session configuration by using a file. Il nuovo file di configurazione consente di determinare l'ambiente delle sessioni che usano la configurazione di sessione, indicando quali moduli, script e file di formato sono caricati nelle sessioni, quali cmdlet ed elementi del linguaggio possono essere usati dagli utenti, quali moduli e script possono essere eseguiti e quali variabili possono essere visualizzate.The new session configuration file lets you determine the environment of sessions that use the session configuration, including which modules, scripts, and format files are loaded into sessions, which cmdlets and language elements users can use, which modules and scripts they can run, and which variables they can see.

È possibile progettare una sessione in cui gli utenti possono eseguire solo i cmdlet di un determinato modulo oppure una sessione in cui gli utenti hanno accesso a tutti i moduli, in tutti i linguaggi, e agli script che eseguono attività avanzate.You can design a session in which users can only run the cmdlets from one particular module, or a session in which users have full language, access to all modules, and access to scripts that perform advanced tasks.

Nelle versioni precedenti di Windows PowerShell il controllo a questo livello era disponibile solo per gli utenti in grado di scrivere programmi in C# o complessi script di avvio.In previous versions of Windows PowerShell, control at this level was available only to those who could write a C# program or a complex start-up script. Ora qualsiasi membro del gruppo Administrators del computer può personalizzare una configurazione di sessione tramite un file di configurazione.Now, any member of the Administrators group on the computer can customize a session configuration by using a configuration file.

Per creare un file di configurazione della sessione, usare il cmdlet New-PSSessionConfigurationFile.To create a session configuration file, use the New-PSSessionConfigurationFile cmdlet. Per applicare il file a una configurazione di sessione, usare il cmdlet Register-PSSessionConfiguration o i cmdlet Set-PSSessionConfiguration.To apply the session configuration file to a session configuration, use the Register-PSSessionConfiguration or `Set-PSSessionConfiguration cmdlets.

Per altre informazioni, vedere about_Session_Configuration_Files e New-PSSessionConfigurationFile.For more information, see about_Session_Configuration_Files and New-PSSessionConfigurationFile.

Processi pianificati e integrazione con l'Utilità di pianificazioneScheduled Jobs and Task Scheduler Integration

È ora possibile pianificare i processi in background di Windows PowerShell e gestirli in Windows PowerShell e nell'Utilità di pianificazione.You can now schedule Windows PowerShell background jobs and manage them in Windows PowerShell and in Task Scheduler.

I processi pianificati di Windows PowerShell sono un utile ibrido di processi in background di Windows PowerShell e attività dell'Utilità di pianificazione.Windows PowerShell scheduled jobs are a useful hybrid of Windows PowerShell background jobs and Task Scheduler tasks.

Analogamente ai processi in background di Windows PowerShell, i processi pianificati vengono eseguiti in modo asincrono in background.Like Windows PowerShell background jobs, scheduled jobs run asynchronously in the background. Le istanze dei processi pianificati che sono state completate possono essere gestite tramite cmdlet di processo, ad esempio Start-Job e Get-Job.Instances of scheduled jobs that have completed can be managed by using the job cmdlets, such as Start-Job and Get-Job.

Analogamente alle attività dell'Utilità di pianificazione, è possibile eseguire i processi pianificati in base a una pianificazione una tantum o ricorrente oppure in risposta a un'azione o a un evento.Like Task Scheduler tasks, you can run scheduled jobs on a one-time or recurrent schedule, or in response to an action or event. È possibile visualizzare e gestire i processi pianificati nell'Utilità di pianificazione, abilitarli e disabilitarli secondo necessità, eseguirli o usarli come modelli e definire le condizioni in base a cui devono essere avviati.You can view and manage scheduled jobs in Task Scheduler, enable and disable them as needed, run them or use them as templates, and set conditions under which the jobs start.

Inoltre, i processi pianificati includono un set personalizzato di cmdlet per gestirli.In addition, scheduled jobs come with a customized set of cmdlets for managing them. I cmdlet consentono di creare, modificare, gestire, disabilitare e riabilitare i processi pianificati, creare appositi trigger e impostare le opzioni.The cmdlets let you create, edit, manage, disable, and re-enable scheduled jobs, create scheduled job triggers and set scheduled job options.

Per altre informazioni sui processi pianificati, vedere about_Scheduled_Jobs.For more information about scheduled jobs, see about_Scheduled_Jobs.

Miglioramenti del linguaggio di Windows PowerShellWindows PowerShell Language Enhancements

Windows PowerShell 3.0 include molte funzionalità progettate per rendere il linguaggio più semplice, più facile da usare e meno soggetto a errori comuni.Windows PowerShell 3.0 includes many features that are designed to make its language simpler, easier to use, and to avoid common errors. I miglioramenti includono l'enumerazione di proprietà, le proprietà di conteggio e lunghezza su oggetti scalari, nuovi operatori di reindirizzamento, il modificatore di ambito $Using, la variabile automatica PSItem, una formattazione di script flessibile, attributi di variabili, argomenti degli attributi semplificati, nomi di comandi numerici, operatore Stop-Parsing, splatting delle matrici migliorato, nuovi operatori bit a bit, dizionari ordinati, casting di PSCustomObject e una Guida migliorata basata su commenti.The improvements include property enumeration, count and length properties on scalar objects, new redirection operators, the $Using scope modifier, PSItem automatic variable, flexible script formatting, attributes of variables, simplified attribute arguments, numeric command names, the Stop-Parsing operator, improved array splatting, new bit operators, ordered dictionaries, PSCustomObject casting, and improved comment-based help.

Nuovi cmdlet di sistemaNew Core Cmdlets

Nell'installazione di sistema di Windows PowerShell sono stati aggiunti nuovi cmdlet, tra cui cmdlet per gestire processi pianificati, sessioni disconnesse, integrazione con CIM e Guida aggiornabile.New cmdlets were added to the Windows PowerShell Core installation, including cmdlets to manage scheduled jobs, disconnected sessions, CIM integration and the Updatable Help System.

  • CimCmdletsCimCmdlets
    • Get-CimAssociatedInstanceGet-CimAssociatedInstance
    • Get-CimClassGet-CimClass
    • Get-CimInstanceGet-CimInstance
    • Get-CimSessionGet-CimSession
    • Invoke-CimMethodInvoke-CimMethod
    • New-CimInstanceNew-CimInstance
    • New-CimSessionNew-CimSession
    • New-CimSessionOptionNew-CimSessionOption
    • Register-CimIndicationEventRegister-CimIndicationEvent
    • Remove-CimInstanceRemove-CimInstance
    • Remove-CimSessionRemove-CimSession
    • Set-CimInstanceSet-CimInstance
  • Microsoft.PowerShell.CoreMicrosoft.PowerShell.Core
    • Connect-PSSessionConnect-PSSession
    • Disconnect-PSSessionDisconnect-PSSession
    • New-PSSessionConfigurationFileNew-PSSessionConfigurationFile
    • New-PSTransportOptionNew-PSTransportOption
    • Receive-PSSessionReceive-PSSession
    • Resume-JobResume-Job
    • Save-HelpSave-Help
    • Suspend-JobSuspend-Job
    • Test-PSSessionConfigurationFileTest-PSSessionConfigurationFile
    • Update-HelpUpdate-Help
  • Microsoft.PowerShell.DiagnosticsMicrosoft.PowerShell.Diagnostics
    • New-WinEventNew-WinEvent
  • Microsoft.PowerShell.ManagementMicrosoft.PowerShell.Management
    • Get-ControlPanelItemGet-ControlPanelItem
    • Rename-ComputerRename-Computer
    • Show-ControlPanelItemShow-ControlPanelItem
  • Microsoft.PowerShell.UtilityMicrosoft.PowerShell.Utility
    • ConvertFrom-JsonConvertFrom-Json
    • ConvertTo-JsonConvertTo-Json
    • Get-TypeDataGet-TypeData
    • Invoke-RestMethodInvoke-RestMethod
    • Invoke-WebRequestInvoke-WebRequest
    • Remove-TypeDataRemove-TypeData
    • Show-CommandShow-Command
    • Unblock-FileUnblock-File
  • PSScheduledJobPSScheduledJob
    • Add-JobTriggerAdd-JobTrigger
    • Disable-JobTriggerDisable-JobTrigger
    • Disable-ScheduledJobDisable-ScheduledJob
    • Enable-JobTriggerEnable-JobTrigger
    • Enable-ScheduledJobEnable-ScheduledJob
    • Get-JobTriggerGet-JobTrigger
    • Get-ScheduledJobGet-ScheduledJob
    • Get-ScheduledJobOptionGet-ScheduledJobOption
    • New-JobTriggerNew-JobTrigger
    • New-ScheduledJobOptionNew-ScheduledJobOption
    • Register-ScheduledJobRegister-ScheduledJob
    • Set-JobTriggerSet-JobTrigger
    • Set-ScheduledJobSet-ScheduledJob
    • Set-ScheduledJobOptionSet-ScheduledJobOption
    • Unregister-ScheduledJobUnregister-ScheduledJob
  • PSWorkflowPSWorkflow
    • New-PSWorkflowExecutionOptionNew-PSWorkflowExecutionOption
    • New-PSWorkflowSessionNew-PSWorkflowSession
  • PSWorkflowUtilityPSWorkflowUtility
    • Invoke-AsWorkflowInvoke-AsWorkflow
  • ISEISE
    • Get-IseSnippetGet-IseSnippet
    • Import-IseSnippetImport-IseSnippet
    • New-IseSnippetNew-IseSnippet

Miglioramenti dei cmdlet e provider principali esistentiImprovements to Existing Core Cmdlets and Providers

Windows PowerShell 3.0 include nuove funzionalità per gli attuali cmdlet, tra cui una sintassi migliorata e nuovi parametri per i cmdlet seguenti: cmdlet Computer, cmdlet CSV, Get-ChildItem, Get-Command, Get-Content, Get-History, Measure-Object, cmdlet Security, Select-Object, Select-String, Split-Path, Start-Process, Tee-Object, Test-Connection, Add-Member e cmdlet WMI.Windows PowerShell 3.0 includes new features for existing cmdlets including the simplified syntax, and new parameters for the following cmdlets: Computer cmdlets, CSV cmdlets, Get-ChildItem, Get-Command, Get-Content, Get-History, Measure-Object, Security cmdlets, Select-Object, Select-String, Split-Path, Start-Process, Tee-Object, Test-Connection, Add-Member, and WMI cmdlets.

Anche i provider di Windows PowerShell sono stati migliorati in modo significativo, con l'aggiunta del supporto del provider Certificate per la gestione di certificati SSL (Secure Socket Layer) per l'hosting Web, il supporto di unità di rete permanenti basate su credenziali e flussi di dati alternativi nelle unità di file system.The Windows PowerShell providers were also improved significantly, including Certificate provider support for managing Secure Socket Layer (SSL) certificates for web hosting, support for credential, persistent network drives, and alternate data streams in file system drives.

Importazione e individuazione di moduli remotiRemote module import and discovery

Windows PowerShell 3.0 estende le funzionalità di individuazione dei moduli, importazione e comunicazione remota implicita nei computer remoti.Windows PowerShell 3.0 extends module discovery, importing, and implicit remoting capabilities on remote computers. I cmdlet Module ottengono i moduli nei computer remoti e li importano in computer remoti o locali tramite la comunicazione remota di Windows PowerShell.The Module cmdlets get modules on remote computers and import the modules to the remote or local computer by using Windows PowerShell remoting. Il nuovo supporto per sessioni CIM consente di usare CIM e WMI per gestire computer non Windows importando nel computer locale comandi che vengono eseguiti in modo implicito nel computer remoto.New CIM session support allows you to use CIM and WMI to manage non-Windows computers by importing commands to the local computer that run implicitly on the remote computer.

Per altre informazioni, vedere gli argomenti della Guida sui cmdlet Get-Module e Import-Module.For more information, see the help topics for the Get-Module and Import-Module cmdlets.

Completamento tramite TAB miglioratoEnhanced Tab Completion

Il completamento tramite tasto TAB nella console di Windows PowerShell ora completa i nomi di cmdlet, parametri, valori dei parametri, enumerazioni, tipi .NET Framework, oggetti COM, directory nascoste e altro.Tab completion in the Windows PowerShell console now completes the names of cmdlets, parameters, parameter values, enumerations, .NET Frameworks types, COM objects, hidden directories, and more. Questa funzionalità è stata completamente riscritta in base a un nuovo albero sintattico astratto e di analisi per supportare più scenari, tra cui alberi di analisi in memoria e completamento tramite TAB sulla riga centrale.The tab completion feature is completely rewritten based on a new parser and abstract syntax tree to support more scenarios, including in-memory parsing trees and midline tab completion.

Caricamento automatico dei moduliModule Auto-Loading

Il cmdlet Get-Command ottiene ora tutti i cmdlet e le funzioni da tutti i moduli installati nel computer, anche se il modulo non viene importato nella sessione corrente.The Get-Command cmdlet now gets all cmdlets and functions from all modules that are installed on the computer, even if the module is not imported into the current session.

Una volta ottenuto il cmdlet necessario, è possibile usarlo immediatamente senza importare nessun modulo.When you get the cmdlet that you need, you can use it immediately without importing any modules. I moduli di Windows PowerShell vengono ora importati automaticamente quando si usa uno dei cmdlet al loro interno.Windows PowerShell modules are now imported automatically when you use any cmdlet in the module. Non è più necessario cercare il modulo e importarlo per usare i relativi cmdlet.You no longer need to search for the module and import it to use its cmdlets.

L'importazione automatica dei moduli viene avviata usando il cmdlet in un comando, eseguendo Get-Command per un cmdlet senza caratteri jolly oppure eseguendo Get-Help per un cmdlet senza caratteri jolly.Automatic importing of modules is triggered by using the cmdlet in a command, running Get-Command for a cmdlet without wildcards, or running Get-Help for a cmdlet without wildcards.

È possibile abilitare, disabilitare e configurare l'importazione automatica dei moduli usando la variabile di preferenza $PSModuleAutoLoadingPreference.You can enable, disable, and configure automatic importing of modules by using the $PSModuleAutoLoadingPreference preference variable.

Per altre informazioni, vedere about_Modules, about_Preference_Variables [v4] e gli argomenti della Guida sui cmdlet Get-Command e Import-Module.For more information, see about_Modules, about_Preference_Variables, and the help topics for the Get-Command and Import-Module cmdlets.

Miglioramento dell'esperienza con i moduliModule Experience Improvements

Windows PowerShell 3.0 offre il supporto di funzionalità avanzate per il modulo, tra cui le nuove funzionalità seguenti.Windows PowerShell 3.0 brings advanced feature support to modules, including the following new features.

  1. Registrazione per singoli moduli (LogPipelineExecutionDetails) e nuova impostazione di Criteri di gruppo "Turn on Module Logging"Module logging for individual modules (LogPipelineExecutionDetails) and the new "Turn on Module Logging" Group Policy setting
  2. Oggetti modulo estesi che espongono i valori del manifesto del moduloExtended module objects that expose the values from the module manifest
  3. Nuova proprietà ExportedCommands dei moduli, inclusi i moduli annidati, che combina i comandi di tutti i tipiNew ExportedCommands property of modules, including nested modules, that combines commands of all types
  4. Individuazione migliorata dei moduli disponibili (non importati), consentendo anche l'uso dei parametri Path e ListAvailable nello stesso comandoImproved discovery of available (un-imported) modules, including allowing the Path and ListAvailable parameters in the same command
  5. Nuova chiave DefaultCommandPrefix nei manifesti dei moduli che evita conflitti dei nomi senza cambiare il codice del moduloNew DefaultCommandPrefix key in module manifests that avoids name conflicts without changing module code.
  6. Requisiti migliorati dei moduli, tra cui il requisito di moduli completi con versione e GUID e l'importazione automatica dei moduli necessariImproved module requirements, including fully-qualified required modules with version and GUID and automatic importing of required modules
  7. Funzionamento semplificato del cmdlet New-ModuleManifest.Quieter, streamlined operation of the New-ModuleManifest cmdlet.
  8. Nuovo parametro Module per #RequiresNew Module parameter for #Requires
  9. Cmdlet Import-Module migliorato con entrambi i parametri MinimumVersion e RequiredVersion.Improved Import-Module cmdlet with both MinimumVersion and RequiredVersion parameters.

Individuazione semplificata dei comandiSimplified Command Discovery

Non è più necessario importare tutti i moduli per individuare i comandi disponibili nella sessione.You no longer need to import all modules to discover the commands available to your session. In Windows PowerShell 3.0 il cmdlet Get-Command ottiene tutti i comandi da tutti i moduli installati.In Windows PowerShell 3.0, the Get-Command cmdlet gets all commands from all installed modules. Se inoltre si usa un comando, il modulo che lo esporta viene automaticamente importato nella sessione.And, if you use a command, the module that exports the command is automatically imported into your session.

Il nuovo cmdlet Show-Command è progettato specificamente per utenti meno esperti.The new Show-Command cmdlet is designed especially for beginners. È possibile cercare i comandi in una finestra.You can search for commands in a window. È possibile visualizzare tutti i comandi o applicare un filtro per modulo, importare un modulo facendo clic su un pulsante, usare caselle di testo ed elenchi a discesa per creare un comando valido e quindi copiarlo o eseguirlo senza mai uscire dalla finestra.You can view all commands or filter by module, import a module by clicking a button, use text boxes and drop-down lists to construct a valid command, and then copy or run the command without ever leaving the window.

Funzionalità migliorate di registrazione e diagnostica e supporto di Criteri di gruppoImproved Logging, Diagnostics, and Group Policy Support

In Windows PowerShell 3.0 è stato migliorato il supporto per la registrazione e la traccia per comandi e moduli grazie al supporto per i log di Event Tracing for Windows (ETW) e una proprietà LogPipelineExecutionDetails modificabile dei moduli, oltre all'impostazione di Criteri di gruppo "Attiva registrazione moduli".Windows PowerShell 3.0 improves the logging and tracing support for commands and modules with support for Event Tracing in Windows (ETW) logs, an editable LogPipelineExecutionDetails property of modules, and the "Turn on Module Logging" Group Policy setting. È ora possibile ottenere i valori dei parametri dai dettagli dei log visualizzando le proprietà dei log.You can now get parameter values from log details by displaying the log properties.

Miglioramenti di formattazione e outputFormatting and Output Improvements

I nuovi miglioramenti alla formattazione e all'output aumentano l'efficienza per tutti gli utenti di Windows PowerShell.New formatting and output improvements improve the efficiency of all Windows PowerShell users. I miglioramenti includono il reindirizzamento dell'output per tutti i flussi, un cmdlet Update-Type ottimizzato che aggiunge dinamicamente i tipi senza i file Format.ps1xml, il ritorno a capo automatico nell'output, le proprietà predefinite di formattazione di oggetti personalizzati, il tipo PSCustomObject , la formattazione migliorata di oggetti WMI e oggetti eterogenei e il supporto per l'individuazione degli overload dei metodi.The improvements include output redirection for all streams, an enhanced Update-Type cmdlet that adds types dynamically without Format.ps1xml files, word wrap in output, default formatting properties of custom objects, the PSCustomObject type, improved formatting for WMI objects and heterogeneous objects, and support for discovering method overloads.

Esperienza ottimizzata con l'host della consoleEnhanced Console Host Experience

Il programma host della console di Windows PowerShell include nuove funzionalità in Windows PowerShell 3.0, tra cui l'apartment a thread singolo per impostazione predefinita.The Windows PowerShell console host program has new features in Windows PowerShell 3.0 including single threaded apartment by default. La nuova opzione "Esegui con PowerShell" di Esplora file consente di eseguire gli script in una sessione senza restrizioni facendo semplicemente clic con il pulsante destro del mouse.The new "Run with PowerShell" option in File Explorer lets you run scripts in a unrestricted session just by right-clicking. La nuova logica di avvio dell'host della console avvia più velocemente Windows PowerShell e i nuovi tipi di carattere consentono di personalizzare l'esperienza con la consueta finestra della console.New console host launch logic starts Windows PowerShell faster and new fonts allow you to personalize the familiar console window experience.

Nuove API di cmdlet e hostingNew Cmdlet and Hosting APIs

Le nuove API di cmdlet e hosting includono API AST (Advanced Syntax Tree) e API per il paging delle pipeline, le pipeline annidate, il completamento tramite TAB di pool di spazi di esecuzione, Windows RT, l'attributo Obsolete dei cmdlet e le proprietà Verb e Noun dell'oggetto FunctionInfo.The new Cmdlet API and Hosting API include public advanced syntax tree (AST) APIs, and APIs for pipeline paging, nested pipelines, runspace pools tab completion, Windows RT, the Obsolete cmdlet attribute, and Verb and Noun properties of the FunctionInfo object.

Miglioramenti alle prestazioniPerformance Improvements

I miglioramenti significativi delle prestazioni di Windows PowerShell sono attribuibili al nuovo parser del linguaggio, basato sul linguaggio DLR (Dynamic Runtime Language) di .NET Framework 4, oltre alla compilazione di script di runtime, alla maggiore affidabilità del motore e alle modifiche apportate all'algoritmo di Get-ChildItem, che ne migliorano le prestazioni in particolare per le ricerche nelle condivisioni di rete.Significant performance improvements in Windows PowerShell come from the new language parser, which is built on Dynamic Runtime Language (DLR) in .NET Framework 4., along with runtime script compilation, engine reliability improvements, and changes to the algorithm of the Get-ChildItem that improve its performance, especially when searching network shares.

Supporto per RunAs e SharedHostRunAs and Shared Host Support

Windows PowerShell 3.0 include il supporto per le funzionalità RunAs e Shared Host.Windows PowerShell 3.0 includes support for RunAs and Shared Host features.

La funzionalità RunAs , progettata per il flusso di lavoro di Windows PowerShell, consente agli utenti di una configurazione di sessione di creare sessioni che vengono eseguite con l'autorizzazione di un account utente condiviso.The RunAs feature, designed for Windows PowerShell Workflow, lets users of a session configuration create sessions that run with the permission of a shared user account. In questo modo gli utenti con privilegi meno elevati possono eseguire specifici comandi e script con autorizzazioni di amministratore, riducendo la necessità di aggiungere utenti meno avanzati al gruppo Administrators.This enables less privileged users to run particular commands and scripts with administrator permissions, and reduces the need for adding less senior users to the Administrators group.

La funzionalità SharedHost consente a più utenti di più computer di connettersi a una sessione del flusso di lavoro contemporaneamente e di monitorare lo stato di un flusso di lavoro.The SharedHost feature allows multiple users on multiple computers to connect to a workflow session concurrently and monitor the progress of a workflow. Gli utenti possono avviare un flusso di lavoro in un computer e quindi connettersi alla sessione del flusso di lavoro di un altro computer senza disconnettersi da quella del computer originale.Users can start a workflow on one computer and then connect to the workflow session on another computer without disconnecting the session from the original computer. È necessario che gli utenti abbiano le stesse autorizzazioni e usino la stessa configurazione di sessione.Users must have the same permissions and be using the same session configuration. Per altre informazioni, vedere la sezione sull'esecuzione di un flusso di lavoro di Windows PowerShell nella guida introduttiva di questa funzionalità.For more information, see "Running a Windows PowerShell Workflow" in Getting Started with Windows PowerShell Workflow.

Miglioramenti nella gestione di caratteri specialiSpecial Character Handling Improvements

Per migliorare le capacità di Windows PowerShell 3.0 di interpretare e gestire correttamente i caratteri speciali, il parametro LiteralPath , che gestisce i caratteri speciali nei percorsi, è valido in quasi tutti i cmdlet con un parametro Path , inclusi i nuovi cmdlet Update-Help e Save-Help.To improve the ability of Windows PowerShell 3.0 to interpret and correctly handle special characters, the LiteralPath parameter, which handles special characters in paths, is valid on almost all cmdlets that have a Path parameter, including the new Update-Help and Save-Help cmdlets. Il parser include anche una logica speciale per migliorare la gestione del carattere apice inverso (`) e delle parentesi quadre nei nomi file e nei percorsi.The parser also includes special logic to improve handling of the backtick character (`) and square brackets in file names and paths.

Vedere ancheSee Also