Pontos principais
Prompt de comando e PowerShell: duas ferramentas de linha de comando que os profissionais de TI usam para executar e automatizar os processos do sistema por meio do poder das linguagens de codificação.
Mas como eles se diferenciam em termos de estrutura e uso? Os profissionais têm alguma preferência entre os dois, e por quê?
Este blog comparará e contrastará essas duas ferramentas de linha de comando, explorará seus recursos fundamentais e indicará quando é melhor utilizar uma das duas.
O que é o prompt de comando?
O Prompt de Comando (CMD) é um interpretador de linha de comando incluído nos sistemas operacionais Windows. Ele fornece uma interface baseada em texto que permite aos usuários executar comandos no estilo DOS e executar scripts em lote para manipulação de arquivos, tarefas do sistema e automação básica.
Ele é baseado na arquitetura do MS-DOS e usa comandos simples, baseados em strings.
O CMD é mais adequado para tarefas herdadas, navegação em arquivos e operações rápidas do sistema, como dir, cd e ipconfig.
O que é o PowerShell?
O PowerShell é um shell de linha de comando moderno e uma linguagem de script desenvolvida pela Microsoft. Ele foi desenvolvido com base naestrutura .NET e oferece recursos avançados de automação para administração de sistemas e gerenciamento de configurações.
O PowerShell usa cmdlets (comandos) em um formato Verbo-Substantivo (por exemplo, Get-Process) e oferece suporte à saída baseada em objeto em vez de texto simples.
Ele é ideal para tarefas complexas, como gerenciar o Microsoft 365, o Active Directory, os serviços em nuvem (por exemplo, Azure) e automatizar fluxos de trabalho corporativos.
De muitas maneiras, a questão de usar o PowerShell ou o Prompt de Comando (CMD) pode se resumir a diferenças geracionais. O Cmd foi desenvolvido originalmente na década de 1980, enquanto o PowerShell foi introduzido em 2006. Isso é uma eternidade em tecnologia e, como o garoto (relativamente) novo no bloco, o PowerShell incorpora alguns recursos de conveniência adicionais, além de introduzir uma nova linguagem que é mais fácil para os usuários entenderem.
Como sucessor do Prompt de Comando (prompt cmd), o PowerShell mantém muitos de seus recursos mais valiosos e básicos. Ambos são usados para executar comandos que automatizam muitas tarefas administrativas por meio de scripts e arquivos em lote e para solucionar determinados problemas do Windows.
No entanto, as semelhanças começam a terminar aí, pois o shell de linha de comando e a linguagem de script mais avançada do PowerShell fazem dele o mecanismo de automação dominante. Por exemplo, este Tutorial do PowerShell sobre a criptografia de disco BitLocker demonstra a relativa facilidade com que o PowerShell pode ser empregado usando ferramentas de gerenciamento de TI como o NinjaOne.
Comece a se tornar um especialista em PowerShell com nosso curso intensivo e guia prático para automatizar seus fluxos de trabalho.
📺 Assista ao nosso webinar sobre o PowerShell para Ninjas de TI.
Como o PowerShell difere do CMD
Linguagem e estrutura de dados
O PowerShell e o prompt de comando são linguagens totalmente diferentes. Os comandos no PowerShell são conhecidos como cmdlets e seguem um formato verbo-substantivo, para que os usuários finais possam entender facilmente a saída de cada comando. Por exemplo, quando você está alterando o local de um diretório:
- Cmdlet do PowerShell: Set-Location ” D:testfolder”.
- Comando do prompt do Cmd: cd /d D:testfolder
Cada cmdlet pode ser executado separadamente, mas sua força se destaca quando combinados para executar tarefas complexas. Como o PowerShell usa pipes, a saída de um cmdlet pode fluir para o próximo cmdlet, permitindo que os usuários encadeiem vários cmdlets. O PowerShell pode fazer isso tratando os dados como “objetos” ou dados estruturados. Dessa forma, o PowerShell funciona como uma linguagem de programação.
Um benefício da sintaxe e da função de saída de dados do PowerShell é que os usuários podem testar facilmente seus scripts para evitar a execução de comandos por engano. Por outro lado, os comandos do prompt cmd devem ser inseridos exatamente ou correm o risco de cometer erros imutáveis. Mas mesmo que você prefira usar comandos do prompt do cmd para alguma coisa, o PowerShell também pode executar comandos do prompt do cmd.
Suporte incorporado
Com o cmdletGet-Help, os usuários do PowerShell podem acessar rapidamente artigos de ajuda detalhados que explicam os conceitos do PowerShell e a sintaxe dos comandos. O cmdlet Get-Help pode se tornar mais complexo e útil com o uso de alguns dos parâmetros abaixo:
- -examples – exibe exemplos do cmdlet que está sendo executado.
- -detailed – exibe informações abrangentes sobre o cmdlet.
- -full – Exibe toda a coleção de informações referentes a um cmdlet.
- -online – Abre o site do Microsoft TechNet que contém as informações mais recentes sobre um cmdlet.
Quer saber como começar a usar os cmdlets? Bem, há um cmdlet para isso também! Ao executar o cmdlet Get-Command, o PowerShell exibirá uma lista de execução de todos os cmdlets disponíveis. Esse cmdlet pode ser ainda mais limitado com parâmetros para encontrar comandos específicos a serem executados. Confira o artigo de Jesus Vigo na TechRepublic para obter mais ideias sobre como começar a usar o PowerShell.
Automatize as partes mais difíceis do gerenciamento de TI com o controle total do PowerShell e do Prompt de Comando.
Quando usar o PowerShell ou o prompt do CMD
Para todos os efeitos, os usuários do Windows devem ficar com o PowerShell. Se você realmente quiser usar os comandos do prompt do cmd, o mecanismo de script do PowerShell oferece suporte a muitos deles e, como o PowerShell é “mais seguro” (ou seja, é menos provável que você quebre algo acidentalmente), não há mais muitas coisas para as quais você precise usar um comando do prompt do cmd.
Em última análise, os administradores de sistemas e técnicos devem aprender o PowerShell para gerenciar os sistemas com mais eficiência. O mecanismo de script facilita muito a automatização de tarefas como atualizações em massa e alteração de arquivos. Em apenas um exemplo, os usuários do PowerShell podem usar o NinjaOne para desinstalar remotamente o software quando for necessário um processo de desinstalação complexo em um dispositivo individual ou se não for possível desinstalar um aplicativo por outros meios.
Um último aspecto a ser observado é que o PowerShell 5.1 é a última versão somente para Windows, pois os ambientes estão fazendo a transição para o PowerShell 7+ compatível com várias plataformas.
Uma comparação mais detalhada entre os dois pode ser encontrada em nosso vídeo em PowerShell vs. CMD: Qual é a diferença?.
Comece a usar o PowerShell
Para começar a usar o PowerShell, assista ao nosso webinar sob demanda com o guru do PowerShell Kelvin Tegelaar. Para obter mais informações sobre como a NinjaOne pode tornar suas operações de TI mais eficientes, assine nosso boletim informativo MSP Bento e registre-se para o próximo MSP Live Chat.