about_Windows_PowerShell_5.0

DESCRIZIONE BREVE

Vengono descritte le nuove funzionalità incluse in Windows PowerShell 5.0.

DESCRIZIONE LUNGA

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 è compatibile con le versioni precedenti. 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.

Windows PowerShell 5.0 è installato per impostazione predefinita in Windows Server Technical Preview e Windows Technical Preview. 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. Prima di installare Windows Management Framework 5.0 Preview, assicurarsi di leggere i dettagli sul download e di soddisfare tutti i requisiti di sistema.

È anche possibile leggere le modifiche apportate a Windows PowerShell 5.0 in Novità in Windows PowerShell.

NUOVE FUNZIONALITÀ

Nuove funzionalità di 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. Le parole chiave Class, Enum ed altre sono state aggiunte al linguaggio di Windows PowerShell per supportare la nuova funzionalità. Per altre informazioni sull'utilizzo delle classi, vedere about_Classes.

  • In collaborazione con Microsoft Research è stato aggiunto il nuovo cmdlet ConvertFrom-String. ConvertFrom-String consente di estrarre e analizzare oggetti strutturati dal contenuto di stringhe di testo. Per altre informazioni, vedere ConvertFrom-String.

  • 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.

  • Un nuovo modulo, OneGet, consente di individuare e installare pacchetti software su Internet. Il modulo OneGet è un gestore o multiplexer di gestioni pacchetti esistenti (detti anche provider di pacchetti) per unificare la gestione dei pacchetti di Windows con una singola interfaccia Windows PowerShell.

  • Un nuovo modulo, PowerShellGet, consente di trovare, installare, pubblicare e aggiornare moduli e risorse DSC in PowerShell Resource Gallery o in un repository di moduli interno che è possibile configurare eseguendo il cmdlet Register-PSRepository.

  • I cmdlet New-Item, Remove-Item e Get-ChildItem sono stati migliorati per supportare la creazione e gestione di collegamenti simbolici. Il parametro ItemType per New-Item accetta un nuovo valore, SymbolicLink. Per creare collegamenti simbolici, è ora sufficiente una sola riga con il cmdlet New-Item.

  • 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. 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.

  • 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. 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.

  • 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. I cmdlet Get-CmsMessage, Protect-CmsMessage e Unprotect-CmsMessage sono stati aggiunti al modulo Microsoft.PowerShell.Security.

  • 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. Per eseguire il debug di spazi di esecuzione arbitrari, ovvero spazi di esecuzione che non sono lo spazio di esecuzione predefinito per una console di Windows PowerShell o Windows PowerShell sessione ISE, Windows PowerShell consente di impostare punti di interruzione in uno script e di aggiungere punti di interruzione impedisce l'esecuzione dello script fino a quando non è possibile collegare un debugger per eseguire il debug dello script dello spazio di esecuzione. È 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.

  • 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. 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. Eseguire Exit-PSHostProcess per scollegarsi dal processo dopo aver terminato il debug dello script all'interno del processo.

  • È stato aggiunto il nuovo cmdlet Wait-Debugger al modulo Microsoft.PowerShell.Utility. È possibile eseguire Wait-Debugger per interrompere uno script nel debugger prima di eseguire l'istruzione successiva nello 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. È 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.

  • È 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.

  • È stato aggiunto il nuovo stato AtBreakpoint per i processi di Windows PowerShell. Lo stato AtBreakpoint si applica quando un processo esegue uno script che include punti di interruzione e lo script raggiunge un punto di interruzione. 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.

  • Windows PowerShell 5.0 implementa il supporto per più versioni di un singolo modulo di Windows PowerShell nella stessa cartella in $PSModulePath. È stata aggiunta una proprietà RequiredVersion alla classe ModuleSpecification per ottenere la versione desiderata di un modulo; questa proprietà si escludono a vicenda con la proprietà ModuleVersion. La proprietà RequiredVersion è ora supportata come parte del valore del parametro FullyQualifiedName dei cmdlet Get-Module, Import-Module e Remove-Module.

  • È ora possibile eseguire la convalida della versione del modulo eseguendo il cmdlet Test-ModuleManifest.

  • I risultati del cmdlet Get-Command includono ora una colonna Version. È stata aggiunta una nuova proprietà Version alla classe CommandInfo. Get-Command mostra i comandi da più versioni dello stesso modulo. La proprietà Version è inclusa anche nelle classi derivate di CmdletInfo: CmdletInfo e ApplicationInfo.

  • Il nuovo cmdlet Get-ItemPropertyValue consente di ottenere il valore di una proprietà senza usare la notazione del punto. 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:

    $keypath = 'HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine'
    (Get-ItemProperty -Path $keypath -Name  ApplicationBase).ApplicationBase
    

    A partire da Windows PowerShell 5.0, è possibile eseguire

    $keypath = 'HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine'
    Get-ItemPropertyValue -Path $keypath -Name ApplicationBase
    
  • Un nuovo modulo NetworkSwitch contiene i cmdlet che consentono di applicare commutatori, reti LAN virtuali (VLAN) e configurazione della porta del commutatore di rete di livello 2 di base per Windows Server 2012 R2 (e versioni successive) commutatori di rete certificati logo.

  • È stato aggiunto il parametro FullyQualifiedName ai cmdlet Import-Module e Remove-Module per supportare l'archiviazione di più versioni di un singolo modulo.

  • Per i cmdlet Save-Help, Update-Help, Import-PSSession, Export-PSSession e Get-Command è disponibile il nuovo parametro FullyQualifiedModule di tipo ModuleSpecification. Aggiungere questo parametro per specificare un modulo usando il nome completo.

  • Il valore di $PSVersionTable.PSVersion è stato aggiornato alla versione 5.0.

Nuove funzionalità di 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). 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. È ora possibile usare classi per definire le risorse DSC, senza che sia richiesto un file MOF o una sottocartella DSCResource nella cartella del modulo. Un file di modulo di Windows PowerShell può contenere più classi di risorse DSC.

  • È stato aggiunto il nuovo parametro ThrottleLimit per i cmdlet seguenti nel modulo PSDesiredStateConfiguration. Aggiungere il parametro ThrottleLimit per specificare il numero di computer o dispositivi di destinazione a cui si vuole applicare il comando contemporaneamente.

    • Get-DscConfiguration
    • Get-DscConfigurationStatus
    • Get-DscLocalConfigurationManager
    • Restore-DscConfiguration
    • Test-DscConfiguration
    • Compare-DscConfiguration
    • Publish-DscConfiguration
    • Set-DscLocalConfigurationManager
    • Start-DscConfiguration
    • Update-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. È possibile usare questa posizione centrale per archiviare gli errori di configurazione DSC che si sono verificati per qualsiasi server nell'ambiente. Dopo aver definito il server di report nella metaconfigurazione, tutti gli errori vengono inviati al server di report e quindi archiviati in un 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.

  • I miglioramenti di Windows PowerShell ISE facilitano la creazione di risorse DSC. È ora possibile eseguire le operazioni seguenti.

    • 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.
    • Usare il completamento automatico per le proprietà della risorsa di tipo enumeration.
    • Completamento automatico per la proprietà DependsOn della risorsa DSC, in base alle altre istanze della risorsa nella configurazione.
    • Usare il completamento tramite TAB migliorato per i valori delle proprietà della risorsa.
  • Il nuovo attributo DscLocalConfigurationManager definisce un blocco di configurazione come metaconfigurazione, usata per configurare Gestione configurazione locale DSC. Questo attributo limita una configurazione ai soli elementi per configurare Gestione configurazione locale DSC. Durante l'elaborazione, questa configurazione genera un file *.meta.mof che viene quindi inviato ai nodi di destinazione appropriati eseguendo il cmdlet Set-DscLocalConfigurationManager.

  • Le configurazioni parziali sono ora consentite in Windows PowerShell 5.0. È possibile recapitare i documenti di configurazione a un nodo in frammenti. Affinché un nodo riceva più frammenti di un documento di configurazione, il Configuration Manager locale del nodo deve essere prima impostato per specificare i frammenti previsti.

  • La sincronizzazione tra computer è una novità di DSC in Windows PowerShell 5.0. Usando le risorse WaitFor* predefinite (WaitForAll, WaitForAny e WaitForSome), è ora possibile specificare le dipendenze tra i computer durante l'esecuzione della configurazione, senza orchestrazioni esterne. Queste risorse consentono la sincronizzazione tra nodi tramite connessioni CIM sul protocollo WS-Man. Una configurazione può attendere la modifica dello stato di una risorsa specifica di un altro computer.

  • 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. Per altre informazioni su JEA, inclusa la posizione da cui è possibile scaricare la risorsa xJEA DSC, vedere Just Enough Administration.

  • Sono stati aggiungi i nuovi cmdlet seguenti al modulo PSDesiredStateConfiguration.

    • Il nuovo cmdlet Get-DscConfigurationStatus ottiene informazioni generali sullo stato di configurazione da un nodo di destinazione. È possibile ottenere lo stato dell'ultima configurazione o di tutte.
    • Il nuovo cmdlet Compare-DscConfiguration confronta una configurazione specificata con lo stato effettivo di uno o più nodi di destinazione.
    • Il nuovo cmdlet Publish-DscConfiguration copia un file di configurazione con estensione mof in un nodo di destinazione, ma non applica la configurazione. La configurazione viene applicata durante il passaggio di controllo della coerenza successivo o quando si esegue il cmdlet Update-DscConfiguration.
    • 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.
    • Il nuovo cmdlet Update-DscConfiguration forza l'elaborazione di una configurazione. Se Gestione configurazione locale è in modalità pull, il cmdlet recupera la configurazione dal server di pull prima di applicarla.

Nuove funzionalità di Windows PowerShell ISE

  • È ora possibile modificare script e file di Windows PowerShell remoti 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>. 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.
  • Il cmdlet Start-Transcript è ora supportato in Windows PowerShell ISE.
  • È ora possibile eseguire il debug di script remoti 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.

Nuove funzionalità dei servizi Web di Windows PowerShell (Estensione IIS OData di gestione)

  • A partire da Windows PowerShell 5.0, è possibile generare un set di cmdlet Windows PowerShell in base alle funzionalità esposte da un determinato endpoint OData eseguendo il cmdlet Export-ODataEndpointProxy.

Correzioni di bug importanti 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.

Per altre informazioni su Windows PowerShell 5.0, visitare i siti Web seguenti:

VEDERE ANCHE

about_Classes

about_Debuggers

about_Desired_State_Configuration

about_Updatable_Help

Save-Help

Get-Module

Debug-Job

Update-Help

Get-Process

Remove-Computer

Set-ExecutionPolicy

Add-Computer

ConvertFrom-String

Invoke-RestMethod

Set-JobTrigger

Set-ScheduledJob

New-JobTrigger

Register-ScheduledJob

Enable-JobTrigger

Disable-JobTrigger

PAROLE CHIAVI

Novità di Windows PowerShell 5.0