Notas de Versão do Windows Management Framework (WMF) 5.x
Alterações do WMF 5.0
- O PowerShell 5.0 adiciona um novo fluxo de Informações estruturado
- Melhorias no DSC, incluindo quatro novos recursos do DSC:
- WindowsFeatureSet
- WindowsOptionalFeatureSet
- ServiceSet
- Conjunto de Processos
- Administração Just Enough adicionada para ativar a administração baseada em funções através da comunicação remota do PowerShell
- O PowerShell 5.0 expande o idioma para incluir classes e enumerações definidas pelo utilizador
- Funcionalidades de depuração melhoradas no ISE do PowerShell e depuração remota adicionada
- Foram adicionados os módulos PowerShellGet e PackageManagement
- Registo e transcrições de scripts do PowerShell melhorados
- Adicionar cmdlets de Sintaxe de Mensagens Criptográficas
- O WMF 5.0 inclui o módulo NetworkSwitchManager para Windows
- Foi adicionado o módulo Microsoft.PowerShell.ODataUtils
- Foi adicionado suporte para o Registo de Inventário de Software (SIL)
- Cortar cmdlets novos ou atualizados em resposta a pedidos e problemas do utilizador
Alterações do WMF 5.1
O WMF 5.1 inclui os componentes do PowerShell, WMI, WinRM e Registo de Inventário de Software (SIL) que foram lançados com Windows Server 2016. O WMF 5.1 pode ser instalado no Windows 7, Windows 8.1, Windows Server 2008 R2, 2012 e 2012 R2 e fornece várias melhorias sobre o WMF 5.0, incluindo:
- Novos cmdlets
- Melhorias do PowerShellGet com a imposição de módulos assinados e a instalação de módulos JEA
- Adicionado suporte ao PackageManagement para Contentores, Configuração CBS, configuração com base em EXE, pacotes CAB
- Melhorias na depuração para classes DSC e PowerShell
- Melhorias de segurança, incluindo a imposição de módulos assinados de catálogo provenientes do Servidor de Solicitação e ao utilizar os cmdlets PowerShellGet
- Respostas a vários pedidos e problemas de utilizadores
Importante
Antes de instalar o WMF 5.1 no Windows Server 2008 ou Windows 7, confirme que o WMF 3.0 não está instalado. Para obter mais informações, consulte Pré-requisitos do WMF 5.1 para o Windows Server 2008 R2 SP1 e Windows 7 SP1.
Edições do PowerShell
A partir da versão 5.1, o PowerShell está disponível em diferentes edições que indicam diferentes conjuntos de funcionalidades e compatibilidade de plataforma.
- Edição Desktop: incorporada no .NET Framework e fornece compatibilidade com scripts e módulos de filtragem de versões do PowerShell a executar edições de requisitos de espaço total do Windows, tais como Server Core e o Ambiente de trabalho do Windows.
- Edição Core: incorporada no .NET Core e fornece compatibilidade com scripts e módulos de filtragem de versões do PowerShell a executar edições de requisitos de espaço reduzido do Windows, tais como Servidor Nano e o IoT do Windows.
Saiba mais sobre como utilizar as Edições do PowerShell
- Determinar a edição em execução do PowerShell com $PSVersionTable
- Filtrar Get-Module resultados por CompatiblePSEditions com o parâmetro PSEdition
- Impedir a execução de scripts, a menos que seja executada numa edição compatível do PowerShell
- Declarar a compatibilidade de um módulo para versões específicas do PowerShell
Cache de Análise de Módulos
A partir do WMF 5.1, o PowerShell fornece controlo sobre o ficheiro utilizado para colocar dados em cache sobre um módulo, como os comandos que exporta.
Por predefinição, esta cache é armazenada no ficheiro ${env:LOCALAPPDATA}\Microsoft\Windows\PowerShell\ModuleAnalysisCache
. Normalmente, a cache é lida no arranque enquanto procura um comando e é escrita num thread em segundo plano algum tempo depois de um módulo ser importado.
Para alterar a localização predefinida da cache, defina a variável de $env:PSModuleAnalysisCachePath
ambiente antes de iniciar o PowerShell. As alterações a esta variável de ambiente só afetarão os processos subordinados. O valor deve atribuir um nome a um caminho completo (incluindo nome de ficheiro) que o PowerShell tenha permissão para criar e escrever ficheiros. Para desativar a cache de ficheiros, defina este valor como uma localização inválida, por exemplo:
$env:PSModuleAnalysisCachePath = 'nul'
Isto define o caminho para um dispositivo inválido. Se o PowerShell não conseguir escrever no caminho, não é devolvido nenhum erro, mas pode ver o relatório de erros com um tracer:
Trace-Command -PSHost -Name Modules -Expression { Import-Module Microsoft.PowerShell.Management -Force }
Ao escrever a cache, o PowerShell irá procurar módulos que já não existem para evitar uma cache desnecessariamente grande. Por vezes, estas verificações não são desejáveis, caso em que pode desativá-las ao definir:
$env:PSDisableModuleAnalysisCacheCleanup = 1
A definição desta variável de ambiente entrará em vigor imediatamente no processo atual.
Especificar a versão do módulo
No WMF 5.1, using module
comporta-se da mesma forma que outras construções relacionadas com módulos no PowerShell.
Anteriormente, não tinha forma de especificar uma versão específica do módulo; se existirem várias versões presentes, tal resultou num erro.
No WMF 5.1:
Pode utilizar o ModuleSpecification Constructor (Hashtable).
Esta tabela de hash tem o mesmo formato
Get-Module -FullyQualifiedName
que .Exemplo:
using module @{ModuleName = 'PSReadLine'; RequiredVersion = '1.1'}
Se existirem várias versões do módulo, o PowerShell utiliza a mesma lógica
Import-Module
de resolução que e não devolve um erro– o mesmo comportamento queImport-Module
eImport-DscResource
.
Melhorias ao Pester
No WMF 5.1, a versão do Pester que é fornecida com o PowerShell foi atualizada de 3.3.5 para 3.4.0. Esta atualização permite um melhor comportamento para o Pester no Servidor Nano.
Pode rever as alterações em Pest ao inspecionar o CHANGELOG no repositório do GitHub.