Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
DESCRIÇÃO BREVE
Descreve os novos recursos incluídos no Windows PowerShell 5.0.
DESCRIÇÃO LONGA
O Windows PowerShell 5.0 inclui novos recursos significativos que estendem seu uso, melhoram sua usabilidade e permitem que você controle e gerencie ambientes baseados no Windows de forma mais fácil e abrangente.
O Windows PowerShell 5.0 é compatível com versões anteriores. Cmdlets, provedores, módulos, snap-ins, scripts, funções e perfis que foram projetados para Windows PowerShell 4.0, Windows PowerShell 3.0 e Windows PowerShell 2.0 geralmente funcionam no Windows PowerShell 5.0 sem alterações.
O Windows PowerShell 5.0 é instalado por padrão no Windows Server Technical Preview e no Windows Technical Preview. Para instalar o Windows PowerShell 5.0 no Windows Server 2012 R2, Windows 8.1 Enterprise ou Windows 8.1 Pro, baixe e instale o Windows Management Framework 5.0. Leia os detalhes do download e atenda a todos os requisitos do sistema antes de instalar o Windows Management Framework 5.0 Preview.
Você também pode ler sobre as alterações no Windows PowerShell 5.0 em Novidades no Windows PowerShell.
NOVOS RECURSOS
Novos recursos no Windows PowerShell
A partir do Windows PowerShell 5.0, você pode desenvolver usando classes, usando sintaxe formal e semântica semelhantes a outras linguagens de programação orientadas a objetos. Classe, enumeração e outras palavras-chave foram adicionadas à linguagem Windows PowerShell para dar suporte ao novo recurso. Para obter mais informações sobre como trabalhar com classes, consulte about_Classes.
Em colaboração com a Microsoft Research, um novo cmdlet, ConvertFrom-String, foi adicionado. ConvertFrom-String permite extrair e analisar objetos estruturados do conteúdo de cadeias de caracteres de texto. Para obter mais informações, consulte ConvertFrom-String.
Um novo módulo, Microsoft.PowerShell.Archive, inclui cmdlets que permitem compactar arquivos e pastas em arquivos compactados (também conhecidos como ZIP), extrair arquivos de arquivos ZIP existentes e atualizar arquivos ZIP com versões mais recentes de arquivos compactados dentro deles.
Um novo módulo, o OneGet, permite descobrir e instalar pacotes de software na Internet. O módulo OneGet é um gerenciador ou multiplexador de gerenciadores de pacotes existentes (também chamados de provedores de pacotes) para unificar o gerenciamento de pacotes do Windows com uma única interface do Windows PowerShell.
Um novo módulo, PowerShellGet, permite localizar, instalar, publicar e atualizar módulos e recursos de DSC na Galeria de Recursos do PowerShell ou em um repositório de módulo interno que você pode configurar executando o cmdlet Register-PSRepository.
New-Item, Remove-Item e Get-ChildItem foram aprimorados para dar suporte à criação e ao gerenciamento de links simbólicos. O parâmetro ItemType para New-Item aceita um novo valor, SymbolicLink. Agora você pode criar links simbólicos em uma única linha executando o cmdlet New-Item.
A transcrição do Windows PowerShell foi aprimorada para ser aplicada a todos os aplicativos de hospedagem (como o ISE do Windows PowerShell), além do host do console (powershell.exe). As opções de transcrição (incluindo a habilitação de uma transcrição em todo o sistema) podem ser configuradas habilitando a configuração Ativar Política de Grupo de Transcrição do PowerShell, encontrada em Modelos Administrativos/Componentes do Windows/Windows PowerShell.
Um novo recurso de rastreamento de script detalhado permite habilitar o rastreamento e a análise detalhados do uso de scripts do Windows PowerShell em um sistema. Depois de habilitar o rastreamento de script detalhado, o Windows PowerShell registra todos os blocos de script no log de eventos do ETW (Rastreamento de Eventos para Windows), Microsoft-Windows-PowerShell/Operational.
A partir do Windows PowerShell 5.0, os novos cmdlets de Sintaxe de Mensagem Criptográfica dão suporte à criptografia e descriptografia de conteúdo usando o formato padrão IETF para proteger criptograficamente as mensagens, conforme documentado pelo RFC5652. Os cmdlets Get-CmsMessage, Protect-CmsMessage e Unprotect-CmsMessage foram adicionados ao módulo Microsoft.PowerShell.Security.
Novos cmdlets no módulo Microsoft.PowerShell.Utility, Get-Runspace, Debug-Runspace, Get-RunspaceDebug, Enable-RunspaceDebug e Disable-RunspaceDebug, permitem definir opções de depuração em um runspace e iniciar e parar a depuração em um runspace. Para depurar runspaces arbitrários, ou seja, runspaces que não são o runspace padrão para um console do Windows PowerShell ou uma sessão do ISE do Windows PowerShell, o Windows PowerShell permite definir pontos de interrupção em um script e adicionar pontos de interrupção para interromper a execução do script até que você possa anexar um depurador para depurar o script do runspace. O suporte à depuração aninhada para espaços de execução arbitrários foi adicionado ao depurador de script do Windows PowerShell para espaços de execução.
Os novos cmdlets Enter-PSHostProcess e Exit-PSHostProcess permitem depurar scripts do Windows PowerShell em processos separados do processo atual que está sendo executado no console do Windows PowerShell. Execute Enter-PSHostProcess para inserir ou anexar a uma ID de processo específica e, em seguida, execute Get-Runspace para retornar os runspaces ativos dentro do processo. Execute Exit-PSHostProcess para desanexar do processo quando terminar de depurar o script dentro do processo.
Um novo cmdlet Wait-Debugger foi adicionado ao módulo Microsoft.PowerShell.Utility. Você pode executar Wait-Debugger para interromper um script no depurador antes de executar a próxima instrução no script.
O depurador de fluxo de trabalho do Windows PowerShell agora dá suporte ao preenchimento de comando ou tabulação, e você pode depurar funções de fluxo de trabalho aninhadas. Agora você pode pressionar Ctrl+Break para inserir o depurador em um script em execução, em sessões locais e remotas e em um script de fluxo de trabalho.
Um cmdlet Debug-Job foi adicionado ao módulo Microsoft.PowerShell.Core para depurar scripts de trabalho em execução para o fluxo de trabalho do Windows PowerShell, em segundo plano e trabalhos em execução em sessões remotas.
Um novo estado, AtBreakpoint, foi adicionado para trabalhos do Windows PowerShell. O estado AtBreakpoint se aplica quando um trabalho está executando um script que inclui pontos de interrupção definidos e o script atingiu um ponto de interrupção. Quando um trabalho é interrompido em um ponto de interrupção de depuração, você deve depurar o trabalho executando o cmdlet Debug-Job.
O Windows PowerShell 5.0 implementa o suporte para várias versões de um único módulo do Windows PowerShell na mesma pasta em $PSModulePath. Uma propriedade RequiredVersion foi adicionada à classe ModuleSpecification para ajudá-lo a obter a versão desejada de um módulo; essa propriedade é mutuamente exclusiva com a propriedade ModuleVersion. Agora há suporte para RequiredVersion como parte do valor do parâmetro FullyQualifiedName dos cmdlets Get-Module, Import-Module e Remove-Module.
Agora você pode executar a validação da versão do módulo executando o cmdlet Test-ModuleManifest.
Os resultados do cmdlet Get-Command agora exibem uma coluna Version; uma nova propriedade Version foi adicionada à classe CommandInfo. Get-Command mostra comandos de várias versões do mesmo módulo. A propriedade Version também faz parte das classes derivadas de CmdletInfo: CmdletInfo e ApplicationInfo.
Um novo cmdlet Get-ItemPropertyValue permite que você obtenha o valor de uma propriedade sem usar a notação de ponto. Por exemplo, em versões mais antigas do Windows PowerShell, você pode executar o seguinte comando para obter o valor da propriedade Base do Aplicativo da chave do Registro PowerShellEngine:
$keypath = 'HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine' (Get-ItemProperty -Path $keypath -Name ApplicationBase).ApplicationBaseA partir do Windows PowerShell 5.0, você pode executar
$keypath = 'HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine' Get-ItemPropertyValue -Path $keypath -Name ApplicationBaseUm novo módulo NetworkSwitch contém cmdlets que permitem aplicar a configuração de comutador, LAN virtual (VLAN) e porta básica de comutador de rede de Camada 2 a comutadores de rede certificados pelo logotipo do Windows Server 2012 R2 (e versões posteriores).
O parâmetro FullyQualifiedName foi adicionado aos cmdlets Import-Module e Remove-Module, para dar suporte ao armazenamento de várias versões de um único módulo.
Save-Help, Update-Help, Import-PSSession, Export-PSSession e Get-Command têm um novo parâmetro, FullyQualifiedModule, do tipo ModuleSpecification. Adicione esse parâmetro para especificar um módulo por seu nome totalmente qualificado.
O valor de $PSVersionTable.PSVersion foi atualizado para 5.0.
Novos recursos na Configuração de Estado Desejado do Windows PowerShell
Os aprimoramentos de linguagem do Windows PowerShell permitem que você defina recursos de DSC (Configuração de Estado Desejado) do Windows PowerShell usando classes. Import-DscResource agora é uma verdadeira palavra-chave dinâmica; O Windows PowerShell analisa o módulo raiz do módulo especificado, procurando classes que contenham o atributo DscResource. Agora você pode usar classes para definir recursos DSC, nos quais nem um arquivo MOF nem uma subpasta DSCResource na pasta do módulo são necessários. Um arquivo de módulo do Windows PowerShell pode conter várias classes de recurso DSC.
Um novo parâmetro, ThrottleLimit, foi adicionado aos cmdlets a seguir no módulo PSDesiredStateConfiguration. Adicione o parâmetro ThrottleLimit para especificar o número de computadores ou dispositivos de destino nos quais você deseja que o comando funcione ao mesmo tempo.
- Get-DscConfiguration
- Get-DscConfigurationStatus
- Get-DscLocalConfigurationManager
- Restore-DscConfiguration
- Test-DscConfiguration
- Compare-DscConfiguration
- Publish-DscConfiguration
- Set-DscLocalConfigurationManager
- Start-DscConfiguration
- Update-DscConfiguration
Com o relatório de erros de DSC centralizado, as informações de erro avançadas não são apenas registradas no log de eventos, mas podem ser enviadas para um local central para análise posterior. Você pode usar esse local central para armazenar erros de configuração de DSC que ocorreram para qualquer servidor em seu ambiente. Depois que o servidor de relatório é definido na metaconfiguração, todos os erros são enviados para o servidor de relatório e, em seguida, armazenados em um banco de dados. Você pode configurar essa funcionalidade independentemente de um nó de destino estar ou não configurado para efetuar pull de configurações de um servidor de pull.
Melhorias no ISE do Windows PowerShell facilitam a criação de recursos de DSC. Agora você pode fazer o seguinte.
- Liste todos os recursos de DSC em um bloco de configuração ou nó inserindo Ctrl+Espaço em uma linha em branco dentro do bloco.
- Preenchimento automático em propriedades de recurso do tipo de enumeração.
- Conclusão automática na propriedade DependsOn de recursos de DSC, com base em outras instâncias de recurso na configuração.
- Aprimoramento da conclusão da tabulação de valores de propriedade de recurso.
Um novo atributo DscLocalConfigurationManager designa um bloco de configuração como uma metaconfiguração, que é usada para configurar o DSC Local Configuration Manager. Esse atributo restringe uma configuração a conter apenas itens que configuram o DSC Local Configuration Manager. Durante o processamento, essa configuração gera um arquivo *.meta.mof que é enviado para os nós de destino apropriados executando o cmdlet Set-DscLocalConfigurationManager.
Configurações parciais agora são permitidas no Windows PowerShell 5.0. Você pode entregar documentos de configuração a um nó em fragmentos. Para que um nó receba vários fragmentos de um documento de configuração, o Gerenciador de Configurações Local do nó deve ser definido primeiro para especificar os fragmentos esperados.
A sincronização entre computadores é nova na DSC no Windows PowerShell 5.0. Usando os recursos internos do WaitFor* (WaitForAll, WaitForAny e WaitForSome), agora você pode especificar dependências entre computadores durante as execuções de configuração, sem orquestrações externas. Esses recursos fornecem sincronização de nó para nó usando conexões CIM no protocolo WS-Man. Uma configuração pode aguardar a alteração do estado de recurso específico de outro computador.
O Just Enough Administration (JEA), um novo recurso de segurança de delegação, aproveita os runspaces restritos do DSC e do Windows PowerShell para ajudar a proteger as empresas contra perda de dados ou comprometimento por parte dos funcionários, intencionais ou não. Para obter mais informações sobre o JEA, incluindo onde você pode baixar o recurso xJEA DSC, consulte Administração Just Enough.
Os novos cmdlets a seguir foram adicionados ao módulo PSDesiredStateConfiguration.
- Um novo cmdlet Get-DscConfigurationStatus obtém informações de alto nível sobre o status de configuração de um nó de destino. Você pode obter o status da última ou de todas as configurações.
- Um novo cmdlet Compare-DscConfiguration compara uma configuração especificada com o estado real de um ou mais nós de destino.
- Um novo cmdlet Publish-DscConfiguration copia um arquivo MOF de configuração para um nó de destino, mas não aplica a configuração. A configuração é aplicada durante a próxima passagem de consistência ou quando você executa o cmdlet Update-DscConfiguration.
- Um novo cmdlet Test-DscConfiguration permite verificar se uma configuração resultante corresponde à configuração desejada, retornando True se a configuração corresponder à configuração desejada ou False se a configuração real não corresponder à configuração desejada.
- Um novo cmdlet Update-DscConfiguration força o processamento de uma configuração. Se o Gerenciador de Configurações Local estiver no modo de pull, o cmdlet obterá a configuração do servidor de pull antes de aplicá-la.
Novos recursos no ISE do Windows PowerShell
- Agora você pode editar scripts e arquivos remotos do Windows PowerShell em uma cópia local do ISE do Windows PowerShell, executando Enter-PSSession para iniciar uma sessão remota no computador que está armazenando os arquivos que você deseja editar e, em seguida, executando
PSEdit <path and file name on the remote computer>. Esse recurso facilita a edição de arquivos do Windows PowerShell armazenados na opção de instalação Server Core do Windows Server, onde o ISE do Windows PowerShell não pode ser executado. - O cmdlet Start-Transcript agora tem suporte no ISE do Windows PowerShell.
- Agora você pode depurar scripts remotos no ISE do Windows PowerShell.
- Um novo comando de menu, Quebrar Tudo (Ctrl+B), entra no depurador para scripts locais e em execução remota.
Novos recursos nos Serviços Web do Windows PowerShell (Extensão do IIS OData de Gerenciamento)
- A partir do Windows PowerShell 5.0, você pode gerar um conjunto de cmdlets do Windows PowerShell com base na funcionalidade exposta por um determinado ponto de extremidade OData, executando o cmdlet Export-ODataEndpointProxy.
Correções de bugs notáveis no Windows PowerShell 5.0
- O Windows PowerShell 5.0 inclui uma nova implementação COM, que oferece melhorias significativas de desempenho quando você está trabalhando com objetos COM.
Para obter mais informações sobre o Windows PowerShell 5.0, visite os seguintes sites:
- Site de scripts do Windows PowerShell
- Blog da equipe do Windows PowerShell
- Acesso à Web do Windows PowerShell
VEJA TAMBÉM
about_Desired_State_Configuration
PALAVRAS-CHAVE
Novidades no Windows PowerShell 5.0