about_Windows_PowerShell_5.0

DESCRIÇÃO BREVE

Descreve os novos recursos incluídos no Windows PowerShell 5.0.

DESCRIÇÃO LONGA

O Windows PowerShell 5.0 inclui recursos novos importantes que estendem e melhoram o uso, bem como permitem controlar e gerenciar 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 projetados para o Windows PowerShell 4.0, o Windows PowerShell 3.0 e o Windows PowerShell 2.0 geralmente funcionam no Windows PowerShell 5.0 sem alterações.

Windows PowerShell 5.0 é instalado por padrão em Windows Server Technical Preview e Windows Technical Preview. Para instalar o Windows PowerShell 5.0 em Windows Server 2012 R2, Windows 8.1 Enterprise ou Windows 8.1 Pro, baixe e instale o Windows Management Framework 5.0. Certifique-se de ler os detalhes de download e atender a todos os requisitos de 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 no What's New no Windows PowerShell.

NOVOS RECURSOS

Novos recursos no Windows PowerShell

  • No Windows PowerShell 5.0, você pode desenvolver usando classes, usando sintaxe formal e semântica semelhantes a outras linguagens de programação orientadas a objeto. Class, Enum e outras palavras-chave foram adicionadas à linguagem do 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 o 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, o Microsoft.PowerShell.Archive, inclui cmdlets que permitem compactar arquivos e pastas em arquivos compactados (também conhecido como ZIP), extrair arquivos de arquivos ZIP existentes e atualizar arquivos ZIP com versões mais recentes dos arquivos compactados neles.

  • Um novo módulo, 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 de 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, é possível criar links simbólicos em uma única linha simples com o cmdlet New-Item.

  • A transcrição do Windows PowerShell foi aperfeiçoada 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 geral do sistema) podem ser configuradas habilitando a configuração Política de Grupo de Ativar Transcrição do PowerShell encontrada em Modelos Administrativos/Componentes do Windows/Windows PowerShell.

  • O novo recurso de rastreamento de script detalhado permite habilitar o acompanhamento detalhado e a análise de uso de scripts do Windows PowerShell em um sistema. Depois de habilitar o rastreamento de script detalhado, o Windows PowerShell registra em log todos os blocos de script no log de eventos do ETW (Rastreamento de Eventos para Windows), Microsoft-Windows-PowerShell/Operational.

  • No Windows PowerShell 5.0 os cmdlets da Sintaxe de Mensagem Criptografada dão suporte à criptografia e decriptografia de conteúdo usando o formato padrão da IETF para proteger as mensagens criptograficamente, conforme documentado pelo RFC5652. Os cmdlets Get-CmsMessage, Protect-CmsMessage e Unprotect-CmsMessage foram adicionados ao módulo Microsoft.PowerShell.Security.

  • Os novos cmdlets no módulo do 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 Windows PowerShell ou Windows PowerShell sessão ISE - Windows PowerShell permite definir pontos de interrupção em um script e adicionar pontos de interrupção impedem a execução do script até que você possa anexar um depurador para depurar o script do runspace. Suporte à depuração aninhada de runspaces arbitrários foi adicionado ao depurador de script do Windows PowerShell para runspaces.

  • 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, em seguida, execute Get-Runspace para retornar os runspaces ativos dentro do processo. Execute Exit-PSHostProcess para desanexar do processo quando tiver terminado de depurar o script dentro do processo.

  • Um novo cmdlet Wait-Debugger foi adicionado ao módulo Microsoft.PowerShell.Utility. Você pode executar o 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 com Tab ou comando e você pode depurar funções de fluxo de trabalho aninhadas. Você agora pode pressionar Ctrl+Break para inserir o depurador em um script em execução, em sessões tanto locais quanto remotas, e em um script de fluxo de trabalho.

  • Um cmdlet de Debug-Job foi adicionado ao módulo Microsoft.PowerShell.Core para depurar a execução de scripts de trabalho para o Fluxo de Trabalho do Windows PowerShell, a tela de fundo e trabalhos em execução em sessões remotas.

  • Um novo estado, AtBreakpoint, foi adicionado a trabalhos do Windows PowerShell. O estado AtBreakpoint aplica-se quando um trabalho está executando um script que inclui definir pontos de interrupção 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 a 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 é possível realizar a validação da versão do módulo executando o cmdlet Test-ModuleManifest.

  • Resultados do cmdlet Get-Command agora exibem uma coluna Version; uma nova propriedade Version foi adicionada à classe CommandInfo. Get-Command mostra os comandos de várias versões do mesmo módulo. A propriedade Version também faz parte de classes derivadas de CmdletInfo: CmdletInfo e ApplicationInfo.

  • Um novo cmdlet Get-ItemPropertyValue permite obter o valor de uma propriedade sem usar a notação de ponto. Por exemplo, nas versões mais antigas do Windows PowerShell, você pode executar o comando a seguir para obter o valor da propriedade Base do Aplicativo da chave do Registro do PowerShellEngine:

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

    Começando no Windows PowerShell 5.0, você pode executar

    $keypath = 'HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine'
    Get-ItemPropertyValue -Path $keypath -Name ApplicationBase
    
  • Um novo módulo NetworkSwitch contém cmdlets que permitem aplicar comutador, LAN virtual (VLAN) e configuração básica de porta de comutador de rede camada 2 para Windows Server 2012 comutadores de rede certificados por logotipo 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 este parâmetro para especificar um módulo pelo 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 da DSC (Configuração de Estado Desejado) do Windows PowerShell usando classes. Import-DscResource agora é uma palavra-chave realmente dinâmica; o Windows PowerShell analisa o módulo raiz do módulo especificado, pesquisando classes que contêm o atributo DscResource. Agora você pode usar classes para definir recursos de DSC, nos quais não é necessária um arquivo MOF nem uma subpasta DSCResource da pasta de módulo. Um arquivo de módulo do Windows PowerShell pode conter várias classes de recursos de DSC.

  • Foi adicionado um novo parâmetro, ThrottleLimit, para os seguintes cmdlets no módulo PSDesiredStateConfiguration. Adicione o parâmetro ThrottleLimit para especificar o número de computadores de destino ou dispositivos nos quais você deseja que o comando trabalhe ao mesmo tempo.

    • Get-DscConfiguration
    • Get-DscConfigurationStatus
    • Get-DscLocalConfigurationManager
    • Restore-DscConfiguration
    • Test-DscConfiguration
    • Compare-DscConfiguration
    • Publish-DscConfiguration
    • Set-DscLocalConfigurationManager
    • Start-DscConfiguration
    • Update-DscConfiguration
  • Com os relatórios de erro centralizados de DSC, as informações de erros não são registradas apenas no evento de log, mas podem ser enviadas para um local central para análise posterior. Você pode usar esse local central para armazenar os erros de configuração de DSC que ocorreram para qualquer servidor em seu ambiente. Depois que o servidor de relatório for definido na metaconfiguração, todos os erros serão enviados para o servidor de relatório e armazenados em um banco de dados. Você pode configurar essa funcionalidade independentemente de um nó de destino estar ou não configurado para receber as configurações de um servidor de pull.

  • Aprimoramentos para o ISE do Windows PowerShell a fim de facilitar a criação de recursos de DSC. Agora você pode fazer o seguinte.

    • Liste todos os recursos de DSC dentro de um bloco de configuração ou de nó inserindo Ctrl+Espaço em uma linha em branco no bloco.
    • O preenchimento automático das propriedades de recurso é do tipo enumeração.
    • O preenchimento automático da propriedade DependsOn dos recursos DSC baseia-se em outras instâncias de recurso na configuração.
    • Preenchimento com tab dos valores de propriedade de recurso aprimorado.
  • Um novo atributo DscLocalConfigurationManager designa um bloco de configuração como uma metaconfiguração, que é usada para configurar o Gerenciador de Configurações Local da DSC. Esse atributo restringe uma configuração para que ela contenha somente os itens que configuram o Gerenciador de Configurações Local do DSC. 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. É possível entregar documentos de configuração para um nó em fragmentos. Para que um nó receba vários fragmentos de um documento de configuração, o Configuration Manager Local do nó deve ser definido primeiro para especificar os fragmentos esperados.

  • Sincronização entre computadores é a novidade na DSC no Windows PowerShell 5.0. Com os recursos internos WaitFor* (WaitForAll, WaitForAny e WaitForSome), agora é possível especificar dependências entre computadores durante execuções de configuração, sem a orquestração externa. Estes recursos fornecem sincronização de nó para nó usando conexões CIM por meio do protocolo WS-Man. Uma configuração pode esperar que o estado de recurso específico de outro computador mude.

  • JEA (Just Enough Administration), um novo recurso de segurança de delegação, aproveita a DSC e os runspaces restritos do Windows PowerShell para ajudar a proteger as empresas contra perda de dados ou o comprometimento pelos funcionários, intencional ou não. Para obter mais informações sobre o JEA, incluindo onde você pode baixar o recurso xJEA DSC, confira Just Enough Administration.

  • Os seguintes cmdlets novos foram adicionados ao módulo PSDesiredStateConfiguration.

    • Um novo cmdlet Get-DscConfigurationStatus obtém informações gerais sobre o status de configuração de um nó de destino. Você pode obter o status do ú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 cmdlet Publish-DscConfiguration copia um arquivo MOF de configuração em um nó de destino, mas não aplica a configuração. A configuração é aplicada durante a próxima passagem de consistência ou na execução do cmdlet Update-DscConfiguration.
    • Um novo cmdlet Test-DscConfiguration permite que você verifique 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 coincidir com a configuração desejada.
    • Um novo cmdlet Update-DscConfiguration força uma configuração a ser processada. Se o Gerenciador de Configurações Local estiver no modo pull, o cmdlet obterá a configuração do servidor pull antes de aplicá-la.

Novos recursos no ISE do Windows PowerShell

  • Agora você pode editar scripts e arquivos de Windows PowerShell remotos em uma cópia local do ISE 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 Windows PowerShell que são armazenados na opção de instalação Server Core do Windows Server, em que o ISE do Windows PowerShell não pode ser executado.
  • Agora há suporte para o cmdlet Start-Transcript no ISE do Windows PowerShell.
  • Agora você pode depurar scripts remotos no ISE do Windows PowerShell.
  • Um novo comando de menu, Interromper Tudo (Ctrl+B), interrompe o depurador de scripts em execução local e remota.

Novos recursos nos Serviços Web do Windows PowerShell (Extensão do IIS do Management OData)

  • A partir do Windows PowerShell 5.0, você pode gerar um conjunto de cmdlets 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 de COM, que proporciona melhorias significativas no desempenho quando você estiver trabalhando com objetos COM.

Para obter mais informações sobre Windows PowerShell 5.0, visite os seguintes sites:

CONSULTE TAMBÉM

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

KEYWORDS

Novidades sobre o Windows PowerShell 5.0