ti-enxame.com

Quais são as vantagens do PowerShell sobre Cygwin / Unix-Shell

A diferença óbvia que conheço, é a capacidade de interface com certos produtos MS, como troca. Mas por um não ter que administrar esses produtos, quais são as vantagens do PowerShell? Quais são as razões para aprender o PowerShell (supondo que sou fluente com Bash e Cygwin)?

9
Moshe

Há uma excelente resposta do Jeffrey Snover (o PowerShell Designer) no Stackoverflow:

https://stackoverflow.com/questions/573623/#573861

2
Richard Gadsden

A vantagem mais óbvia: desde que nenhuma saída de texto (ou um comando legado) esteja envolvida em um pipeline, você não está movendo o texto através dos canos, mas instâncias de objetos da estrutura .NET, com todas as suas propriedades e métodos.

Isso permite um manuseio de gasoduto mais expressivo e menos ambíguo que também é completamente não influenciado por configurações de localidade e idioma (por exemplo, pense em formatos de data ou número e como você teria que tratá-los como cordas normalmente).

Isso também significa que você tem acesso a uma grande quantidade de recursos do .NET Framework em um ambiente de script.

18
Tomalak

Sem entrar em juízos de valor sobre o paradigma, as principais vantagens do PowerShell são .NET Integração e incumbência - do Windows 2008 Server em diante, ele é empacotado por padrão e é carregado em service packs em 2003 e 2003 R2.

Para ser justo, existem várias outras opções para script - por exemplo Perl e Python. Python também fornece a opção de usar o IronPython se quiser a integração .NET nativa. Na verdade, o Ironpython instalará satisfatoriamente apenas soltando-o em um diretório. Você pode empurrão trivialmente em um aplicativo com Não há necessidade de uma etapa de instalação separada.

A força chave do PowerShell é um pouco de uma espada de dois gumes. Enquanto o streaming de objetos .NET é bastante útil e tem suas vantagens, coloca muito mais suposições sobre a capacidade dos componentes para jogar bem com a estrutura. Para isso realmente funcionar, você precisa envolver as coisas com cmdlets. Enquanto a saída textual é um nível mais baixo e requer análise, ele coloca menos fardo nos componentes para jogar bem com a estrutura.

Com o tempo, eu esperaria ver muito mais do ecossistema do Windows (tanto MS e componentes de terceiros) vêm com invólucros de cmdlet para que trabalhem com o PowerShell. Como isso acontece, o caso de PowerShell se tornará muito mais forte.

Historicamente, uma das principais fraquezas tradicionais das janelas da perspectiva administrativa tem sido seu pobre apoio de script. A MS reconheceu isso há alguns anos e depois de algumas tentativas coimas (por exemplo, Wsh) PowerShell é o esforço mais credível da MS até agora para corrigir essa deficiência.

6
ConcernedOfTunbridgeWells

Eu acho que a maior vitória pelo PowerShell é que você pode usar qualquer coisa para qualquer coisa sem ter que analisar texto e/ou Grok sed e awk. Sem trazer os objetos desagradáveis ​​na Equasion, pense em PowerShell como tendo Automatic SED e AWK para vincular comandos em um pipeline.

2
x0n

Vantagens: -

  1. Automação de tarefas: - Tarefas como adicionar um usuário a 1000 máquinas é um trabalho tedioso manualmente. Mas com a ajuda do PowerShell, você precisa escrever apenas um script simples e esse script é executado, ele configurará automaticamente todos os clientes. Assim, ele salva o tempo repetindo as etapas automaticamente. O Windows PowerShell Backup\Restaurar scripts pode ser desenvolvido e agendado (com o Windows Task Scheduler), enquanto a Administração Central é usada para backups e restaurações de uso único. O Windows PowerShell tem a vantagem de funcionar contra instantâneos SQL em vez do banco de dados de produção. Um dos parâmetros do comando do Windows PowerShell fará com que um instantâneo SQL seja gerado e, em seguida, o Windows PowerShell executará a ação contra o snapshot em vez do banco de dados de produção. Isso reduzirá o impacto do recurso da operação de backup no ambiente de produção. Com o Windows PowerShell, os administradores do SharePoint terão mais controle granular de opções para o backup ou restauração.

  2. Melhoria nas capacidades de remoção: - O significado é duplo, em primeiro lugar, os desktops do Windows 7 podem se comunicar com o servidor usando os comandos do PowerShell. Como resultado, os techies com o Windows 7 laptops podem configurar seus servidores remotamente executando os scripts do PowerShell. Em segundo lugar, os scripts de logon do cliente escritos no PowerShell, que residem no servidor, podem ser executados no Windows 7 mais facilmente. Também usando o PowerShell, podemos controlar facilmente as máquinas remotas, podem executar tarefas importantes sobre eles e podem facilmente aplicar essas alterações em grande escala. Remoting usa os recursos da rede. Então, quando estaríamos trabalhando com o PowerShell, não estamos usando a GUI e, portanto, a largura de banda necessária para uma determinada tarefa é reduzida e o problema de sobrecarga de rede é resolvido.

  3. Consistência: - Se você tiver um procedimento definido para concluir uma tarefa, usar o Windows PowerShell terá certeza de que nunca perca um passo, automatize o máximo que puder, e o PowerShell solicitará as coisas que não podem ser automatizadas.

  4. Suporte .NET: - O PowerShell suporta o .NET Framework. Portanto, todas as funções do sistema podem ser facilmente adicionadas aos scripts do PowerShell e, portanto, é uma ajuda ao programador no desenvolvimento dos scripts. Assim, a automatização das tarefas do VDI é muito mais fácil, mais simples e eficiente.

  5. Menos trabalho manual: - O administrador agora pode criar, excluir ou modificar as configurações de máquinas virtuais remotamente apenas escrevendo os scripts. Ele não precisa ir ao PC individual e fazer o trabalho. Também scripts escritos são aceitáveis ​​em todos os computadores. Portanto, o administrador não precisa reescrevê-los novamente e novamente.

  6. Reusabilidade: - Os scripts depois escritos para executar uma tarefa específica podem ser armazenados para fins posteriores e também podem ser combinados com outros scripts para executar tarefas diferentes. Portanto, as tarefas repetitivas podem ser realizadas de maneira muito mais simples, apenas executando os scripts. Isso salva o tempo e o dinheiro dos administradores na configuração das máquinas.

  7. Suporte de encanamento: - A maior vitória para o PowerShell é que você pode usar qualquer coisa para qualquer coisa sem ter que analisar o texto. Você pode fornecer a saída de um comando como uma entrada para o novo conjunto e, portanto, pode resolver as tarefas complexas.

2
user59155