Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Windows PowerShell 5.0 inclui novas funcionalidades significativas que prolongam a sua utilização, melhoram a sua usabilidade e permitem controlar e gerir ambientes baseados em Windows de forma mais fácil e abrangente.
O Windows PowerShell 5.0 é compatível com versões anteriores. 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.
Instalação do Windows PowerShell
O Windows PowerShell 5.0 está instalado por defeito 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, descarregue e instale o Windows Management Framework 5.0. Certifique-se de ler os detalhes do download e de cumprir todos os requisitos do sistema antes de instalar o Windows Management Framework 5.0.
Neste tópico
- Atualizações DSC do Windows PowerShell 4.0 na 3000850 da base de
- Novas funcionalidades no Windows PowerShell 5.0
- Novas funcionalidades no Windows PowerShell 4.0
- Novas funcionalidades no Windows PowerShell 3.0
Atualizações do Windows PowerShell 4.0 em novembro de 2014 (KB 3000850)
Muitas atualizações e melhorias para a Configuração de Estado Desejado (DSC) do Windows PowerShell no Windows PowerShell 4.0 estão disponíveis no conjunto de atualizações 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 correndo Get-Hotfix -Id KB3000850 no Windows PowerShell.
Atualizações dos cmdlets existentes no módulo PSDesiredStateConfiguration
- O Get-DscResource é mais rápido (especialmente em ISE).
- Start-DscConfiguration tem um novo parâmetro, -UseExisting, que reaplica a última configuração aplicada.
- Start-DscConfiguration -Force foi corrigido.
- O Get-DscLocalConfigurationManager apresenta informações mais úteis sobre o estado do motor.
- Test-DscConfiguration agora devolve o nome do computador juntamente com Verdadeiro ou Falso.
- O New-DscChecksum agora suporta caminhos UNC.
Novos cmdlets no módulo PSDesiredStateConfiguration
- Update-DscConfiguration: Realiza uma verificação de pull do servidor a pedido.
- Stop-DscConfiguration: Para uma configuração que já está a correr.
- Remove-DscConfigurationDocument: Permite remover documentos de configuração em várias fases (pendentes, anteriores ou atuais).
Melhorias linguísticas
- O DependsOn agora suporta recursos compostos.
- O DependsOn agora suporta números nos nomes das instâncias de recursos.
- Expressões de nós que avaliam para vazio deixam de gerar erros.
- Um erro que ocorre se uma expressão de nó for avaliada como vazia foi corrigido.
- As configurações que chamam configurações funcionam agora na consola PowerShell do Windows.
Melhorias no modo pull
- O modo pull agora suporta todos os ficheiros ZIP.
- AllowModuleOverwrite agora funciona corretamente.
Melhorias na resiliência
- O novo DebugMode permite-te recarregar módulos de recursos.
- Se ocorrer uma falha de configuração, o ficheiro pendente.mof não é eliminado.
- O Gestor de Configuração Local (LCM) é agora mais resiliente quando as definições de metaconfiguração estão corrompidas.
Melhorias no diagnóstico
- Um aviso é exibido quando o LCM define o temporizador para definições diferentes daquelas que especificou.
- Os ficheiros de registo de erros contêm agora a pilha de chamadas para recursos PowerShell do Windows.
Melhorias de 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ó alvo.
- 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 versionamento: O DSC pode agora reconhecer um documento gerado num cliente mais recente (incluído com o WMF 5.0).
- O recurso LocalConfigurationManager tem uma nova propriedade, ActionAfterReboot.
Melhorias na prevenção de erros
- A versão do módulo é agora aplicada antes de uma configuração ser aplicada.
- DebugPreference está agora definido corretamente para chamadas Get-, Set- ou Test-TargetResource.
Melhorias no manuseamento de credenciais
- Agora é utilizado um certificado, se forem especificados tanto o Certificado como o PSDscAllowTextPassword .
- As credenciais são desencriptadas, mesmo para o 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 do Pacote
- Já não instala o pacote errado (seja de fontes locais ou web).
- Agora suporta HTTPS.
- Agora há suporte para HTTPS no recurso Pacote.
- O recurso Archive agora suporta credenciais.
- O recurso do Pacote
Novas funcionalidades no Windows PowerShell 5.0
- Novas funcionalidades no Windows PowerShell
- Novas funcionalidades na Configuração do Estado Desejado do Windows PowerShell
- Novas funcionalidades no Windows PowerShell ISE
- Novas funcionalidades nos Serviços Web Windows PowerShell
- Correções de bugs notáveis no Windows PowerShell 5.0
Novas funcionalidades no Windows PowerShell
A partir do Windows PowerShell 5.0, pode desenvolver usando classes, sintaxe formal e semântica semelhantes a outras linguagens de programação orientadas a objetos. Classe, Um e outras palavras-chave foram adicionadas à linguagem PowerShell do Windows para suportar a nova funcionalidade. Para mais informações sobre como trabalhar com aulas, consulte about_Classes.
O Windows PowerShell 5.0 introduz um novo fluxo de informação estruturado que pode usar para transmitir dados estruturados entre um script e os seus chamadores (ou ambiente de alojamento). Agora pode usar Write-Host para emitir saída para o fluxo de informação. Os fluxos de informação também funcionam para PowerShell.Streams, jobs, jobs agendados e fluxos de trabalho. As seguintes funcionalidades suportam o fluxo de informação.
- Um novo cmdlet Write-Information que permite especificar como o PowerShell do Windows lida com dados de fluxo de informação para um comando. Write-Host é um wrapper para Write-Information. Write-Information é também uma atividade de fluxo de trabalho suportada.
- Dois novos parâmetros comuns, InformationVariable e InformationAction, permitem-lhe determinar como os fluxos de informação de um comando são exibidos. Os valores válidos para InformationAction são SilentlyContinue, Stop, Continue, Inquire, Ignore ou Suspende, sendo SilentlyContinue o padrão. O InformationVariable especifica uma string como o nome de uma variável à qual queres guardar os dados Write-Host de um comando.
- Uma nova variável de preferência, InformationPreference, especifica a sua preferência padrão para dados de fluxo de informação numa sessão Windows PowerShell. O valor padrão é SilentlyContinue.
- Foram adicionados dois novos parâmetros comuns de fluxo de trabalho, PSInformation e InformationAction.
- Quando usa o comando Format-Table, as colunas da tabela são agora formatadas automaticamente ao avaliar os primeiros 300ms de dados que passam pelo fluxo.
Em colaboração com a Microsoft Research, foi adicionado um novo cmdlet, o ConvertFrom-String. ConvertFrom-String permite extrair e analisar objetos estruturados a partir do conteúdo de cadeias de texto. Para mais informações, consulte ConvertFrom-String.
Um novo cmdlet Convert-String formata automaticamente o texto com base num exemplo que fornece num parâmetro -Example.
Um novo módulo, Microsoft.PowerShell.Archive, inclui cmdlets que 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 dos ficheiros comprimidos neles.
Um novo módulo, o PackageManagement, permite-lhe descobrir e instalar pacotes de software na Internet. O módulo PackageManagement (anteriormente conhecido como OneGet) é um gestor ou multiplexador de gestores de pacotes existentes (também chamados de fornecedores de pacotes) para unificar a gestão de pacotes do Windows com uma única interface PowerShell do Windows.
Um novo módulo, o PowerShellGet, permite-lhe encontrar, instalar, publicar e atualizar módulos e recursos DSC na PowerShell Gallery, ou num repositório interno de módulos que pode configurar executando o Register-PSRepository cmdlet.
Foi adicionada uma nova palavra-chave de linguagem, Oculta, para especificar que um membro (uma propriedade ou método) não é mostrado por defeito nos resultados Get-Member (a menos que adicione o parâmetro -Force). Propriedades ou métodos que foram marcados como ocultos também não aparecem nos resultados do IntelliSense, a menos que esteja num contexto onde o membro deveria ser visível; Por exemplo, a variável automática $This deve mostrar membros ocultos quando está no método de classe.
Novo-Item, Remoção-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 executando o New-Item cmdlet.
Get-ChildItem também tem um novo parâmetro -Depth, que se usa 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 filhas dentro da pasta atual e de todas as pastas dentro das pastas filhas.
Copy-Item agora permite copiar ficheiros ou pastas de uma sessão PowerShell do Windows para outra, o que significa que pode copiar ficheiros para sessões ligadas a computadores remotos (incluindo computadores que correm Nano Server e, portanto, não têm outra interface). Para copiar ficheiros, especifique os IDs PSSession como o valor dos novos parâmetros de -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.
A transcrição do PowerShell do Windows foi melhorada para se aplicar a todas as aplicações de alojamento (como o Windows PowerShell ISE), além do anfitrião da consola (powershell.exe). As opções de transcrição (incluindo ativar uma transcrição a nível de sistema) podem ser configuradas ativando a definição Ativar a PolicyPolicy do Grupo de Transcrição PowerShell , encontrada em Modelos Administrativos/Componentes Windows/PowerShell do Windows.
Uma nova funcionalidade detalhada de rastreamento de scripts permite-lhe ativar o rastreamento detalhado e a análise do uso de scripts do Windows PowerShell num sistema. Depois de ativar o rastreamento detalhado de scripts, o Windows PowerShell regista todos os blocos de script no registo de eventos Event Tracing for 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údos usando o formato padrão IETF para proteger criptograficamente mensagens conforme documentadas pela 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-te definir opções de depuração num espaço de execução e iniciar e parar a depuração num espaço de execução. Para depurar runspaces arbitrários (isto é, runspaces que não são o runspace padrão para uma consola Windows PowerShell ou uma sessão ISE do Windows PowerShell), o Windows PowerShell permite-te definir pontos de interrupção num script, e adicionar pontos de interrupção impedem a execução do script até poderes anexar um depurador para depurar o script do espaço de execução. O suporte para depuração aninhada para espaços de execução arbitrários foi adicionado ao depurador de scripts PowerShell do Windows para espaços de execução.
Um novo cmdlet de Format-Hex foi adicionado ao módulo Microsoft.PowerShell.Utility . Format-Hex permite visualizar 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údo para e de uma sessão PowerShell do Windows. Os cmdlets Clipboard suportam imagens, ficheiros de áudio, listas de ficheiros e texto.
Um novo cmdlet, Clear-RecycleBin, foi adicionado ao módulo Microsoft.PowerShell.Management ; este cmdlet esvazia o Contentor de Reciclagem para um disco fixo, que inclui discos externos. Por defeito, é solicitado 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 defeito, 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 aproveita a classe Guid do .NET Framework para gerar um GUID, útil quando está a escrever scripts ou recursos DSC.
Como a informação sobre a versão do ficheiro pode ser enganadora, especialmente após a correção de um ficheiro, novas propriedades de script FileVersionRaw e ProductVersionRaw estão disponíveis para os objetos FileInfo. Por exemplo, pode executar o seguinte comando para mostrar os valores destas propriedades para powershell.exe, onde $pid contém o ID do processo para uma sessão em execução do Windows PowerShell:
Get-Process -Id $pid -FileVersionInfo | Format-List *version* -ForceNovos cmdlets Enter-PSHostProcess e Exit-PSHostProcess permitem depurar scripts PowerShell do Windows em processos separados do processo atual que está a correr na consola PowerShell do Windows. Execute Enter-PSHostProcess para entrar ou anexar a um ID de processo específico e depois execute Get-Runspace para devolver os espaços de execução ativos dentro do processo. Executa Exit-PSHostProcess para te desligar do processo quando terminares de depurar o script dentro do processo.
Um novo cmdlet de Wait-Debugger foi adicionado ao módulo Microsoft.PowerShell.Utility . Pode executar Wait-Debugger para parar um script no depurador antes de executar a próxima instrução no script.
O depurador de workflow do Windows PowerShell agora suporta a conclusão de comandos ou de separadores, e pode depurar funções de workflow aninhadas. Agora pode pressionar Ctrl+Break para introduzir o depurador num script em execução, tanto em sessões locais como remotas, e num script de workflow.
Foi adicionado um cmdlet Debug-Job ao módulo Microsoft.PowerShell.Core para depurar scripts de tarefas em execução para o fluxo de trabalho do Windows PowerShell, em segundo plano e trabalhos a correr em sessões remotas.
Foi adicionado um novo estado, AtBreakpoint, para trabalhos PowerShell do Windows. O estado AtBreakpoint aplica-se quando um trabalho está a executar um script que inclui pontos de interrupção definidos, e o script atingiu um ponto de interrupção. Quando um trabalho é parado num ponto de interrupção de depuração, deve depurar o trabalho executando o Debug-Job cmdlet.
O Windows PowerShell 5.0 implementa suporte para múltiplas versões de um único módulo Windows PowerShell na mesma pasta em $PSModulePath. Foi adicionada uma propriedade RequiredVersion à classe ModuleSpecification para ajudar a obter a versão desejada de um módulo; esta propriedade é mutuamente exclusiva da propriedade ModuleVersion. O RequiredVersion é agora suportado como parte do valor do parâmetro FullyQualifiedName dos cmdlets Get-Module, Import-Module e Remove-Module.
Agora pode realizar a validação da versão do módulo executando o Test-ModuleManifest cmdlet.
Os resultados do cmdlet Get-Command agora exibem uma coluna de Versão; uma nova propriedade Version foi adicionada à classe CommandInfo. Get-Command mostra comandos de múltiplas versões do mesmo módulo. A propriedade Version faz também parte das classes derivadas de CmdletInfo: CmdletInfo e ApplicationInfo.
Get-Command tem um novo parâmetro, -ShowCommandInfo, que devolve a informação do ShowCommand como PSObjects. Esta funcionalidade é especialmente útil quando Show-Command é executado no Windows PowerShell ISE usando o Windows PowerShell remoto. O parâmetro -ShowCommandInfo substitui a função Get-SerializedCommand existente no módulo Microsoft.PowerShell.Utility, mas o script Get-SerializedCommand ainda está disponível para suportar scripts downlevel.
Um novo Get-ItemPropertyValue cmdlet permite-lhe obter o valor de uma propriedade sem usar notação pontográfica. Por exemplo, em versões mais antigas do PowerShell do Windows, pode executar o seguinte comando para obter o valor da propriedade Application Base 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 correr Get-ItemPropertyValue -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase.
A consola PowerShell do Windows agora utiliza coloração sintática, tal como no Windows PowerShell ISE.
Um novo módulo NetworkSwitch contém cmdlets que permitem aplicar a configuração de switch, LAN virtual (VLAN) e a configuração básica de portas de switch de rede de Camada 2 a switches de rede certificados pelo logótipo Windows Server 2012 R2.
O parâmetro FullyQualifiedName foi adicionado aos cmdlets Import-Module e Remove-Module, para suportar o armazenamento de múltiplas versões de um único módulo.
Save-Help, Update-Help, Import-PSSession, Export-PSSession e Get-Command têm um novo parâmetro, FullQualifiedModule, do tipo ModuleSpecification. Adicione este parâmetro para especificar um módulo pelo seu nome totalmente qualificado.
O valor da $PSVersionTable.PSVersion foi atualizado para a versão 5.0.
O WMF 5.0 (PowerShell 5.0) inclui o módulo Pester . Pester é um framework de testes unitários para PowerShell. Fornece algumas palavras-chave fáceis de usar que permitem criar testes para os seus scripts.
Novas funcionalidades na Configuração do Estado Desejado do Windows PowerShell
- As melhorias da linguagem PowerShell do Windows permitem definir recursos de Configuração de Estado Desejado (DSC) do Windows PowerShell usando classes. Import-DscResource é agora uma palavra-chave verdadeiramente dinâmica; O PowerShell do Windows analisa o módulo raiz do módulo especificado, procurando classes que contenham o atributo DscResource. Agora pode usar classes para definir recursos DSC, nos quais não é necessário nem um ficheiro MOF nem uma subpasta DSCResource na pasta do módulo. Um ficheiro de módulo Windows PowerShell pode conter múltiplas 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 alvo em que quer 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 centralizado de erros DSC, a informação rica de erro não só é registada no registo de eventos, como pode ser enviada para um local central para análise posterior. Pode usar esta localização central para armazenar erros de configuração DSC que tenham ocorrido em qualquer servidor no seu ambiente. Após a definição do servidor de relatórios na meta-configuração, todos os erros são enviados para o servidor de relatórios e depois armazenados numa base de dados. Pode configurar esta funcionalidade independentemente de um nó alvo estar configurado para puxar configurações de um servidor de pull.
- Melhorias no Windows PowerShell ISE facilitam a autoria de recursos DSC. Agora pode fazer o seguinte.
- Liste todos os recursos DSC dentro de um bloco de configuração ou nó introduzindo Ctrl+Espaço numa linha em branco dentro do bloco.
- Completamento automático das propriedades do recurso do tipo de enumeração .
- Conclusão automática da propriedade DependsOn dos recursos DSC, baseada noutras instâncias de recursos na configuração.
- Melhoria da completude de tabulação dos valores das propriedades dos recursos.
- Um utilizador pode agora executar um recurso sob um conjunto especificado de credenciais adicionando o atributo PSDscRunAsCredential a um bloco de nó. Por exemplo, PSDscRunAsCredential = Get-Credential Contoso\DscUser. Esta funcionalidade é útil para criar configurações que executam instaladores do Windows Installer e executáveis, acedam ao grupo de registo por utilizador ou realizam outras tarefas fora do contexto atual do utilizador.
- Foi adicionado suporte a 32 bits (baseado em x86) para a palavra-chave Configuração .
- O Windows PowerShell inclui agora suporte para ajuda personalizada para configurações DSC, definidas pela adição de [CmdletBinding()] à função de configuração gerada.
- Um novo atributo DscLocalConfigurationManager designa um bloco de configuração como meta-configuração, que é usado para configurar o DSC Local Configuration Manager. Este atributo restringe uma configuração a conter apenas itens que configuram o Gestor de Configuração Local DSC. Durante o processamento, esta configuração gera um ficheiro *.meta.mof que é depois enviado para os nós alvo apropriados ao executar o cmdlet Set-DscLocalConfigurationManager.
- Configurações parciais são agora permitidas no Windows PowerShell 5.0. Podes entregar documentos de configuração a um nó em fragmentos. Para que um nó receba múltiplos fragmentos de um documento de configuração, o Gestor de Configuração Local do nó deve primeiro ser definido para especificar os fragmentos esperados
- A sincronização entre computadores é nova no DSC no Windows PowerShell 5.0. usando os recursos WaitFor* incorporados (WaitForAll, WaitForAny e WaitForSome), pode agora especificar dependências entre computadores durante execuções de configuração, sem orquestrações externas. Estes recursos proporcionam sincronização nó a nó usando ligações CIM através do protocolo WS-Man. Uma configuração pode esperar que o estado específico do recurso de outro computador mude.
- O Just Enough Administration (JEA), uma nova funcionalidade de segurança de delegação, utiliza espaços de execução restritos DSC e Windows PowerShell para ajudar a proteger as empresas contra perda ou comprometimento de dados por parte dos colaboradores, seja intencional ou não. Para mais informações sobre a JEA, incluindo onde pode descarregar o recurso xJEA DSC, consulte Just Enough Administration.
- Os seguintes novos cmdlets foram adicionados ao módulo PSDesiredStateConfiguration.
- Um novo cmdlet Get-DscConfigurationStatus obtém informação de alto nível sobre o estado da configuração de um nó alvo. Pode obter o estado do último, ou de todas as configurações.
- Um novo cmdlet de Compare-DscConfiguration compara uma configuração especificada com o estado real de um ou mais nós-alvo.
- Um novo cmdlet Publish-DscConfiguration copia um ficheiro MOF de configuração para um nó alvo, mas não aplica a configuração. A configuração é aplicada durante a próxima passagem de consistência, ou quando executa o Update-DscConfiguration cmdlet.
- Um novo cmdlet de Test-DscConfiguration permite-lhe verificar se uma configuração resultante corresponde à configuração desejada, devolvendo ou Verdadeiro se a configuração corresponder à desejada, ou Falso se a configuração real não corresponder à configuração desejada.
- Um novo cmdlet de Update-DscConfiguration obriga a processar uma configuração. Se o Gestor de Configuração Local estiver em modo pull, o cmdlet obtém a configuração do servidor pull antes de a aplicar.
Novas funcionalidades no Windows PowerShell ISE
- Agora pode editar scripts e ficheiros remotos do Windows PowerShell 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 depois executando o caminho e o nome do ficheiro PSEdit <no computador> remoto. Esta funcionalidade facilita a edição de ficheiros PowerShell do Windows que estão armazenados na opção de instalação Server Core do Windows Server, onde o Windows PowerShell ISE não pode correr.
- 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), intercede o depurador tanto para scripts locais como em execução remota.
Novas funcionalidades nos Serviços Web Windows PowerShell (Extensão de Gestão OData IIS)
- A partir do Windows PowerShell 5.0, pode gerar um conjunto de cmdlets do Windows PowerShell com base na funcionalidade exposta por um determinado endpoint OData, executando o cmdlet Export-ODataEndpointProxy, encontrado no novo módulo Microsoft.PowerShell.OdataUtils .
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 se trabalha com objetos COM.
- Foram feitas melhorias significativas de desempenho na conclusão da primeira aba numa sessão do Windows PowerShell, reduzindo o tempo de conclusão da tabulação em quase 500 ms.
Novas funcionalidades no Windows PowerShell 4.0
O Windows PowerShell 4.0 é compatível com versões anteriores. Cmdlets, fornecedores, módulos, snap-ins, scripts, funções e perfis que foram concebidos para Windows PowerShell 3.0 e Windows PowerShell 2.0 funcionam no Windows PowerShell 4.0 sem alterações.
O Windows PowerShell 4.0 está instalado por defeito no Windows 8.1 e no Windows Server 2012 R2. Para instalar o Windows PowerShell 4.0 no Windows 7 com SP1, ou Windows Server 2008 R2, descarregue e instale o Windows Management Framework 4.0. Certifique-se de ler os detalhes do download e cumprir todos os requisitos do sistema antes de instalar o Windows Management Framework 4.0.
- Novas funcionalidades no Windows PowerShell
- Novas funcionalidades no Ambiente de Scripting Integrado do Windows PowerShell (ISE)
- Novas funcionalidades no Fluxo de Trabalho do Windows PowerShell
- Novas funcionalidades nos Serviços Web Windows PowerShell
- Novas funcionalidades no Windows PowerShell Web Access
- Correções de bugs notáveis no Windows PowerShell 4.0
O Windows PowerShell 4.0 inclui as seguintes novas funcionalidades.
Novas funcionalidades no Windows PowerShell
- O 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 para o ambiente em que estes serviços funcionam. Para mais informações sobre DSC, consulte Começar com a Configuração do Estado Desejado do PowerShell do Windows.
- O Save-Help agora permite-lhe guardar ajuda para módulos instalados em computadores remotos. Podes usar Save-Help para descarregar o módulo Help de um cliente ligado à Internet (onde nem todos os módulos para os quais precisas de ajuda estão necessariamente instalados), e depois copiar a Ajuda guardada para uma pasta partilhada remota ou para um computador remoto que não tenha acesso à Internet.
- O depurador Windows PowerShell foi melhorado para permitir a depuração dos fluxos de trabalho do Windows PowerShell, bem como de scripts que estão a correr em computadores remotos. Os fluxos de trabalho do Windows PowerShell podem agora ser depurados ao nível do script a partir da linha de comandos do Windows PowerShell ou do Windows PowerShell ISE. Os scripts PowerShell do Windows, incluindo fluxos de trabalho de scripts, podem agora ser depurados em sessões remotas. As sessões remotas de depuração são preservadas sobre sessões remotas do Windows PowerShell que são desligadas e depois reconectadas.
- Um parâmetro RunNow para Register-ScheduledJob e Set-ScheduledJob elimina a necessidade de definir uma data e hora imediatas de início para trabalhos usando o parâmetro Trigger .
- Invoke-RestMethod e Invoke-WebRequest permitem agora definir todos os cabeçalhos usando 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 de Get-Module permite agora especificar um módulo usando o nome, a versão e, opcionalmente, o seu GUID.
- A definição padrão da política de execução no Windows Server 2012 R2 é RemoteSigned. No Windows 8.1, não há alterações nas definições predefinidas.
- A partir do Windows PowerShell 4.0, é suportada invocação de métodos usando nomes de métodos dinâmicos. Podes usar uma variável para armazenar um nome de método e depois invocar dinamicamente o método chamando a variável.
- Os trabalhos de workflow assíncronos deixam de ser eliminados quando o período de time-out especificado pelo parâmetro comum do workflow PSElapsedTimeoutSec termina.
- Um novo parâmetro, RepeatIndefinitely, foi adicionado aos cmdlets New-JobTrigger e Set-JobTrigger . Isto elimina a necessidade de especificar um valor TimeSpan.MaxValue para o parâmetro RepetitionDuration para executar um trabalho agendado repetidamente durante um período indefinido.
- Foi adicionado um parâmetro Passthru aos cmdlets Enable-JobTrigger e Disable-JobTrigger . O parâmetro Passthru mostra quaisquer objetos que sejam criados ou modificados pelo seu 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 usam agora o parâmetro WorkgroupName.
- Foi adicionado um novo parâmetro comum, PipelineVariable. O PipelineVariable permite-lhe guardar os resultados de um comando por canal (ou parte de um comando por canal) como uma variável que pode ser passada pelo restante do pipeline.
- A filtragem de colecções usando uma sintaxe de método é agora suportada. Isto significa que agora pode filtrar uma coleção de objetos usando sintaxe simplificada, semelhante à do Where() ou Where-Object, formatada como uma chamada de método. Segue-se um exemplo: (Get-Process).where({$_. Nome -match 'powershell'})
- O cmdlet Get-Process tem um novo parâmetro switch, IncludeUserName.
- Foi adicionado um novo cmdlet, Get-FileHash, que devolve um hash de ficheiro num dos vários formatos para um ficheiro especificado.
- No Windows PowerShell 4.0, se um módulo usar a chave DefaultCommandPrefix no seu manifesto, ou se o utilizador importar um módulo com o parâmetro Prefix , a propriedade ExportedCommands do módulo mostra os comandos no módulo com o prefixo. Quando executa os comandos usando a sintaxe qualificada pelo módulo, NomeMódulo\NomeComando, os nomes dos comandos devem incluir o prefixo.
- O valor da $PSVersionTable.PSVersion foi atualizado para a versão 4.0.
-
O comportamento do operador onde( ) mudou.
Collection.Where('property -match name')Aceitar uma expressão de cadeia neste formato"Property -CompareOperator Value"já não é suportado. No entanto, o operador Where() aceita expressões de cadeia no formato de um bloco de script; isto ainda é suportado.
Novas funcionalidades no Ambiente de Scripting Integrado do Windows PowerShell (ISE)
- O Windows PowerShell ISE suporta tanto a depuração do fluxo de trabalho do Windows PowerShell como a depuração remota de scripts.
- O suporte ao IntelliSense foi adicionado para provedores e configurações de Configuração de Estado Desejado do Windows PowerShell.
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 usados pelo System Center Orchestrator; ou seja, pipelines que executam comandos simplesmente da esquerda para a direita, em vez de serem intercalados usando streaming.
- A ligação de parâmetros foi significativamente melhorada para funcionar fora de cenários de conclusão de tabulação, como com comandos que não existem no espaço de execução atual.
- O suporte para atividades personalizadas em contentores foi adicionado ao fluxo de trabalho do Windows PowerShell. Se um parâmetro de atividade for dos tipos Activity, Activity[] (ou for uma coleção genérica de atividades) e o utilizador tiver fornecido um bloco de script como argumento, então o Workflow do Windows PowerShell converte o bloco de script para XAML, tal como acontece com a compilação normal de script-to-workflow do Windows PowerShell.
- Após um crash, o Fluxo de Trabalho do Windows PowerShell religa-se automaticamente aos nós geridos.
- Agora pode limitar as instruções de atividade Foreach -Parallel usando a propriedade ThrottleLimit .
- O parâmetro comum ErrorAction tem um novo valor válido, Suspend, que é exclusivamente para fluxos de trabalho.
- Um endpoint de workflow fecha automaticamente se não houver sessões ativas, trabalhos em curso e trabalhos pendentes. Esta funcionalidade poupa recursos no computador que atua como servidor de fluxo de trabalho, quando as condições automáticas de fecho são cumpridas.
Novas funcionalidades nos Serviços Web Windows PowerShell
- Quando ocorre um erro no Windows PowerShell Web Services (PSWS, também chamado de Extensão de Gestão OData IIS), enquanto um cmdlet está a correr, mensagens de erro mais detalhadas são devolvidas ao chamador. Além disso, os códigos de erro seguem as diretrizes do código de erro da API REST do Windows Azure.
- Um endpoint pode agora definir a versão da API, bem como impor o uso de uma versão específica da API. Sempre que ocorrem incompatibilidades de versão entre cliente e servidor, os erros são apresentados tanto ao cliente como ao servidor.
- A gestão do esquema de despacho foi simplificada gerando automaticamente valores para quaisquer campos em falta no esquema. A geração ocorre, como ponto de partida útil, mesmo que o esquema de despacho não exista.
- O tratamento de tipos no PSWS foi melhorado para suportar tipos que usam um construtor diferente do construtor padrão, comportando-se de forma semelhante ao PSTypeConverter no Windows PowerShell. Isto permite usar tipos complexos com PSWS.
- O PSWS permite agora expandir uma instância associada enquanto executa uma consulta. Para conteúdos binários maiores (como imagens, áudio ou vídeo), o custo de transferência é significativo, e é melhor transferir dados binários sem codificação. O PSWS utiliza fluxos de recursos nomeados para transferir sem codificação. O fluxo de recursos nomeado é uma propriedade de uma entidade do tipo Edm.Stream . Cada fluxo de recursos nomeado tem um URI separado para operações GET ou UPDATE.
- As ações do OData fornecem agora um mecanismo para invocar métodos não-CRUD (Crear, Ler, Atualizar e Eliminar) num recurso. Pode invocar uma ação enviando um pedido HTTP POST para o URI definido para a ação. Os parâmetros para a 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 em Key As Segment permite que chaves individuais sejam representadas como segmentos. Note-se que referências que usam múltiplos valores de chave requerem valores separados por vírgulas em notação entre parênteses, como antes.
- Antes deste lançamento do PSWS, a única forma de realizar operações de Criar, Atualizar ou Eliminar era invocar Publicar, Colocar ou Eliminar num recurso de topo. Novidade nesta versão do PSWS, as operações de Recursos Contidos permitiam aos utilizadores alcançar os mesmos resultados enquanto atingiam o mesmo recurso de forma menos direta, aproximando-se como se esses recursos estivessem contidos.
Novas funcionalidades no Windows PowerShell Web Access
- Pode desligar-se e voltar a ligar-se às sessões existentes na consola web do Windows PowerShell Web Access. Um botão de Guardar na consola web permite-lhe desligar de uma sessão sem a apagar e voltar a ligar à sessão noutra ocasião.
- Os parâmetros predefinidos podem ser exibidos na página de iniciação de sessão. Para mostrar parâmetros predefinidos, configure valores para todas as definições exibidas na área de Definições Opcionais de Ligação da página de início de sessão num ficheiro chamado web.config. Podes usar o ficheiroweb.config para configurar todas as definições opcionais de ligação, exceto um segundo ou outro conjunto de credenciais.
- No Windows Server 2012 R2, pode gerir remotamente regras de autorização para o Windows PowerShell Web Access. Os comandos Add-PswaAuthorizationRule e Test-PswaAuthorizationRule incluem agora um parâmetro de credencial 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 de navegador, utilizando um novo separador para cada sessão. Já não precisa de abrir uma nova sessão de navegador para se ligar a uma nova sessão na consola web do Windows PowerShell.
Correções de bugs notáveis no Windows PowerShell 4.0
- O Get-Counter pode agora devolver contadores que contenham um carácter apóstrofo nas edições francesas do Windows.
- Agora pode visualizar o método GetType em objetos desserializados.
- #Requires instruções permitem agora que os utilizadores necessitem de direitos de acesso de Administrador, se necessário.
- O cmdlet Import-Csv agora ignora linhas em branco.
- Um problema em que o Windows PowerShell ISE consome demasiada memória quando está a executar um comando Invoke-WebRequest foi resolvido.
- O Get-Module agora apresenta as versões dos módulos numa coluna de Versão .
- Remove-Item -Recurse agora remove itens das subpastas, como esperado.
- Foi adicionada uma propriedade Nome de Utilizador aos objetos de saída Get-Process .
- O cmdlet Invoke-RestMethod devolve agora todos os resultados disponíveis.
- O Add-Member agora tem efeito nas hashtables, mesmo que as hashtables ainda não tenham sido acedidas.
- Select-Object -Expandir já não falha nem gera exceção se o valor da propriedade for nulo ou vazio.
- O Get-Process pode agora ser usado num pipeline com outros comandos que obtêm a propriedade ComputerName dos objetos.
- ConvertTo-Json e ConvertFrom-Json podem agora aceitar termos entre aspas duplas, e as suas mensagens de erro são agora localizáveis.
- O Get-Job agora devolve quaisquer trabalhos agendados concluídos, mesmo em novas sessões.
- Os problemas na montagem e desmontagem de VHDs usando o fornecedor FileSystem no Windows PowerShell 4.0 foram resolvidos. O PowerShell do Windows consegue agora detetar novos discos quando são montados na mesma sessão.
- Já não precisas de carregar explicitamente módulos de ScheduledJob ou Workflow para trabalhar com os seus tipos de trabalho.
- Foram feitas 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
O Windows PowerShell 3.0 inclui as seguintes novas funcionalidades.
- Fluxo de Trabalho PowerShell do Windows
- Acesso Web ao Windows PowerShell
- Novas funcionalidades do Windows PowerShell ISE
- Suporte para o Microsoft .NET Framework 4.0
- Suporte para o Ambiente de Pré-instalação do Windows
- Sessões Desconectadas
- Conectividade robusta de sessões
- Sistema de Ajuda Atualizável
- Ajuda Online Melhorada
- Integração CIM
- Ficheiros de Configuração de Sessão
- Tarefas Programadas e Integração do Agendador de Tarefas
- Melhorias da Linguagem PowerShell do Windows
- Novos Comandantes Principais
- Melhorias nos Comandantes e Prestadores Principais Existentes
- Importação e descoberta remota de módulos
- Completamento de Tabulação Melhorado
- Carregamento Automático do Módulo
- Melhorias na Experiência do Módulo
- Descoberta de Comandos Simplificados
- Melhoria do Registo, Diagnóstico e Apoio à Política de Grupo
- Melhorias de Formatação e Saída
- Experiência Melhorada do Host de Consola
- Novo Cmdlet e APIs de Alojamento
- Melhorias de desempenho
- RunAs e Suporte ao Host Partilhado
- Melhorias Especiais no Tratamento de Personagens
Fluxo de Trabalho PowerShell do Windows
O Fluxo de Trabalho do Windows PowerShell traz o poder do Windows Workflow Foundation para o Windows PowerShell.
Pode escrever fluxos de trabalho em XAML ou na linguagem PowerShell do Windows e executá-los tal como executaria um cmdlet. O Get-Command cmdlet recebe comandos de workflow e o Get-Help cmdlet recebe ajuda para os workflows.
Fluxos de trabalho são sequências de atividades de gestão multicomputador que são de longa duração, repetíveis, frequentes, paralelizáveis, interrompíveis, suspensíveis e reiniciáveis. Os fluxos de trabalho podem ser retomados a partir 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 a partir de ficheiros XAML. Pode escrever configurações de sessão personalizadas que permitam que o fluxo de trabalho ou as atividades de um fluxo de trabalho sejam executados por utilizadores delegados ou subordinados.
Seguem-se os benefícios do Fluxo de Trabalho do Windows PowerShell
- Automação de tarefas sequenciadas e de longa duração.
- Monitorização remota de tarefas de longa duração. O estado e o progresso das atividades são visíveis a qualquer momento.
- Gestão multicomputador. Executar simultaneamente tarefas como fluxos de trabalho em centenas de nós geridos. O Workflow do Windows PowerShell inclui uma biblioteca incorporada de parâmetros de gestão comuns, como o PSComputerName, que permitem 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 de ponta a ponta num único fluxo de trabalho.
- Persistência: um fluxo de trabalho é guardado (ou check-point) em pontos específicos definidos pelo seu autor, para que possas retomar o fluxo a partir da última tarefa persistente (ou checkpoint), em vez de reiniciar o workflow do início.
- Robustez. Recuperação automática de falhas. Os fluxos de trabalho sobrevivem a reinícios planeados e não planeados. Podes suspender a execução do fluxo de trabalho e depois retomá-lo a partir do último ponto de persistência. Os autores do fluxo de trabalho podem designar atividades específicas a serem reexecutadas em caso de falha num ou mais nós geridos.
- Capacidade de desligar, reconectar e executar em sessões desconectadas. Os utilizadores podem ligar-se e desligar-se do servidor de workflow, mas o workflow corre de forma contínua. Pode sair do 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.
- Agendamento. As tarefas de workflow podem ser agendadas como qualquer cmdlet ou script do Windows PowerShell.
- Fluxo de trabalho e limitação de ligações. A execução do fluxo de trabalho e as ligações aos nós podem ser limitadas, permitindo assim escalabilidade e cenários de alta disponibilidade.
Acesso Web ao Windows PowerShell
O Windows PowerShell Web Access é uma funcionalidade do Windows Server 2012 que permite aos utilizadores executar comandos e scripts PowerShell do Windows numa consola baseada na web. Os dispositivos que utilizam a consola web não necessitam de PowerShell do Windows, software de gestão remota ou instalações de plug-ins do navegador. Tudo o que é necessário é um gateway Windows PowerShell Web Access devidamente configurado e um navegador de dispositivos cliente que suporte JavaScript e aceite cookies.
Para mais informações, consulte Deploy Windows PowerShell Web Access.
Novas funcionalidades do Windows PowerShell ISE
Para o Windows PowerShell 3.0, o Windows PowerShell Integrated Scripting Environment (ISE) traz muitas funcionalidades novas, incluindo IntelliSense, Show-Command janela, um Painel de Consola unificado, excertos, correspondência de colchetes, secções expandir-colapsar, gravação automática, lista de itens recentes, cópia enriquecida, cópia de blocos e suporte completo para escrita de fluxos de trabalho de scripts Windows PowerShell. Para mais informações, consulte about_Windows_PowerShell_ISE.
Suporte para Microsoft .NET Framework 4
O Windows PowerShell é construído contra o Common Language Runtime 4.0. Os autores de cmdlets, scripts e fluxos de trabalho podem usar as novas classes Microsoft .NET Framework 4 no Windows PowerShell, com funcionalidades que incluem Compatibilidade e Implementação de Aplicações, Managed Extensibility Framework, Computação Paralela, Redes, Windows Communication Foundation e Windows Workflow Foundation.
Suporte para o Ambiente de Pré-instalação do Windows
O Windows PowerShell 3.0 é um componente opcional do Windows Preinstallation Environment (Windows PE) 4.0 para Windows 8. O Windows PE é um sistema operativo minimalista que inicia um computador sem sistema operativo e prepara-o para a instalação do Windows. O Windows PE pode ser usado para particionar 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. O Windows PowerShell 3.0 pode ser usado no Windows PE para gerir cenários de implantação, diagnóstico e recuperação.
Sessões Desconectadas
A partir do Windows PowerShell 3.0, as sessões persistentes geridas pelo utilizador ("PSSessions") que cria usando o New-PSSession cmdlet são guardadas no computador remoto. Já não dependem da sessão em que foram criados.
Agora pode desligar-se de uma sessão sem perturbar os comandos que estão a correr na mesma sessão. Podes fechar a sessão e desligar o computador. Mais tarde, podes voltar a ligar-te à sessão a partir de outra sessão no mesmo computador ou num computador diferente.
O parâmetro ComputerName do Get-PSSession cmdlet agora recebe todas as sessões do utilizador que se ligam ao computador, mesmo que tenham sido iniciadas numa sessão diferente num computador diferente. Podes ligar-te às sessões, obter os resultados dos comandos, iniciar novos comandos e depois desligar-te da sessão.
Novos cmdlets foram adicionados para suportar a funcionalidade Disconnected Sessions, incluindo Disconnect-PSSession, Connect-PSSession, e Receive-PSSession, e novos parâmetros foram adicionados aos cmdlets que gerem PSSessions, como o parâmetro InDisconnectedSession do Invoke-Command cmdlet.
A funcionalidade Sessões Desconectadas é suportada apenas quando os computadores tanto no extremo de origem ("cliente") como no de terminação ("servidor") da ligação estão a correr o Windows PowerShell 3.0.
Conectividade robusta de sessões
O 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 estipulado, o utilizador é notificado e a sessão é desconectada. Durante a tentativa de reconectar, o Windows PowerShell fornece feedback contínuo ao utilizador.
Se a sessão desconectada foi iniciada usando o InvokeCommand, o Windows PowerShell cria um trabalho para a sessão desconectada para facilitar a reconexão e retomada da execução.
Estas funcionalidades proporcionam uma experiência remota mais fiável e recuperável e permitem aos utilizadores realizar tarefas de longa duração que requerem sessões robustas, como fluxos de trabalho.
Sistema de Ajuda Atualizável
Agora pode descarregar ficheiros de ajuda atualizados para os cmdlets nos seus módulos. O Update-Help cmdlet identifica os ficheiros de ajuda mais recentes, descarrega-os da Internet, desempacota-os, valida-os e instala-os no diretório específico da língua correta para o módulo.
Para usar os ficheiros de ajuda atualizados, basta escrever Get-Help. Não precisa de reiniciar o Windows ou o Windows PowerShell. Para atualizar a ajuda para módulos no diretório $pshome, inicie o Windows PowerShell com a opção "Executar como administrador".
Para suportar utilizadores que não têm acesso à Internet e utilizadores atrás de firewalls, o novo Save-Help cmdlet descarrega ficheiros de ajuda para um diretório do sistema de ficheiros, como uma partilha de ficheiros. Os utilizadores podem então usar o Update-Help cmdlet para obter ficheiros de ajuda atualizados a partir da partilha de ficheiros.
Pode usar o Update-Help cmdlet para atualizar ficheiros de ajuda para todos ou módulos específicos em todas as culturas de interface suportadas. Pode até colocar um Update-Help comando no seu perfil PowerShell do Windows.
Por defeito, o Windows PowerShell descarrega os ficheiros de ajuda de um módulo no máximo uma vez por dia.
Os módulos Windows 8 e Windows Server 2012 não incluem ficheiros de ajuda. Para descarregar os últimos ficheiros de ajuda, escreva Update-Help. Para mais informações, escreva Get-Help (sem parâmetros) ou veja about_Updatable_Help.
Quando os ficheiros de ajuda para um cmdlet não estão instalados no computador, o Get-Help cmdlet passa a mostrar ajuda gerada automaticamente. A ajuda gerada automaticamente inclui a sintaxe dos comandos e instruções para usar o Update-Help cmdlet para descarregar ficheiros de ajuda.
Qualquer autor de módulo pode suportar a Ajuda Atualizável para o seu módulo. Podes incluir ficheiros de ajuda no módulo e usar o Updatable Help para os atualizar ou omitir os ficheiros de ajuda e usar o Updatable Help para os instalar. Para mais informações sobre como apoiar a Ajuda Atualizável, consulte Apoio à Ajuda Atualizável.
Ajuda Online Melhorada
A ajuda online do Windows PowerShell é um recurso valioso para todos os utilizadores, mas é especialmente importante para quem não instala ou não pode instalar ficheiros de ajuda atualizados.
Para obter ajuda online para qualquer cmdlet PowerShell do Windows, escreva:
Get-Help <cmdlet-name> -Online
O Windows PowerShell abre a versão online do tópico de ajuda no seu navegador de Internet predefinido.
A funcionalidade Get-Help -Online no Windows PowerShell 3.0 é agora ainda mais poderosa porque funciona mesmo quando os ficheiros de ajuda do cmdlet não estão instalados no computador. A funcionalidadeGet-Help -Online obtém o URI para o tópico de ajuda online a partir da propriedade HelpUri dos 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 em C# podem preencher a propriedade HelpUri criando um atributo HelpUri na classe cmdlet. Os autores de funções avançadas podem definir uma propriedade HelpUri no atributo CmdletBinding . O valor da propriedade HelpUri deve começar por "http" ou "https".
Também pode incluir um valor HelpUri no primeiro link relacionado de um ficheiro de ajuda cmdlet baseado em XML ou no arquivo . Diretiva de ligação de ajuda baseada em comentários numa função.
Para mais informações sobre apoio à ajuda online, consulte Apoio à Ajuda Online.
Integração CIM
O Windows PowerShell 3.0 inclui suporte para o Modelo de Informação Comum (CIM), que fornece definições comuns de informação de gestão para sistemas, redes, aplicações e serviços, permitindo a troca de informação de gestão entre sistemas heterogéneos. Suporte para CIM no Windows PowerShell 3.0, incluindo a capacidade de criar cmdlets para Windows PowerShell baseados em classes CIM novas ou existentes, comandos baseados em ficheiros XML de definição de cmdlets, suporte para CIM .NET Framework. 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 desenhar uma configuração de sessão personalizada usando 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 quais módulos, scripts e ficheiros de formato são carregados nas sessões, que cmdlets e elementos de linguagem os utilizadores podem usar, que módulos e scripts podem executar e que variáveis podem ver.
Pode desenhar uma sessão em que os utilizadores só podem executar os cmdlets de um módulo em particular, ou uma sessão em que os utilizadores tenham a linguagem completa, 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 estava disponível apenas para quem conseguia escrever um programa C# ou um script de arranque complexo. Agora, qualquer membro do grupo de Administradores no computador pode personalizar uma configuração de sessão usando um ficheiro de configuração.
Para criar um arquivo de configuração de sessão, use o cmdlet New-PSSessionConfigurationFile. Para aplicar o ficheiro de configuração de sessão a uma configuração de sessão, use os Register-PSSessionConfiguration cmdlets ou 'Set-PSSessionConfiguration.
Para mais informações, veja about_Session_Configuration_Files e New-PSSessionConfigurationFile.
Tarefas Programadas e Integração do Agendador de Tarefas
Agora pode agendar trabalhos em segundo plano do Windows PowerShell e geri-los no Windows PowerShell e no Agendador de Tarefas.
Os trabalhos agendados do Windows PowerShell são um híbrido útil entre trabalhos em segundo plano do Windows PowerShell e tarefas do Agendador de Tarefas.
Tal como os trabalhos em segundo plano do Windows PowerShell, os trabalhos agendados executam-se de forma assíncrona em segundo plano.
Instâncias de trabalhos agendados que foram concluídos podem ser geridas usando os cmdlets de tarefas, como Start-Job e Get-Job.
Tal como nas tarefas do Agendador de Tarefas, pode executar tarefas agendadas num calendário único ou recorrente, ou em resposta a uma ação ou evento. Pode visualizar e gerir trabalhos agendados no Agendador de Tarefas, ativá-los e desativá-los conforme necessário, executá-los ou usá-los como modelos, e definir as condições sob as quais os trabalhos começam.
Além disso, os trabalhos agendados vêm com um conjunto personalizado de cmdlets para os gerir. Os cmdlets permitem-te criar, editar, gerir, desativar e reativar tarefas agendadas, criar gatilhos de tarefas agendadas e definir opções de tarefas agendadas.
Para mais informações sobre empregos agendados, consulte about_Scheduled_Jobs.
Melhorias da Linguagem PowerShell do Windows
O Windows PowerShell 3.0 inclui muitas funcionalidades concebidas para tornar a sua linguagem mais simples, mais fácil de usar e evitar erros comuns. As melhorias incluem enumeração de propriedades, propriedades de contagem e comprimento em objetos escalares, novos operadores de redirecionamento, o modificador de âmbito $Using, variável automática PSItem, formatação flexível de scripts, atributos das variáveis, argumentos de atributos simplificados, nomes numéricos de comandos, o operador Stop-Parsing, melhoria do splatting de arrays, novos operadores de bits, dicionários ordenados, casting PSCustomObject e ajuda baseada em comentários melhorada.
Novos Comandantes Principais
Foram adicionados novos cmdlets à instalação do Windows PowerShell, incluindo cmdlets para gerir trabalhos agendados, sessões desconectadas, integração com 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
- Disconnect-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 Comandantes e Prestadores Principais Existentes
O 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, comandos de segurança, Select-Object, Select-String, Split-Path, Start-Process, Tee-Object, Test-Connection, Add-Member e WMI cmdlets.
Os fornecedores Windows PowerShell também foram significativamente melhorados, incluindo o suporte de fornecedores de certificados para gerir certificados da Camada Segura de Socintes (SSL) para alojamento web, suporte para credenciais, discos de rede persistentes e fluxos de dados alternativos em unidades de sistema de ficheiros.
Importação e descoberta remota de módulos
O Windows PowerShell 3.0 estende as capacidades de descoberta, importação e remoção implícita de módulos em computadores remotos. Os módulos cmdlets recebem módulos em computadores remotos e importam os módulos para o computador remoto ou local usando o Windows PowerShell remoto. O novo suporte a sessões CIM permite usar CIM e WMI para gerir computadores não Windows, importando comandos para o computador local que correm implicitamente no computador remoto.
Para mais informações, consulte os tópicos de ajuda para os Get-Module cmdlets e Import-Module .
Completamento de Tabulação Melhorado
A conclusão de tabulação na consola PowerShell do Windows agora completa os nomes dos cmdlets, parâmetros, valores de parâmetros, enumerações, tipos do .NET Frameworks, objetos COM, diretórios ocultos e muito mais. A funcionalidade de conclusão de tabulação é completamente reescrita com base num novo parser e numa árvore de sintaxe abstrata para suportar mais cenários, incluindo árvores de análise em memória e conclusão de tabulação a meio da linha.
Carregamento Automático do Módulo
O Get-Command cmdlet recebe agora todos os cmdlets e funções de todos os módulos instalados no computador, mesmo que o módulo não seja importado para a sessão atual.
Quando recebes o cmdlet de que precisas, podes usá-lo imediatamente sem importar módulos. Os módulos PowerShell do Windows são agora importados automaticamente quando usas qualquer cmdlet no módulo. Já não precisas de procurar o módulo e importá-lo para usar os seus cmdlets.
A importação automática de módulos é acionada usando o cmdlet num comando, executando-se Get-Command para um cmdlet sem curingas, ou executando-se Get-Help com um cmdlet sem curingas.
Pode ativar, desativar e configurar a importação automática de módulos usando a variável de preferência $PSModuleAutoLoadingPreference .
Para mais informações, consulte 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
O Windows PowerShell 3.0 traz suporte avançado de funcionalidades aos módulos, incluindo as seguintes novas funcionalidades.
- Registo de módulos para módulos individuais (LogPipelineExecutionDetails) e a nova definição de Políticas de Grupo "Ativar Registo de Módulos"
- Objetos de módulo estendidos que expõem os valores do manifesto do módulo
- Nova propriedade ExportedCommands dos módulos, incluindo módulos aninhados, que combina comandos de todos os tipos
- Melhoria na descoberta dos módulos disponíveis (não importados), incluindo permitir os parâmetros Path e ListAvailable no mesmo comando
- Nova chave DefaultCommandPrefix nos manifestos do módulo que evita conflitos de nomes sem alterar o código do módulo.
- Requisitos de módulos melhorados, incluindo módulos obrigatórios totalmente qualificados com versão e GUID e importação automática dos módulos necessários
- Operação mais silenciosa e aerodinâmica do
New-ModuleManifestcmdlet. - Novo parâmetro de módulo para #Requires
- Cmdlet melhorado
Import-Modulecom parâmetros MinimumVersion e RequiredVersion .
Descoberta de Comandos Simplificados
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 recebe todos os comandos de todos os módulos instalados. E, se usares um comando, o módulo que exporta o comando é automaticamente importado para a tua sessão.
O novo Show-Command cmdlet foi desenhado especialmente para iniciantes. Podes procurar comandos numa janela. Pode visualizar todos os comandos ou filtrar por módulo, importar um módulo clicando num botão, usar caixas de texto e listas suspensas para construir um comando válido, e depois copiar ou executar o comando sem sair da janela.
Melhoria do Registo, Diagnóstico e Apoio à Política de Grupo
O Windows PowerShell 3.0 melhora o suporte para registo e rastreamento de comandos e módulos com suporte para registos de Eventos no Windows (ETW), uma propriedade editável LogPipelineExecutionDetails dos módulos e a definição de Políticas de Grupo "Ativar Registo de Módulos". Agora pode obter valores de parâmetros a partir dos detalhes dos logaritários ao mostrar as propriedades dos registos.
Melhorias de Formatação e Saída
Novas melhorias na formatação e na saída melhoram a eficiência de todos os utilizadores do 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, word wrap na saída, propriedades de formatação padrão de objetos personalizados, o tipo PSCustomObject , formatação melhorada para objetos WMI e objetos heterogéneos, e suporte para descobrir sobrecargas de métodos.
Experiência Melhorada do Host de Consola
O programa anfitrião da consola PowerShell do Windows tem novas funcionalidades no Windows PowerShell 3.0, incluindo apartamento de thread única por defeito. A nova opção "Executar com PowerShell" no Explorador de Ficheiros permite-lhe executar scripts numa sessão sem restrições apenas clicando com o botão direito. A nova lógica de lançamento do host da consola inicia o PowerShell do Windows mais rapidamente e as novas fontes permitem-te personalizar a experiência familiar da janela da consola.
Novo Cmdlet e APIs de Alojamento
A nova API Cmdlet e a API de Alojamento incluem APIs públicas de árvore avançada de sintaxe (AST) e APIs para paginação de pipelines, pipelines aninhados, completamento de separadores de pools de espaço de execução, Windows RT, o atributo Obsolete cmdlet e propriedades Verbo e Nome do objeto FunctionInfo.
Melhorias de desempenho
Melhorias significativas de desempenho no Windows PowerShell vêm do novo parser de linguagem, que é construído sobre a Dynamic Runtime Language (DLR) no .NET Framework 4, juntamente com compilação de scripts em tempo de execução, melhorias na fiabilidade do motor e alterações ao algoritmo Get-ChildItem que melhoram o seu desempenho, especialmente ao procurar partilhas de rede.
RunAs e Suporte ao Host Partilhado
O Windows PowerShell 3.0 inclui suporte para funcionalidades RunAs e Shared Host.
A funcionalidade RunAs , concebida para o fluxo de trabalho Windows PowerShell, permite aos utilizadores de uma configuração de sessão criar sessões que correm com a permissão de uma conta de utilizador partilhada. Isto permite que utilizadores menos privilegiados executem determinados comandos e scripts com permissões de administrador, e reduz a necessidade de adicionar utilizadores menos seniores ao grupo de Administradores.
A funcionalidade SharedHost permite que vários utilizadores em vários computadores se liguem simultaneamente a uma sessão de fluxo de trabalho e monitorizem o progresso do fluxo. Os utilizadores podem iniciar um fluxo de trabalho num computador e depois ligar-se à sessão de fluxo de trabalho noutro computador sem desligar a sessão do computador original. Os utilizadores devem ter as mesmas permissões e estar a usar a mesma configuração de sessão. Para mais informações, consulte "Executar um Fluxo de Trabalho PowerShell do Windows" em Começar com o Fluxo de Trabalho PowerShell do Windows.
Melhorias Especiais no Tratamento de Personagens
Para melhorar a capacidade do Windows PowerShell 3.0 de interpretar e tratar corretamente caracteres especiais, o parâmetro LiteralPath , que trata caracteres especiais em caminhos, é válido em quase todos os cmdlets que tenham um parâmetro Path , incluindo os novos Update-Help e Save-Help cmdlets. O analisador também inclui uma lógica especial para melhorar o tratamento do carácter backtick (`) e dos colchetes quadrados nos nomes dos ficheiros e caminhos.