Partilhar via


Novidades no Windows PowerShell 5.0

Windows PowerShell 5.0 inclui novas funcionalidades significativas que expandem a sua utilização, melhoram a sua utilização e permitem controlar e gerir ambientes baseados no Windows de forma mais fácil e abrangente.

Windows PowerShell 5.0 é retrocompatível. Cmdlets, fornecedores, módulos, snap-ins, scripts, funções e perfis concebidos para Windows PowerShell 4.0, Windows PowerShell 3.0 e Windows PowerShell 2.0 geralmente funcionam no Windows PowerShell 5.0 sem alterações.

Instalar o Windows PowerShell

Windows PowerShell 5.0 está instalado por predefinição no Windows Server 2016 Technical Preview e no Windows 10.

Para instalar o Windows PowerShell 5.0 no Windows Server 2012 R2, Windows 8.1 Enterprise ou Windows 8.1 Pro, transfira e instale o Windows Management Framework 5.0. Certifique-se de que lê os detalhes da transferência e cumpre todos os requisitos de sistema antes de instalar o Windows Management Framework 5.0.

Neste tópico

Windows PowerShell atualizações 4.0 no update rollup de novembro de 2014 (KB 3000850)

Muitas atualizações e melhorias ao Windows PowerShell Desired State Configuration (DSC) no Windows PowerShell 4.0 estão disponíveis no rollup de atualização de novembro de 2014 para Windows RT 8.1, Windows 8.1 e Windows Server 2012 R2 (KB3000850). Pode determinar se KB3000850 está instalado no seu sistema ao executar Get-Hotfix -Id KB3000850 no Windows PowerShell.

  • Atualizações a cmdlets existentes no módulo PSDesiredStateConfiguration

  • Novos cmdlets no módulo PSDesiredStateConfiguration

  • Melhoramentos de idioma

    • Agora, o DependsOn suporta recursos compostos.
    • O DependsOn suporta agora números em nomes de instâncias de recursos.
    • As expressões de nós que avaliam como vazias já não geram erros.
    • Um erro que ocorre se uma expressão de nó avaliar como vazia foi corrigido.
    • As configurações de chamadas funcionam agora na consola do Windows PowerShell.
  • Melhorias no modo de solicitação

    • O modo Pull suporta agora todos os ficheiros ZIP.
    • AllowModuleOverwrite agora funciona corretamente.
  • Melhorias na resiliência

    • O Novo DebugMode permite-lhe recarregar módulos de recursos.
    • Se ocorrer uma falha de configuração, o ficheiro pending.mof não será eliminado.
    • O Configuration Manager Local (LCM) é agora mais resiliente quando as definições de metaconfiguração ficam danificadas.
  • Melhoramentos de diagnóstico

    • É apresentado um aviso quando o LCM define o temporizador para definições diferentes das que especificou.
    • Os ficheiros de registo de erros contêm agora a pilha de chamadas para recursos Windows PowerShell.
  • Melhorias na flexibilidade

    • O recurso LocalConfigurationManager tem uma nova propriedade, ActionAfterReboot.
      • ContinueConfiguration (valor predefinido): retoma automaticamente uma configuração após o reinício de um nó de destino.
      • StopConfiguration: não retome automaticamente uma configuração após o reinício de um nó.
    • Uma execução de consistência pode agora ocorrer com mais frequência do que uma operação PULL ou vice-versa.
    • Suporte para controlo de versões: o DSC pode agora reconhecer um documento que foi gerado num cliente mais recente (incluído no WMF 5.0).
  • Melhorias na prevenção de erros

    • A versão do módulo é agora imposta antes de ser aplicada uma configuração.
    • DebugPreference está agora definido corretamente para chamadas Get-, Set-ou Test-TargetResource.
  • Melhorias no processamento de credenciais

    • É agora utilizado um certificado, se for especificado Certificado e PSDscAllowPlainTextPassword .
    • As credenciais são desencriptadas, mesmo para Get-TargetResource.
    • As credenciais de metaconfiguração são encriptadas e desencriptadas.
    • Os PSCredentials são agora desencriptados quando estão num objeto incorporado.
  • Melhorias de recursos incorporadas

    • O recurso Pacote
      • Já não instala o pacote errado (a partir de origens locais ou Web).
      • Agora suporta HTTPS.
    • Agora, existe suporte para HTTPS no recurso Pacote.
    • Agora , o recurso de arquivo suporta credenciais.

Novas funcionalidades no Windows PowerShell 5.0

Novas funcionalidades no Windows PowerShell

  • A partir do Windows PowerShell 5.0, pode desenvolver com classes, sintaxe formal e semântica semelhantes a outras linguagens de programação orientadas para objetos. Classe, Enum e outras palavras-chave foram adicionadas ao idioma Windows PowerShell para suportar a nova funcionalidade. Para obter mais informações sobre como trabalhar com classes, consulte about_Classes.

  • Windows PowerShell 5.0 introduz um novo fluxo de informações estruturado que pode utilizar para transmitir dados estruturados entre um script e os respetivos autores de chamadas (ou ambiente de alojamento). Agora, pode utilizar Write-Host para emitir a saída para o fluxo de informações. Os fluxos de informações também funcionam para PowerShell.Streams, tarefas, tarefas agendadas e fluxos de trabalho. As seguintes funcionalidades suportam o fluxo de informações.

    • Um novo cmdlet de Write-Information que lhe permite especificar como Windows PowerShell processa os dados do fluxo de informações para um comando. Write-Host é um wrapper para Informações de Escrita. Write-Information também é uma atividade de fluxo de trabalho suportada.
    • Dois novos parâmetros comuns, InformationVariable e InformationAction, permitem-lhe determinar como são apresentados os fluxos de informações de um comando. Os valores válidos para InformationAction são SilentlyContinue, Stop, Continue, Inquire, Ignore ou Suspend, sendo SilentlyContinue a predefinição. InformationVariable especifica uma cadeia como o nome de uma variável à qual pretende guardar os dados Write-Host de um comando.
    • Uma nova variável de preferência, InformationPreference, especifica a sua preferência predefinida para dados de fluxo de informações numa sessão Windows PowerShell. O valor predefinido é SilentlyContinue.
    • Foram adicionados dois novos parâmetros comuns do fluxo de trabalho, PSInformation e InformationAction.
    • Quando utiliza o comando Format-Table, as colunas de tabela são agora formatadas automaticamente ao avaliar os primeiros 300 m de dados que passam pelo fluxo.
  • Em colaboração com a Microsoft Research, foi adicionado um novo cmdlet ConvertFrom-String. ConvertFrom-String permite extrair e analisar objetos estruturados do conteúdo das cadeias de texto. Para obter mais informações, veja ConverterFrom-String.

  • Um novo cmdlet Convert-String formata automaticamente texto com base num exemplo que fornece num parâmetro -Example.

  • Um novo módulo, Microsoft.PowerShell.Archive, inclui cmdlets que lhe permitem comprimir ficheiros e pastas em ficheiros de arquivo (também conhecidos como ZIP), extrair ficheiros de ficheiros ZIP existentes e atualizar ficheiros ZIP com versões mais recentes de ficheiros comprimidos dentro dos mesmos.

  • Um novo módulo, PackageManagement, permite-lhe detetar e instalar pacotes de software na Internet. O módulo PackageManagement (anteriormente conhecido como OneGet) é um gestor ou multiplexer de gestores de pacotes existentes (também denominados fornecedores de pacotes) para unificar a gestão de pacotes do Windows com uma única interface de Windows PowerShell.

  • Um novo módulo, o PowerShellGet, permite-lhe localizar, instalar, publicar e atualizar módulos e recursos do DSC no Galeria do PowerShell ou num repositório de módulo interno que pode configurar ao executar o cmdlet Register-PSRepository.

  • Foi adicionada uma nova palavra-chave de idioma, Oculto, para especificar que um membro (uma propriedade ou um método) não é mostrado por predefinição nos resultados Get-Member (a menos que adicione o parâmetro -Force). As propriedades ou métodos marcados como ocultos também não aparecem nos resultados do IntelliSense, a menos que esteja num contexto em que o membro deve estar visível; por exemplo, a variável automática $This deve mostrar membros ocultos quando estiver no método de classe.

  • New-Item, Remove-Item e Get-ChildItem foram melhorados para suportar a criação e gestão de ligações simbólicas. O parâmetro -ItemType para New-Item aceita um novo valor, SymbolicLink. Agora, pode criar ligações simbólicas numa única linha ao executar o cmdlet New-Item.

  • Get-ChildItem também tem um novo parâmetro -Profundidade, que utiliza com o parâmetro -Recurse para limitar a recursão. Por exemplo, Get-ChildItem -Recurse -Depth 2 devolve resultados da pasta atual, de todas as pastas subordinadas na pasta atual e de todas as pastas nas pastas subordinadas.

  • Copy-Item agora permite-lhe copiar ficheiros ou pastas de um Windows PowerShell sessão para outro, o que significa que pode copiar ficheiros para sessões ligadas a computadores remotos (incluindo computadores que executam o Servidor Nano e, portanto, não têm outra interface). Para copiar ficheiros, especifique IDs de PSSession como o valor dos novos parâmetros -FromSession e -ToSession e adicione -Path e -Destination para especificar o caminho de origem e o destino, respetivamente. Por exemplo, Copy-Item -Path c:\myFile.txt -ToSession $s -Destination d:\destinationFolder.

  • Windows PowerShell transcrição foi melhorada para se aplicar a todas as aplicações de alojamento (como Windows PowerShell ISE), além do anfitrião da consola (powershell.exe). As opções de transcrição (incluindo ativar uma transcrição ao nível do sistema) podem ser configuradas ao ativar a definição Ativar a Transcrição do PowerShell Política de Grupo, encontrada em Modelos Administrativos/Componentes do Windows/Windows PowerShell.

  • Uma nova funcionalidade detalhada de rastreio de scripts permite-lhe ativar o controlo detalhado e a análise da utilização de scripts de Windows PowerShell num sistema. Depois de ativar o rastreio detalhado de scripts, Windows PowerShell regista todos os blocos de script no registo de eventos Rastreio de Eventos para Windows (ETW), Microsoft-Windows-PowerShell/Operational.

  • A partir do Windows PowerShell 5.0, os novos cmdlets de Sintaxe de Mensagens Criptográficas suportam encriptação e desencriptação de conteúdo com o formato padrão IETF para proteger criptograficamente 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-lhe definir opções de depuração num espaço de execução e iniciar e parar a depuração num runspace. Para depurar áreas de execução arbitrárias (ou seja, áreas de execução que não são a área de execução predefinida para uma consola Windows PowerShell ou Windows PowerShell sessão ISE) Windows PowerShell permite-lhe definir pontos de interrupção num script e adicionar pontos de interrupção que impedem a execução do script até poder anexar um depurador para depurar o script do runspace. O suporte de depuração aninhado para runspaces arbitrários foi adicionado ao depurador de scripts Windows PowerShell para runspaces.

  • Foi adicionado um novo cmdlet Format-Hex ao módulo Microsoft.PowerShell.Utility . Format-Hex permite-lhe ver texto ou dados binários em formato hexadecimal.

  • Get-Clipboard e Set-Clipboard cmdlets foram adicionados ao módulo Microsoft.PowerShell.Utility; facilitam a transferência de conteúdos de e para uma sessão Windows PowerShell. Os cmdlets da Área de Transferência suportam imagens, ficheiros de áudio, listas de ficheiros e texto.

  • Foi adicionado um novo cmdlet Clear-RecycleBin ao módulo Microsoft.PowerShell.Management ; este cmdlet esvazia a Reciclagem para uma unidade fixa, que inclui unidades externas. Por predefinição, é-lhe pedido que confirme um comando Clear-RecycleBin, porque a propriedade ConfirmImpact do cmdlet está definida como ConfirmImpact.High.

  • Um novo cmdlet, New-TemporaryFile, permite-lhe criar um ficheiro temporário como parte do scripting. Por predefinição, o novo ficheiro temporário é criado em C:\Users\<user name>\AppData\Local\Temp.

  • Os cmdlets Out-File, Add-Content e Set-Content têm agora um novo parâmetro -NoNewline, que omite uma nova linha após a saída.

  • O cmdlet New-Guid tira partido da classe guid .NET Framework para gerar um GUID, útil quando estiver a escrever scripts ou recursos DSC.

  • Uma vez que as informações da versão do ficheiro podem ser enganosas, especialmente depois de um ficheiro ser corrigido, estão disponíveis novas propriedades de script FileVersionRaw e ProductVersionRaw para objetos FileInfo. Por exemplo, pode executar o seguinte comando para apresentar os valores destas propriedades para powershell.exe, em que $pid contém o ID do processo para uma sessão em execução de Windows PowerShell:Get-Process -Id $pid -FileVersionInfo | Format-List *version* -Force

  • Os novos cmdlets Enter-PSHostProcess e Exit-PSHostProcess permitem depurar Windows PowerShell scripts em processos separados do processo atual que está em execução na consola do Windows PowerShell. Execute Enter-PSHostProcess para introduzir ou anexar a um ID de processo específico e, em seguida, execute Get-Runspace para devolver as áreas de execução ativas no processo. Execute Exit-PSHostProcess para se desanexar do processo quando terminar de depurar o script no processo.

  • Foi adicionado um novo cmdlet Wait-Debugger ao módulo Microsoft.PowerShell.Utility . Pode executar Wait-Debugger para parar um script no depurador antes de executar a instrução seguinte no script.

  • O depurador do fluxo de trabalho Windows PowerShell agora suporta a conclusão do comando ou do separador e pode depurar funções de fluxo de trabalho aninhadas. Agora, pode premir Ctrl+Break para introduzir o depurador num script em execução, tanto em sessões locais como remotas, e num script de fluxo de trabalho.

  • Foi adicionado um cmdlet Debug-Job ao módulo Microsoft.PowerShell.Core para depurar scripts de tarefas em execução para Windows PowerShell Fluxo de Trabalho, fundo e trabalhos em execução em sessões remotas.

  • Foi adicionado um novo estado, AtBreakpoint, para Windows PowerShell tarefas. O estado AtBreakpoint aplica-se quando uma tarefa está a executar um script que inclui pontos de interrupção definidos e o script atingiu um ponto de interrupção. Quando uma tarefa é parada num ponto de interrupção de depuração, tem de depurar a tarefa ao executar o cmdlet Debug-Job.

  • Windows PowerShell 5.0 implementa suporte para várias versões de um único módulo de Windows PowerShell na mesma pasta no $PSModulePath. Foi adicionada uma propriedade RequiredVersion à classe ModuleSpecification para o ajudar a obter a versão pretendida de um módulo; esta propriedade é mutuamente exclusiva com a propriedade ModuleVersion. RequiredVersion é agora suportado como parte do valor do parâmetro FullyQualifiedName dos cmdlets Get-Module, Import-Module e Remove-Module.

  • Agora pode executar a validação da versão do módulo ao executar o cmdlet Test-ModuleManifest.

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

  • Get-Command tem um novo parâmetro, -ShowCommandInfo, que devolve a informação ShowCommand como PSObjects. Esta funcionalidade é especialmente útil para quando Show-Command é executada no WINDOWS POWERSHELL ISE com Windows PowerShell remoting. O parâmetro -ShowCommandInfo substitui a função de Get-SerializedCommand existente no módulo Microsoft.PowerShell.Utility, mas o script Get-SerializedCommand ainda está disponível para suportar scripts de nível inferior.

  • Um novo cmdlet Get-ItemPropertyValue permite-lhe obter o valor de uma propriedade sem utilizar notação de pontos. Por exemplo, em versões mais antigas de Windows PowerShell, pode executar o seguinte comando para obter o valor da propriedade Base de Aplicações da chave de registo do PowerShellEngine: (Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase). ApplicationBase. A partir do Windows PowerShell 5.0, pode executar Get-ItemPropertyValue -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase.

  • A consola de Windows PowerShell utiliza agora a coloração da sintaxe, tal como Windows PowerShell ISE.

  • Um novo módulo NetworkSwitch contém cmdlets que lhe permitem aplicar comutadores, LAN virtual (VLAN) e configuração básica da porta de comutador de rede da Camada 2 para Windows Server 2012 comutadores de rede certificados pelo logótipo R2.

  • O parâmetro FullyQualifiedName foi adicionado aos cmdlets Import-Module e Remove-Module, para suportar o 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 respetivo nome completamente qualificado.

  • O valor de $PSVersionTable.PSVersion foi atualizado para 5,0.

  • O WMF 5.0 (PowerShell 5.0) inclui o módulo Pester . O Pester é uma arquitetura de teste de unidades para o PowerShell. Fornece algumas palavras-chave simples de utilizar que lhe permitem criar testes para os seus scripts.

Novas funcionalidades no Windows PowerShell Desired State Configuration

  • Windows PowerShell melhorias de linguagem permitem-lhe definir recursos de Windows PowerShell Desired State Configuration (DSC) com classes. Import-DscResource é agora uma verdadeira palavra-chave dinâmica; Windows PowerShell analisa o módulo de raiz do módulo especificado, procurando classes que contenham o atributo DscResource. Agora, pode utilizar classes para definir recursos DSC, nos quais não é necessário um ficheiro MOF nem uma subpasta DSCResource na pasta do módulo. Um ficheiro de módulo Windows PowerShell pode conter várias classes de recursos DSC.
  • Foi adicionado um novo parâmetro, ThrottleLimit, 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 pretende 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 centralizado do DSC, as informações de erro avançadas não só são registadas no registo de eventos, como podem ser enviadas para uma localização central para análise posterior. Pode utilizar esta localização central para armazenar erros de configuração do DSC que ocorreram para qualquer servidor no respetivo ambiente. Depois de o servidor de relatórios ser definido na meta-configuração, todos os erros são enviados para o servidor de relatórios e, em seguida, armazenados numa base de dados. Pode configurar esta funcionalidade independentemente de um nó de destino estar ou não configurado para solicitar configurações a partir de um servidor Pull.
  • Melhorias ao Windows PowerShell ise facilitam a criação de recursos do DSC. Agora pode fazer o seguinte.
    • Liste todos os recursos do DSC num bloco de configuração ou ao introduzir Ctrl+Espaço numa 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 do DSC, com base noutras instâncias de recursos na configuração.
    • Conclusão melhorada do separador dos valores da propriedade do recurso.
  • Um utilizador pode agora executar um recurso num conjunto especificado de credenciais ao adicionar o atributo PSDscRunAsCredential a um bloco Node. Por exemplo, PSDscRunAsCredential = Get-Credential Contoso\DscUser. Esta funcionalidade é útil para criar configurações que executam o Windows Installer e instaladores executáveis, acedem ao registo por utilizador ou executam outras tarefas fora do contexto de utilizador atual.
  • O suporte de 32 bits (baseado em x86) foi adicionado para a palavra-chave configuração .
  • Windows PowerShell agora inclui suporte para ajuda personalizada para configurações de DSC, definido ao adicionar [CmdletBinding()] à função de configuração gerada.
  • Um novo atributo DscLocalConfigurationManager designa um bloco de configuração como uma metaconfiguração, que é utilizada para configurar o Configuration Manager Local do DSC. Este atributo restringe uma configuração para conter apenas itens que configuram o Configuration Manager Local do DSC. Durante o processamento, esta configuração gera um ficheiro *.meta.mof que é depois enviado para os nós de destino adequados ao executar o cmdlet Set-DscLocalConfigurationManager.
  • As configurações parciais são agora permitidas no Windows PowerShell 5.0. Pode entregar documentos de configuração a um nó em fragmentos. Para que um nó receba múltiplos fragmentos de um documento de configuração, a Configuration Manager Local do nó tem de ser definida primeiro para especificar os fragmentos esperados
  • A sincronização entre computadores é nova no DSC no Windows PowerShell 5.0. com os recursos WaitFor* incorporados (WaitForAll, WaitForAny e WaitForSome), pode agora especificar dependências entre computadores durante as execuções de configuração, sem orquestrações externas. Estes recursos fornecem sincronização entre nós com ligações CIM através do protocolo WS-Man. Uma configuração pode aguardar que o estado de recurso específico de outro computador seja alterado.
  • A Just Enough Administration (JEA), uma nova funcionalidade de segurança de delegação, tira partido do DSC e Windows PowerShell espaços de execução restritos para ajudar a proteger as empresas contra a perda de dados ou o comprometimento por parte dos colaboradores, sejam intencionais ou não intencionais. Para obter mais informações sobre a JEA, incluindo onde pode transferir o recurso XJEA DSC, veja Administração Just Enough.
  • Os novos cmdlets seguintes foram adicionados ao módulo PSDesiredStateConfiguration.
    • Um novo cmdlet Get-DscConfigurationStatus obtém informações de alto nível sobre o estado de configuração a partir de um nó de destino. Pode obter o estado 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 ficheiro MOF de configuração para um nó de destino, mas não aplica a configuração. A configuração é aplicada durante o próximo passe de consistência ou quando executa o cmdlet Update-DscConfiguration.
    • Um novo cmdlet Test-DscConfiguration permite-lhe verificar se uma configuração resultante corresponde à configuração pretendida, devolvendo Verdadeiro se a configuração corresponder à configuração pretendida ou Falso se a configuração real não corresponder à configuração pretendida.
    • Um novo cmdlet Update-DscConfiguration força o processamento de uma configuração. Se a Configuration Manager Local estiver no modo de solicitação, o cmdlet obtém a configuração a partir do servidor de solicitação antes de a aplicar.

Novas funcionalidades no WINDOWS POWERSHELL ISE

  • Agora, pode editar scripts e ficheiros de Windows PowerShell remotos numa cópia local do Windows PowerShell ISE, executando Enter-PSSession para iniciar uma sessão remota no computador que está a armazenar os ficheiros que pretende editar e, em seguida, executando o caminho PSEdit <e o nome do ficheiro no computador> remoto. Esta funcionalidade facilita a edição Windows PowerShell ficheiros armazenados na opção de instalação Server Core do Windows Server, onde Windows PowerShell ISE não pode ser executado.
  • O cmdlet Start-Transcript é agora suportado no WINDOWS POWERSHELL ISE.
  • Agora pode depurar scripts remotos no Windows PowerShell ISE.
  • Um novo comando de menu, Break All (Ctrl+B), divide-se no depurador para scripts locais e de execução remota.

Novas funcionalidades no Windows PowerShell Serviços Web (Extensão OData IIS de Gestão)

  • A partir do Windows PowerShell 5.0, pode gerar um conjunto de cmdlets Windows PowerShell com base na funcionalidade exposta por um determinado ponto final OData ao executar o cmdlet Export-ODataEndpointProxy, que se encontra no novo módulo Microsoft.PowerShell.OdataUtils.

Correções de erros importantes no Windows PowerShell 5.0

  • Windows PowerShell 5.0 inclui uma nova implementação COM, que oferece melhorias de desempenho significativas quando está a trabalhar com objetos COM.
  • Foram efetuadas melhorias significativas de desempenho na conclusão do primeiro separador numa sessão de Windows PowerShell, reduzindo o tempo de conclusão do separador em quase 500 ms.

Novas funcionalidades no Windows PowerShell 4.0

Windows PowerShell 4.0 é retrocompatível. Os cmdlets, fornecedores, módulos, snap-ins, scripts, funções e perfis concebidos para Windows PowerShell 3.0 e Windows PowerShell 2.0 funcionam no Windows PowerShell 4.0 sem alterações.

Windows PowerShell 4.0 está instalado por predefinição no Windows 8.1 e Windows Server 2012 R2. Para instalar Windows PowerShell 4.0 no Windows 7 com SP1 ou Windows Server 2008 R2, transfira e instale Windows Management Framework 4.0. Certifique-se de que lê os detalhes da transferência e cumpre todos os requisitos de sistema antes de instalar o Windows Management Framework 4.0.

Windows PowerShell 4.0 inclui as seguintes novas funcionalidades.

Novas funcionalidades no Windows PowerShell

  • Windows PowerShell Desired State Configuration (DSC) é um novo sistema de gestão no Windows PowerShell 4.0 que permite a implementação e gestão de dados de configuração para serviços de software e o ambiente em que estes serviços são executados. Para obter mais informações sobre o DSC, consulte Introdução ao Windows PowerShell Desired State Configuration.
  • A Save-Help permite-lhe agora guardar ajuda para módulos instalados em computadores remotos. Pode utilizar Save-Help para transferir a Ajuda do módulo a partir de um cliente ligado à Internet (no qual nem todos os módulos para os quais pretende obter ajuda estão necessariamente instalados) e, em seguida, copiar a Ajuda guardada para uma pasta remota partilhada ou um computador remoto que não tenha acesso à Internet.
  • O depurador de Windows PowerShell foi melhorado para permitir a depuração de fluxos de trabalho Windows PowerShell, bem como scripts em execução em computadores remotos. Windows PowerShell fluxos de trabalho podem agora ser depurados ao nível do script a partir da linha de comandos Windows PowerShell ou Windows PowerShell ISE. Windows PowerShell scripts, incluindo fluxos de trabalho de script, podem agora ser depurados em sessões remotas. As sessões de depuração remota são preservadas ao longo de Windows PowerShell sessões remotas que são desligadas e posteriormente restabelecidas.
  • Um parâmetro RunNow para Register-ScheduledJob e Set-ScheduledJob elimina a necessidade de definir uma data e hora de início imediatas para tarefas com o parâmetro Acionador .
  • Invoke-RestMethod e Invoke-WebRequest agora permitem-lhe definir todos os cabeçalhos com o parâmetro Headers. Embora este parâmetro sempre tenha existido, foi um dos vários parâmetros para os cmdlets Web que resultaram em exceções ou erros.
  • Get-Module tem um novo parâmetro, FullyQualifiedName, do tipo ModuleSpecification[]. O parâmetro FullyQualifiedName do Get-Module agora permite-lhe especificar um módulo com o nome, versão e, opcionalmente, o guiD do módulo.
  • A predefinição da política de execução no Windows Server 2012 R2 é RemoteSigned. No Windows 8.1, não existe nenhuma alteração na predefinição.
  • A partir do Windows PowerShell 4.0, a invocação de métodos com nomes de método dinâmico é suportada. Pode utilizar uma variável para armazenar um nome de método e, em seguida, invocar dinamicamente o método ao chamar a variável.
  • As tarefas de fluxo de trabalho assíncronas já não são eliminadas quando o período de tempo limite especificado pelo parâmetro comum do fluxo de trabalho PSElapsedTimeoutSec tiver decorrido.
  • Foi adicionado um novo parâmetro, RepeatIndefinitely, aos cmdlets New-JobTrigger e Set-JobTrigger . Isto elimina a necessidade de especificar um valor TimeSpan.MaxValue para o parâmetro RepetitionDuration executar uma tarefa agendada repetidamente durante um período indefinido.
  • Foi adicionado um parâmetro Passthru aos cmdlets Enable-JobTrigger e Disable-JobTrigger . O parâmetro Passthru apresenta todos os objetos criados ou modificados pelo comando .
  • Os nomes dos parâmetros para especificar um grupo de trabalho nos cmdlets Add-Computer e Remove-Computer são agora consistentes. Ambos os cmdlets utilizam agora o parâmetro WorkgroupName.
  • Foi adicionado um novo parâmetro comum , PipelineVariable. PipelineVariable permite-lhe guardar os resultados de um comando piped (ou parte de um comando canalizado) como uma variável que pode ser transmitida através do resto do pipeline.
  • A filtragem de coleções com uma sintaxe de método é agora suportada. Isto significa que agora pode filtrar uma coleção de objetos com sintaxe simplificada, semelhante à de Where() ou Where-Object, formatada como uma chamada de método. Segue-se um exemplo: (Get-Process).where({$_. Nome –corresponder a 'powershell'})
  • O cmdlet Get-Process tem um novo parâmetro de comutador, IncludeUserName.
  • Foi adicionado um novo cmdlet Get-FileHash, que devolve um hash de ficheiro num dos vários formatos de um ficheiro especificado.
  • No Windows PowerShell 4.0, se um módulo utilizar a chave DefaultCommandPrefix no seu manifesto ou se o utilizador importar um módulo com o parâmetro Prefixo, a propriedade ExportedCommands do módulo mostra os comandos no módulo com o prefixo . Quando executa os comandos com a sintaxe qualificada pelo módulo ModuleName\CommandName, os nomes dos comandos têm de incluir o prefixo.
  • O valor de $PSVersionTable.PSVersion foi atualizado para 4.0.
  • Em que() o comportamento do operador foi alterado. Collection.Where('property -match name') A aceitação de uma expressão de cadeia no formato "Property -CompareOperator Value" já não é suportada. No entanto, o operador Where() aceita expressões de cadeia no formato de um scriptblock; isto ainda é suportado.

Novas funcionalidades no Windows PowerShell Integrated Scripting Environment (ISE)

  • Windows PowerShell ISE suporta a depuração do fluxo de trabalho Windows PowerShell e a depuração remota de scripts.
  • O suporte do IntelliSense foi adicionado para Windows PowerShell Desired State Configuration fornecedores e configurações.

Novas funcionalidades no Fluxo de Trabalho do Windows PowerShell

  • Foi adicionado suporte para um novo parâmetro comum PipelineVariable no contexto de pipelines iterativos, como os utilizados pelo System Center Orchestrator; ou seja, os pipelines que executam comandos simplesmente da esquerda para a direita, em oposição à execução intercalada através da transmissão em fluxo.
  • O enlace de parâmetros foi significativamente melhorado para trabalhar fora dos cenários de conclusão de separadores, como com comandos que não existem no runspace atual.
  • O suporte para atividades de contentores personalizados foi adicionado ao fluxo de trabalho do Windows PowerShell. Se um parâmetro de atividade for dos tipos Atividade, Atividade[] (ou for uma coleção genérica de atividades) e o utilizador tiver fornecido um bloco de script como argumento, Windows PowerShell Fluxo de Trabalho converte o bloco de scripts em XAML, tal como acontece com a compilação de script para fluxo de trabalho normal Windows PowerShell.
  • Após uma falha, Windows PowerShell Fluxo de Trabalho volta a ligar-se automaticamente aos nós geridos.
  • Agora, pode limitar as instruções de atividade Foreach -Parallel com a propriedade ThrottleLimit .
  • O parâmetro comum ErrorAction tem um novo valor válido, Suspend, que se destina exclusivamente a fluxos de trabalho.
  • Um ponto final de fluxo de trabalho é fechado automaticamente se não existirem sessões ativas, sem tarefas em curso e sem tarefas pendentes. Esta funcionalidade conserva os recursos no computador que está a agir como o servidor de fluxo de trabalho, quando as condições de encerramento automático foram cumpridas.

Novas funcionalidades no Windows PowerShell Serviços Web

  • Quando ocorre um erro no Windows PowerShell Serviços Web (PSWS, também denominado Extensão OData IIS de Gestão), enquanto um cmdlet está em execução, as mensagens de erro mais detalhadas são devolvidas ao autor da chamada. Além disso, os códigos de erro seguem as diretrizes de código de erro da API REST do Windows Azure.
  • Um ponto final pode agora definir a versão da API, bem como impor a utilização de uma versão de API específica. Sempre que ocorrem incompatibilidades de versões entre o cliente e o servidor, são apresentados erros ao cliente e ao servidor.
  • A gestão do esquema de distribuição foi simplificada ao gerar automaticamente valores para quaisquer campos em falta no esquema. A geração ocorre, como um ponto de partida útil, mesmo que o esquema de distribuição não exista.
  • O processamento de tipos no PSWS foi melhorado para suportar tipos que utilizam um construtor diferente do construtor predefinido, ao comportar-se de forma semelhante ao PSTypeConverter no Windows PowerShell. Isto permite-lhe utilizar tipos complexos com PSWS.
  • Agora, o PSWS permite expandir uma instância associada durante a execução de uma consulta. Para conteúdos binários maiores (como imagens, áudio ou vídeo), o custo da transferência é significativo e é melhor transferir dados binários sem codificação. O PSWS utiliza fluxos de recursos com nome para transferência sem codificação. O fluxo de recursos com nome é uma propriedade de uma entidade do tipo Edm.Stream. Cada fluxo de recursos com nome tem um URI separado para operações GET ou UPDATE.
  • As ações OData fornecem agora um mecanismo para invocar métodos não CRUD (Create, Leitura, Atualização e Eliminação) num recurso. Pode invocar uma ação ao enviar um pedido HTTP POST para o URI definido para a ação. Os parâmetros da ação são definidos no corpo do pedido POST.
  • Para ser consistente com as diretrizes do Windows Azure, todos os URLs devem ser simplificados. Uma alteração incluída no Segmento Chave Como permite que chaves individuais sejam representadas como segmentos. Tenha em atenção que as referências que utilizam vários valores de chave requerem valores separados por vírgulas na notação parêntese, como anteriormente.
  • Antes desta versão do PSWS, a única forma de executar operações de Create, Atualização ou Eliminação era invocar Post, Put ou Delete num recurso de nível superior. Novidade nesta versão do PSWS, as operações de Recursos Contidos permitem que os utilizadores obtenham os mesmos resultados ao alcançar o mesmo recurso menos diretamente, aproximando-se como se estes recursos estivessem contidos.

Novas funcionalidades no Windows PowerShell Web Access

  • Pode desligar e voltar a ligar a sessões existentes na consola do Windows PowerShell Web Access baseada na Web. Um botão Guardar na consola baseada na Web permite-lhe desligar-se de uma sessão sem o eliminar e voltar a ligar-se à sessão noutra altura.
  • Os parâmetros predefinidos podem ser apresentados na página de início de sessão. Para apresentar os parâmetros predefinidos, configure valores para todas as definições apresentadas na área Definições de Ligação Opcionais da página de início de sessão num ficheiro com o nome web.config. Pode utilizar o ficheiro web.config para configurar todas as definições de ligação opcionais, exceto um segundo ou conjunto alternativo de credenciais.
  • No Windows Server 2012 R2, pode gerir remotamente as regras de autorização do Windows PowerShell Web Access. Os cmdlets Add-PswaAuthorizationRule e Test-PswaAuthorizationRule incluem agora um parâmetro Credential que permite aos administradores gerir regras de autorização a partir de um computador remoto ou numa sessão de acesso Web Windows PowerShell.
  • Agora, pode ter várias sessões Windows PowerShell Web Access numa única sessão do browser utilizando um novo separador do browser para cada sessão. Já não precisa de abrir uma nova sessão do browser para ligar a uma nova sessão na consola de Windows PowerShell baseada na Web.

Correções de erros importantes no Windows PowerShell 4.0

  • O Get-Counter pode agora devolver contadores que contêm um caráter de apóstrofo nas edições francesas do Windows.
  • Agora, pode ver o método GetType em objetos serializados sem serialização.
  • #Requires instruções agora permitem que os utilizadores exijam direitos de acesso de Administrador, se necessário.
  • O cmdlet Import-Csv ignora agora linhas em branco.
  • Um problema em que Windows PowerShell ISE utiliza demasiada memória quando está a executar um comando Invoke-WebRequest foi corrigido.
  • O Get-Module apresenta agora as versões do módulo numa coluna Versão .
  • Remove-Item -Recurse remove agora os itens das subpastas conforme esperado.
  • Foi adicionada uma propriedade UserName aos objetos de saída Get-Process .
  • O cmdlet Invoke-RestMethod devolve agora todos os resultados disponíveis.
  • O add-member entra agora em vigor nos hashs, mesmo que os haxits ainda não tenham sido acedidos.
  • Select-Object -Expand já não falha ou gera uma exceção se o valor da propriedade for nulo ou estiver vazio.
  • Get-Process pode agora ser utilizado num pipeline com outros comandos que obtêm a propriedade ComputerName a partir de objetos.
  • ConvertTo-Json e ConvertFrom-Json podem agora aceitar termos em aspas duplas e as respetivas mensagens de erro são agora localizáveis.
  • Get-Job devolve agora todas as tarefas agendadas concluídas, mesmo em novas sessões.
  • Foram corrigidos problemas com a montagem e desmontagem de VHDs com o fornecedor fileSystem no Windows PowerShell 4.0. Windows PowerShell agora consegue detetar novas unidades quando são montadas na mesma sessão.
  • Já não precisa de carregar explicitamente os módulos ScheduledJob ou Workflow para trabalhar com os respetivos tipos de tarefas.
  • Foram efetuadas melhorias de desempenho no processo de importação de fluxos de trabalho que definem fluxos de trabalho aninhados; este processo é agora mais rápido.

Novas funcionalidades no Windows PowerShell 3.0

Windows PowerShell 3.0 inclui as seguintes novas funcionalidades.

Fluxo de Trabalho do Windows PowerShell

Windows PowerShell Fluxo de Trabalho traz o poder do Windows Workflow Foundation para Windows PowerShell. Pode escrever fluxos de trabalho no XAML ou na linguagem Windows PowerShell e executá-los tal como executaria um cmdlet. O Get-Command cmdlet obtém comandos de fluxo de trabalho e o Get-Help cmdlet obtém ajuda para fluxos de trabalho.

Os fluxos de trabalho são sequências de atividades de gestão multicomputador que são de execução prolongada, repetíveis, frequentes, paralelizáveis, interruptíveis, suspendíveis e reiniciáveis. Os fluxos de trabalho podem ser retomados de uma interrupção intencional ou acidental, como uma falha de rede, um reinício do Windows ou uma falha de energia.

Os fluxos de trabalho também são portáteis; podem ser exportados como ou importados de ficheiros XAML. Pode escrever configurações de sessão personalizadas que permitem que o fluxo de trabalho ou as atividades num fluxo de trabalho sejam executadas por utilizadores delegados ou subordinados.

Seguem-se as vantagens do fluxo de trabalho Windows PowerShell

  • Automatização de tarefas sequenciadas e de execução prolongada.
  • Monitorização remota de tarefas de execução prolongada. O estado e o progresso das atividades são visíveis em qualquer altura.
  • Gestão de multicomputadores. Executar simultaneamente tarefas como fluxos de trabalho em centenas de nós geridos. Windows PowerShell Fluxo de Trabalho inclui uma biblioteca incorporada de parâmetros de gestão comuns, como PSComputerName, que permite cenários de gestão de vários computadores.
  • Execução de tarefa única de processos complexos. Pode combinar scripts relacionados que implementam um cenário completo ponto a ponto num único fluxo de trabalho.
  • Persistência.: um fluxo de trabalho é guardado (ou apontado com verificação) em pontos específicos definidos pelo autor para que possa retomar o fluxo de trabalho a partir da última tarefa persistente (ou ponto de verificação), em vez de reiniciar o fluxo de trabalho desde o início.
  • Robustez. Recuperação automatizada de falhas. Os fluxos de trabalho sobrevivem a reinícios planeados e não planeados. Pode suspender a execução do fluxo de trabalho e, em seguida, retomar o fluxo de trabalho a partir do último ponto de persistência. Os autores de fluxos de trabalho podem designar atividades específicas para serem novamente executadas em caso de falha num ou mais nós geridos.
  • Capacidade de desligar, voltar a ligar e executar em sessões desligadas. Os utilizadores podem ligar e desligar do servidor de fluxo de trabalho, mas o fluxo de trabalho é executado continuamente. Pode terminar sessão no computador cliente ou reiniciar o computador cliente e monitorizar a execução do fluxo de trabalho a partir de outro computador sem interromper o fluxo de trabalho.
  • Agendamento. As tarefas de fluxo de trabalho podem ser agendadas como qualquer Windows PowerShell cmdlet ou script.
  • Fluxo de Trabalho e Limitação de Ligação. A execução de fluxos de trabalho e as ligações a nós podem ser limitadas, permitindo assim cenários de escalabilidade e elevada disponibilidade.

Windows PowerShell Web Access

Windows PowerShell Web Access é uma funcionalidade Windows Server 2012 que permite aos utilizadores executar Windows PowerShell comandos e scripts numa consola baseada na Web. Os dispositivos que utilizam a consola baseada na Web não necessitam de Windows PowerShell, software de gestão remota ou instalações de plug-in do browser. Tudo o que é necessário é um gateway Windows PowerShell Web Access devidamente configurado e um browser de dispositivo cliente que suporte JavaScript e aceite cookies.

Para obter mais informações, veja Deploy Windows PowerShell Web Access (Implementar Windows PowerShell Web Access).

Novas Funcionalidades do ISE Windows PowerShell

Para o Windows PowerShell 3.0, o Windows PowerShell Integrated Scripting Environment (ISE) tem muitas funcionalidades novas, incluindo o IntelliSense, Show-Command janela, um Painel de Consola unificado, fragmentos, correspondência de chavetas, secções de expansão-fechar, lista de itens recentes, cópia avançada, cópia de blocos e suporte completo para escrever Windows PowerShell script fluxos de trabalho. Para obter mais informações, veja about_Windows_PowerShell_ISE.

Suporte para o Microsoft .NET Framework 4

Windows PowerShell é criada com base no Common Language Runtime 4.0. Os autores de cmdlets, scripts e fluxos de trabalho podem utilizar as novas classes do Microsoft .NET Framework 4 no Windows PowerShell, com funcionalidades que incluem Compatibilidade e Implementação de Aplicações, Arquitetura de Extensibilidade Gerida, Computação Paralela, Redes, Windows Communication Foundation e Windows Workflow Foundation.

Suporte para o Ambiente de Pré-instalação do Windows

Windows PowerShell 3.0 é um componente opcional do Windows Preinstallation Environment (Windows PE) 4.0 para Windows 8. O Windows PE é um sistema operativo mínimo que inicia um computador sem sistema operativo e o prepara para a instalação do Windows. O Windows PE pode ser utilizado para criar partições e formatar discos rígidos, copiar imagens de disco para um computador e iniciar a Configuração do Windows a partir de uma partilha de rede. Windows PowerShell 3.0 pode ser utilizado no Windows PE para gerir cenários de implementação, diagnóstico e recuperação.

Sessões Desligadas

A partir do Windows PowerShell 3.0, as sessões persistentes geridas pelo utilizador ("PSSessions") que criar com o cmdlet New-PSSession são guardadas no computador remoto. Já não dependem da sessão em que foram criadas.

Agora, pode desligar-se de uma sessão sem interromper os comandos que estão a ser executados na sessão. Pode fechar a sessão e encerrar o computador. Mais tarde, pode voltar a ligar-se à sessão a partir de uma sessão diferente no mesmo ou num computador diferente.

O parâmetro ComputerName do Get-PSSession cmdlet obtém agora todas as sessões do utilizador que se ligam ao computador, mesmo que tenham sido iniciadas numa sessão diferente num computador diferente. Pode ligar-se às sessões, obter os resultados dos comandos, iniciar novos comandos e, em seguida, desligar da sessão.

Foram adicionados novos cmdlets para suportar a funcionalidade Sessões Desligadas, incluindo , e Receive-PSSession, e foram adicionados novos parâmetros aos cmdlets que gerem PSSessions, como o parâmetro InDisconnectedSession do Invoke-Command cmdlet. Connect-PSSessionDisconnect-PSSession

A funcionalidade Sessões Desligadas só é suportada quando os computadores com as extremidades de origem ("cliente") e de terminação ("servidor") da ligação estiverem a ser executados Windows PowerShell 3.0.

Conectividade de Sessão Robusta

Windows PowerShell 3.0 deteta perdas inesperadas de conectividade entre o cliente e o servidor e tenta restabelecer a conectividade e retomar a execução automaticamente. Se a ligação cliente-servidor não puder ser restabelecida no tempo atribuído, o utilizador será notificado e a sessão será desligada. Durante a tentativa de restabelecer ligação, Windows PowerShell fornece feedback contínuo ao utilizador.

Se a sessão desligada tiver sido iniciada com o InvokeCommand, Windows PowerShell cria uma tarefa para a sessão desligada para facilitar a ligação e retomar a execução.

Estas funcionalidades proporcionam uma experiência remota mais fiável e recuperável e permitem que os utilizadores realizem tarefas de execução prolongada que requerem sessões robustas, como fluxos de trabalho.

Sistema de Ajuda Atualizável

Agora pode transferir ficheiros de ajuda atualizados para os cmdlets nos seus módulos. O Update-Help cmdlet identifica os ficheiros de ajuda mais recentes, transfere-os a partir da Internet, desempacota-os, valida-os e instala-os no diretório específico do idioma correto para o módulo.

Para utilizar os ficheiros de ajuda atualizados, basta escrever Get-Help. Não precisa de reiniciar o Windows ou Windows PowerShell. Para atualizar a ajuda para módulos no diretório $pshome, comece Windows PowerShell com a opção "Executar como administrador".

Para suportar utilizadores que não têm acesso à Internet e utilizadores protegidos por firewalls, o novo Save-Help cmdlet transfere ficheiros de ajuda para um diretório de sistema de ficheiros, como uma partilha de ficheiros. Em seguida, os utilizadores podem utilizar o Update-Help cmdlet para obter ficheiros de ajuda atualizados a partir da partilha de ficheiros.

Pode utilizar o Update-Help cmdlet para atualizar ficheiros de ajuda para todos ou módulos específicos em todas as culturas de IU suportadas. Pode até colocar um Update-Help comando no seu perfil de Windows PowerShell. Por predefinição, Windows PowerShell transfere os ficheiros de ajuda para um módulo não mais do que uma vez por dia.

Windows 8 e Windows Server 2012 módulos não incluem ficheiros de ajuda. Para transferir os ficheiros de ajuda mais recentes, escreva Update-Help. Para obter mais informações, escreva Get-Help (sem parâmetros) ou veja about_Updatable_Help.

Quando os ficheiros de ajuda de um cmdlet não estiverem instalados no computador, o Get-Help cmdlet apresenta agora a ajuda gerada automaticamente. A ajuda gerada automaticamente inclui a sintaxe do comando e instruções para utilizar o Update-Help cmdlet para transferir ficheiros de ajuda.

Qualquer autor de módulo pode suportar a Ajuda Atualizável para o módulo. Pode incluir ficheiros de ajuda no módulo e utilizar a Ajuda Atualizável para os atualizar ou omitir os ficheiros de ajuda e utilizar a Ajuda Atualizável para os instalar. Para obter mais informações sobre como suportar a Ajuda Atualizável, consulte Suporte de Ajuda Atualizável.

Ajuda Online Avançada

Windows PowerShell ajuda online é um recurso valioso para todos os utilizadores, mas é especialmente importante para os utilizadores que não têm ou não conseguem instalar ficheiros de ajuda atualizados.

Para obter ajuda online para qualquer cmdlet Windows PowerShell, escreva:

Get-Help <cmdlet-name> -Online

Windows PowerShell abre a versão online do tópico de ajuda no browser predefinido.

A funcionalidade Get-Help -Online no Windows PowerShell 3.0 é agora ainda mais avançada porque funciona mesmo quando os ficheiros de ajuda do cmdlet não estão instalados no computador. A funcionalidade Get-Help -Online obtém o URI para o tópico de ajuda online a partir da propriedade HelpUri de cmdlets e funções avançadas.

PS C:\>(Get-Command Get-ScheduledJob).HelpUri
https://go.microsoft.com/fwlink/?LinkID=223923

A partir do Windows PowerShell 3.0, os autores de cmdlets C# podem preencher a propriedade HelpUri ao criar um atributo HelpUri na classe de cmdlet. Os autores de funções avançadas podem definir uma propriedade HelpUri no atributo CmdletBinding . O valor da propriedade HelpUri tem de começar por "http" ou "https".

Também pode incluir um valor HelpUri na primeira ligação relacionada de um ficheiro de ajuda do cmdlet baseado em XML ou do . Diretiva de ligação da ajuda baseada em comentários numa função.

Para obter mais informações sobre como suportar ajuda online, consulte o artigo Suporte à Ajuda Online.

Integração cim

Windows PowerShell 3.0 inclui suporte para o Common Information Model (CIM), que fornece definições comuns de informações de gestão para sistemas, redes, aplicações e serviços, permitindo-lhes trocar informações de gestão entre sistemas heterogéneos. Suporte para CIM no Windows PowerShell 3.0, incluindo a capacidade de criar cmdlets Windows PowerShell com base em classes CIM novas ou existentes, comandos baseados em ficheiros XML de definição de cmdlets, suporte para .NET Framework CIM. API, cmdlets de gestão cim e fornecedores WMI 2.0.

Ficheiros de Configuração de Sessão

A partir do Windows PowerShell 3.0, pode estruturar uma configuração de sessão personalizada com um ficheiro. O novo ficheiro de configuração de sessão permite-lhe determinar o ambiente das sessões que utilizam a configuração da sessão, incluindo que módulos, scripts e ficheiros de formato são carregados em sessões, que cmdlets e elementos de idioma os utilizadores podem utilizar, que módulos e scripts podem executar e que variáveis podem ver.

Pode criar uma sessão na qual os utilizadores só podem executar os cmdlets a partir de um módulo específico ou uma sessão na qual os utilizadores têm idioma completo, acesso a todos os módulos e acesso a scripts que executam tarefas avançadas.

Em versões anteriores do Windows PowerShell, o controlo a este nível só estava disponível para quem pudesse escrever um programa C# ou um script de arranque complexo. Agora, qualquer membro do grupo Administradores no computador pode personalizar uma configuração de sessão com um ficheiro de configuração.

Para criar um ficheiro de configuração de sessão, utilize o New-PSSessionConfigurationFile cmdlet . Para aplicar o ficheiro de configuração da sessão a uma configuração de sessão, utilize os Register-PSSessionConfiguration cmdlets Set-PSSessionConfiguration ou "Set-PSSessionConfiguration".

Para obter mais informações, veja about_Session_Configuration_Files e New-PSSessionConfigurationFile.

Tarefas Agendadas e Integração do Programador de Tarefas

Agora, pode agendar Windows PowerShell tarefas em segundo plano e geri-las no Windows PowerShell e no Programador de Tarefas.

Windows PowerShell tarefas agendadas são um híbrido útil de Windows PowerShell tarefas em segundo plano e tarefas do Programador de Tarefas.

Tal como Windows PowerShell tarefas em segundo plano, as tarefas agendadas são executadas de forma assíncrona em segundo plano. As instâncias de tarefas agendadas que tenham sido concluídas podem ser geridas com os cmdlets da tarefa, tais como Start-Job e Get-Job.

Tal como as tarefas do Programador de Tarefas, pode executar tarefas agendadas numa agenda única ou recorrente, ou em resposta a uma ação ou evento. Pode ver e gerir tarefas agendadas no Programador de Tarefas, ativá-las e desativá-las conforme necessário, executá-las ou utilizá-las como modelos e definir condições nas quais as tarefas são iniciadas.

Além disso, as tarefas agendadas vêm com um conjunto personalizado de cmdlets para geri-los. Os cmdlets permitem-lhe criar, editar, gerir, desativar e reativar tarefas agendadas, criar acionadores de tarefas agendadas e definir opções de tarefas agendadas.

Para obter mais informações sobre as tarefas agendadas, consulte about_Scheduled_Jobs.

Melhoramentos de Idioma do Windows PowerShell

Windows PowerShell 3.0 inclui muitas funcionalidades concebidas para tornar o seu idioma mais simples, mais fácil de utilizar e para evitar erros comuns. As melhorias incluem enumeração de propriedades, propriedades de contagem e comprimento em objetos escalares, novos operadores de redirecionamento, modificador de âmbito $Using, variável automática PSItem, formatação de script flexível, atributos de variáveis, argumentos de atributo simplificados, nomes de comandos numéricos, operador de Stop-Parsing, espaçamento de matriz melhorado, operadores de bits novos, dicionários ordenados, conversão de castação PSCustomObject e ajuda baseada em comentários melhorada.

Novos Cmdlets Core

Foram adicionados novos cmdlets à instalação Windows PowerShell, incluindo cmdlets para gerir tarefas agendadas, sessões desligadas, integração cim e o Sistema de Ajuda Atualizável.

  • CimCmdlets
    • Get-CimAssociatedInstance
    • Get-CimClass
    • Get-CimInstance
    • Get-CimSession
    • Invoke-CimMethod
    • New-CimInstance
    • New-CimSession
    • New-CimSessionOption
    • Register-CimIndicationEvent
    • Remove-CimInstance
    • Remove-CimSession
    • Set-CimInstance
  • Microsoft.PowerShell.Core
    • Connect-PSSession
    • Connect-PSSession
    • New-PSSessionConfigurationFile
    • New-PSTransportOption
    • Receive-PSSession
    • Resume-Job
    • Save-Help
    • Suspend-Job
    • Test-PSSessionConfigurationFile
    • Update-Help
  • Microsoft.PowerShell.Diagnostics
    • New-WinEvent
  • Microsoft.PowerShell.Management
    • Get-ControlPanelItem
    • Rename-Computer
    • Show-ControlPanelItem
  • Microsoft.PowerShell.Utility
    • ConvertFrom-Json
    • ConvertTo-Json
    • Get-TypeData
    • Invoke-RestMethod
    • Invoke-WebRequest
    • Remove-TypeData
    • Show-Command
    • Unblock-File
  • PSScheduledJob
    • Add-JobTrigger
    • Disable-JobTrigger
    • Disable-ScheduledJob
    • Enable-JobTrigger
    • Enable-ScheduledJob
    • Get-JobTrigger
    • Get-ScheduledJob
    • Get-ScheduledJobOption
    • New-JobTrigger
    • New-ScheduledJobOption
    • Register-ScheduledJob
    • Set-JobTrigger
    • Set-ScheduledJob
    • Set-ScheduledJobOption
    • Unregister-ScheduledJob
  • PSWorkflow
    • New-PSWorkflowExecutionOption
    • New-PSWorkflowSession
  • PSWorkflowUtility
    • Invoke-AsWorkflow
  • ISE
    • Get-IseSnippet
    • Import-IseSnippet
    • New-IseSnippet

Melhorias nos Cmdlets e Fornecedores De Núcleo Existentes

Windows PowerShell 3.0 inclui novas funcionalidades para cmdlets existentes, incluindo a sintaxe simplificada, e novos parâmetros para os seguintes cmdlets: Cmdlets de computador, cmdlets CSV, Get-ChildItem, Get-Command, Get-Content, Get-History, Measure-Object, Cmdlets de Segurança, Select-Object, Select-String, Split-Path, Start-Process, Tee-Object, Test-Connection, Add-Member e WMI.

Os fornecedores de Windows PowerShell também foram melhorados significativamente, incluindo o suporte do fornecedor de certificados para gerir certificados Secure Socket Layer (SSL) para alojamento na Web, suporte para credenciais, unidades de rede persistentes e fluxos de dados alternativos em unidades do sistema de ficheiros.

Importação e deteção de módulos remotos

Windows PowerShell 3.0 expande as capacidades de comunicação remota implícita, importação e deteção de módulos em computadores remotos. Os cmdlets do Módulo obtêm módulos em computadores remotos e importam os módulos para o computador remoto ou local com Windows PowerShell comunicação remota. O novo suporte de sessão CIM permite-lhe utilizar CIM e WMI para gerir computadores não Windows ao importar comandos para o computador local que é executado implicitamente no computador remoto.

Para obter mais informações, consulte os tópicos de ajuda para os Get-Module cmdlets e Import-Module .

Conclusão avançada do separador

A conclusão da tabulação na consola do Windows PowerShell conclui agora os nomes de cmdlets, parâmetros, valores de parâmetros, enumerações, tipos de .NET Frameworks, objetos COM, diretórios ocultos e muito mais. A funcionalidade de conclusão de separadores é totalmente reescrita com base numa nova árvore de sintaxe abstrata e analisador para suportar mais cenários, incluindo a análise dentro da memória de árvores e a conclusão do separador midline.

Carregamento Automático do Módulo

O Get-Command cmdlet obtém agora todos os cmdlets e funções de todos os módulos que estão instalados no computador, mesmo que o módulo não seja importado para a sessão atual.

Quando receber o cmdlet de que precisa, pode utilizá-lo imediatamente sem importar quaisquer módulos. Windows PowerShell módulos são agora importados automaticamente quando utiliza qualquer cmdlet no módulo. Já não precisa de procurar o módulo e importá-lo para utilizar os respetivos cmdlets.

A importação automática de módulos é acionada com o cmdlet num comando, em execução Get-Command para um cmdlet sem carateres universais ou em execução Get-Help para um cmdlet sem carateres universais.

Pode ativar, desativar e configurar a importação automática de módulos com a variável de preferência $PSModuleAutoLoadingPreference .

Para obter mais informações, veja about_Modules, about_Preference_Variables e os tópicos de ajuda para os Get-Command cmdlets e Import-Module .

Melhorias na Experiência do Módulo

Windows PowerShell 3.0 fornece suporte avançado de funcionalidades para módulos, incluindo as seguintes novas funcionalidades.

  1. Registo de módulos para módulos individuais (LogPipelineExecutionDetails) e a nova definição de Política de Grupo "Ativar Registo de Módulos"
  2. Objetos de módulo expandidos que expõem os valores do manifesto do módulo
  3. Nova propriedade ExportedCommands de módulos, incluindo módulos aninhados, que combina comandos de todos os tipos
  4. Deteção melhorada de módulos disponíveis (não importados), incluindo permitir os parâmetros Path e ListAvailable no mesmo comando
  5. Nova chave DefaultCommandPrefix nos manifestos do módulo que evita conflitos de nomes sem alterar o código do módulo.
  6. Requisitos de módulos melhorados, incluindo módulos necessários completamente qualificados com versão e GUID e importação automática de módulos necessários
  7. Operação mais silenciosa e simplificada do New-ModuleManifest cmdlet.
  8. Parâmetro New Module para #Requires
  9. Cmdlet melhorado Import-Module com os parâmetros MinimumVersion e RequiredVersion .

Deteção de Comandos Simplificada

Já não precisa de importar todos os módulos para descobrir os comandos disponíveis para a sua sessão. No Windows PowerShell 3.0, o Get-Command cmdlet obtém todos os comandos de todos os módulos instalados. Se utilizar um comando, o módulo que exporta o comando é automaticamente importado para a sua sessão.

O novo Show-Command cmdlet foi concebido especialmente para principiantes. Pode procurar comandos numa janela. Pode ver todos os comandos ou filtrar por módulo, importar um módulo ao clicar num botão, utilizar caixas de texto e listas pendentes para construir um comando válido e, em seguida, copiar ou executar o comando sem sair da janela.

Registos, Diagnósticos e Suporte Política de Grupo Melhorados

Windows PowerShell 3.0 melhora o suporte de registo e rastreio para comandos e módulos com suporte para registos de Rastreio de Eventos no Windows (ETW), uma propriedade editável LogPipelineExecutionDetails de módulos e a definição de Política de Grupo "Ativar Registo de Módulos". Agora, pode obter valores de parâmetros a partir dos detalhes do registo ao apresentar as propriedades do registo.

Melhorias na Formatação e saída

Os novos melhoramentos de formatação e saída melhoram a eficiência de todos os utilizadores Windows PowerShell. As melhorias incluem redirecionamento de saída para todos os fluxos, um cmdlet de Update-Type melhorado que adiciona tipos dinamicamente sem ficheiros Format.ps1xml, moldagem de palavras na saída, propriedades de formatação predefinidas de objetos personalizados, o tipo PSCustomObject , formatação melhorada para objetos WMI e objetos heterogéneos e suporte para detetar sobrecargas de métodos.

Experiência de Anfitrião da Consola Avançada

O programa anfitrião da consola Windows PowerShell tem novas funcionalidades no Windows PowerShell 3.0, incluindo um único apartamento com thread por predefinição. A nova opção "Executar com o PowerShell" no Explorador de Ficheiros permite-lhe executar scripts numa sessão sem restrições ao clicar com o botão direito do rato. A nova lógica de início do anfitrião da consola começa Windows PowerShell mais rápido e os novos tipos de letra permitem-lhe personalizar a experiência familiar da janela da consola.

Novos Cmdlets e APIs de Alojamento

A nova API de Cmdlets e a API de Alojamento incluem APIs de árvore de sintaxe avançada pública (AST) e APIs para paginação de pipelines, pipelines aninhados, conclusão do separador conjuntos de área de execução, Windows RT, atributo cmdlet obsoleto e propriedades Verbo e Substantivo do objeto FunctionInfo.

Melhorias de Desempenho

As melhorias significativas de desempenho no Windows PowerShell são provenientes do novo analisador de linguagem, criado com base na Linguagem DLR (Dynamic Runtime Language) no .NET Framework 4., juntamente com a compilação de scripts de runtime, melhorias de fiabilidade do motor e alterações ao algoritmo do que melhoram o Get-ChildItem seu desempenho, especialmente ao procurar partilhas de rede.

RunAs e Suporte de Anfitrião Partilhado

Windows PowerShell 3.0 inclui suporte para runAs e funcionalidades de Anfitrião Partilhado.

A funcionalidade RunAs, concebida para Windows PowerShell Fluxo de Trabalho, permite que os utilizadores de uma configuração de sessão criem sessões que são executadas com a permissão de uma conta de utilizador partilhada. Isto permite que os utilizadores com menos privilégios executem comandos e scripts específicos com permissões de administrador e reduz a necessidade de adicionar menos utilizadores seniores ao grupo Administradores.

A funcionalidade SharedHost permite que vários utilizadores em vários computadores se liguem a uma sessão de fluxo de trabalho em simultâneo e monitorizem o progresso de um fluxo de trabalho. Os utilizadores podem iniciar um fluxo de trabalho num computador e, em seguida, ligar à sessão de fluxo de trabalho noutro computador sem desligar a sessão do computador original. Os utilizadores têm de ter as mesmas permissões e utilizar a mesma configuração de sessão. Para obter mais informações, veja "Executar um Fluxo de Trabalho Windows PowerShell" no Introdução com Windows PowerShell Fluxo de Trabalho.

Melhorias especiais no processamento de carateres

Para melhorar a capacidade de Windows PowerShell 3.0 interpretar e processar corretamente carateres especiais, o parâmetro LiteralPath, que processa carateres especiais em caminhos, é válido em quase todos os cmdlets que têm um parâmetro Path, incluindo os novos Update-Help e Save-Help cmdlets. O analisador também inclui lógica especial para melhorar o processamento do caráter de acento anterior (`) e parênteses retos em nomes de ficheiros e caminhos.

Consulte também