Como as diferenças de versão afetam os comandos do PowerShell em computadores remotos?

2

As versões mais recentes do PowerShell, obviamente, virão com novos recursos e novos cmdlets. Isso é algo que é importante levar em consideração ao escrever scripts, ou orientações do PowerShell, que podem ser executadas localmente em sistemas com diferentes versões instaladas.

Um exemplo simples seria Get-FileHash . Esse comando é novo no PowerShell 4.0 e não estará disponível para nenhum sistema que esteja executando uma versão anterior. Ele não estará disponível especialmente para nenhum sistema que execute o Windows 7 SP0 (ou Server 2008 R2 SP0) ou inferior, já que o PowerShell 4.0 não é suportado nesses sistemas.

No entanto, além de uma simples questão de suporte à versão do PowerShell, até mesmo uma consideração adicional precisa ser feita para qual versão do sistema operacional está instalada. Por exemplo, Test-NetConnection está disponível apenas (atualmente) para o Windows 8.1 (ou Server 2012 R2), independentemente de qual versão do PowerShell esteja instalada em um sistema que esteja executando qualquer sistema operacional anterior.

Isso tudo é bastante simples para scripts ou guias que executam comandos do PowerShell no sistema local - se o sistema local tiver a versão A do sistema operacional e a versão B do PowerShell, você poderá usar (e poderá usar) todos os comandos suportados no sistema operacional A com PS B. No entanto, não parece tão claro ou direto para os casos em que um script aborda um computador remoto que pode estar executando uma versão diferente do sistema operacional ou do PowerShell.

Então, como diferentes versões do PowerShell afetam comandos executados em computadores remotos?

  • Se o sistema local estiver executando uma versão superior, os novos comandos / recursos estarão disponíveis para uso no sistema remoto?
  • Se o sistema remoto estiver executando uma versão superior, existe uma maneira fácil (e programável) de utilizar os comandos / recursos mais recentes quando o sistema local não os suporta?
  • Existem regras gerais que você pode ter em mente para saber quais problemas de compatibilidade esperar, ou isso é algo que varia muito e precisa ser pesquisado / testado individualmente para cada comando ou recurso usado?
por Iszi 15.09.2014 / 14:58

1 resposta

0

Os cmdlets estarão disponíveis apenas se estiverem no sistema em que você está executando o PowerShell atualmente. Eu acabei de testar isso.

Por exemplo, se você estiver em um servidor que executa o Windows Server 2012 R2 e estiver remoto em um sistema que executa o Windows Server 2008 R2, não poderá executar os cmdlets disponíveis apenas no 2012 R2. A conclusão da tabulação não funcionará e você receberá um erro se tentar executar o cmdlet (porque não está disponível).

Se você estiver remoto de 2008 R2 a 2012 R2, você será capaz de usar os cmdlets disponíveis no 2012 R2. A conclusão da tabulação também funcionará.

    
por 11.08.2015 / 23:07