Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
BREVE DESCRIÇÃO
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 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. Certifique-se de ler os detalhes do download e atender 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, sintaxe formal e semântica semelhantes a outras linguagens de programação orientadas a objetos. Classe, 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 a Microsoft Research, um novo cmdlet, ConvertFrom-String, foi adicionado. ConvertFrom-String permite extrair e analisar objetos estruturados do conteúdo de cadeias 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 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 do Windows PowerShell.
Um novo módulo, PowerShellGet, permite localizar, instalar, publicar e atualizar módulos e recursos 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 Windows PowerShell ISE), 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 de Política de Grupo Ativar 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 Rastreamento de Eventos para Windows (ETW), Microsoft-Windows-PowerShell/Operacional.
A partir do Windows PowerShell 5.0, os novos cmdlets de Sintaxe de Mensagem Criptográfica oferecem 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 espaço de execução e iniciar e parar a depuração em um espaço de execução. Para depurar espaços de execução arbitrários - ou seja, espaços de execução que não são o espaço de execução padrão para um console do Windows PowerShell ou uma sessão 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 de espaço de execução. O suporte de 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.
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 espaços de execução 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 parar um script no depurador antes de executar a próxima instrução no script.
O depurador de fluxo de trabalho do Windows PowerShell agora oferece suporte à conclusão de comandos ou guias 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 aplica-se 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 suporte para várias versões de um único módulo do Windows PowerShell na mesma pasta no $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 de classes derivadas de CmdletInfo: CmdletInfo e ApplicationInfo.
Um novo cmdlet Get-ItemPropertyValue permite obter o valor de uma propriedade sem usar 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 Application Base 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 switch, LAN virtual (VLAN) e configuração básica de porta de switch 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 este parâmetro para especificar um módulo pelo 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 definir recursos de Configuração de Estado Desejado (DSC) 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 recursos DSC.
Um novo parâmetro, ThrottleLimit, foi adicionado aos seguintes cmdlets 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 DSC centralizado, as informações de erro avançadas não são apenas registradas no log de eventos, mas também podem ser enviadas para um local central para análise posterior. Você pode usar esse local central para armazenar erros de configuração 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 extrair configurações de um servidor pull.
Os aprimoramentos do Windows PowerShell ISE facilitam a criação de recursos DSC. Agora você pode fazer o seguinte.
- Liste todos os recursos DSC dentro de um bloco de configuração ou nó digitando Ctrl+Espaço em uma linha em branco dentro do bloco .
- Conclusão automática nas propriedades do recurso do tipo de enumeração.
- Conclusão automática na propriedade DependsOn dos recursos DSC, com base em outras instâncias de recursos na configuração.
- Conclusão de tabulação melhorada dos valores de propriedade do recurso.
Um novo atributo DscLocalConfigurationManager designa um bloco de configuração como uma metaconfiguração, que é usada para configurar o DSC Local Configuration Manager. Este 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ção Local do nó deve ser definido primeiro para especificar os fragmentos esperados.
A sincronização entre computadores é nova no 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 nó a 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.
Just Enough Administration (JEA), um novo recurso de segurança de delegação, aproveita os espaços de execução restritos do DSC e do Windows PowerShell para ajudar a proteger as empresas contra perda de dados ou comprometimento por funcionários, seja intencional ou não. Para obter mais informações sobre JEA, incluindo onde você pode baixar o recurso xJEA DSC, consulte Administração apenas suficiente.
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 da 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 o próximo passo 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 uma configuração a ser processada. Se o Gerenciador de Configuração Local estiver no modo de recebimento, o cmdlet obterá a configuração do servidor pull antes de aplicá-la.
Novos recursos no Windows PowerShell ISE
- Agora você pode editar scripts e arquivos remotos do Windows PowerShell em uma cópia local do Windows PowerShell ISE, executando Enter-PSSession para iniciar uma sessão remota no computador que está armazenando os arquivos que deseja editar e, em seguida, executando
PSEdit <path and file name on the remote computer>o . 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 Windows PowerShell ISE não pode ser executado. - O cmdlet Start-Transcript agora tem suporte no Windows PowerShell ISE.
- Agora você pode depurar scripts remotos no Windows PowerShell ISE.
- Um novo comando de menu, Quebrar tudo (Ctrl+B), invade o depurador para scripts locais e executados remotamente.
Novos recursos nos Serviços Web do Windows PowerShell (Extensão 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 ao Windows PowerShell
VER TAMBÉM
about_Desired_State_Configuration
PALAVRAS-CHAVE
O que há de novo no Windows PowerShell 5.0