Um dos utilitários mais especiais desenvolvidos pela Microsoft é o Windows PowerShell, que é um shell de linha de comando especialmente desenvolvido para administradores de sistema graças aos seus vários recursos de suporte.
O Windows PowerShell inclui um prompt interativo e um ambiente de script que pode ser usado independentemente ou em combinação com outros scripts.
O Windows PowerShell é baseado no Common Language Runtime (CLR) do .NET Framework e .NET Framework, com o qual ele aceita e retorna objetos do .NET Framework. Dessa forma, temos uma mudança no ambiente que nos fornece ferramentas e métodos completamente novos e modernos para configuração e gerenciamento do Windows.
O Windows PowerShell é baseado no conceito de cmdlet, que é uma ferramenta de linha de comando simples e de função única incorporada ao Shell e será possível usar cada cmdlet separadamente ou em conjunto com outros para seu benefício máximo.
Até agora, nas edições do Windows 10, vimos o uso do Windows PowerShell com o ambiente gráfico por meio do qual exploramos totalmente o uso de cmdlets:
PROLONGAR
Pois bem, a Microsoft desenvolveu através do GitHub a nova plataforma PowerShell Core, atualmente em sua versão 6.0, que é compatível com os sistemas Windows, macOS e Linux, sendo open source e criada para ambientes heterogêneos e a nuvem híbrida, aumentando assim seus níveis de gestão e administração .
1. Diferenças entre o Windows PowerShell e o PowerShell Core
Neste ponto, muitos de nós podem se perguntar o que há de diferente entre essas duas edições, bem, o Solvetic fará uma comparação do que temos em ambos os utilitários.
Windows PowerShellÉ a consola conhecida nos sistemas Windows que há mais de 10 anos é o suporte dos administradores junto à linha de comandos. Algumas de suas características são:
- Devido à sua dependência do .NET Framework, o Windows PowerShell está disponível apenas em sistemas operacionais Windows.
- O Windows PowerShell é iniciado como powershell.exe
- As versões lançadas do Windows PowerShell até agora incluem 1.0, 2.0, 3.0, 4.0, 5.0 e 5.1.
- O Windows PowerShell está disponível como um componente interno do cliente Windows e do Windows Server.
- No Windows PowerShell 5.0 ou 5.1, $ PSVersionTable.PSEdition é definido como Desktop.
- Qualquer uso de funcionalidade baseada em .NET, como cmdlets C #, Add-Type e invocação de métodos .NET estáticos, é baseado no tempo de execução do .NET Framework.
- Ele continua a ter suporte por meio de correções de bugs críticos nas versões mais recentes do Windows e do Windows Server.
PowerShell CorePowerShell Core é a edição do PowerShell desenvolvida no .NET Core, que também podemos conhecer como CoreCLR. Algumas de suas características são:
- O PowerShell Core é multiplataforma, disponível no Windows, macOS e Linux, devido ao seu design .NET Core.
- No PowerShell Core, $ PSVersionTable.PSEdition é definido como Core.
- PowerShell Core começa como pwsh.exe no Windows e pwsh no macOS e Linux
- Qualquer uso de funcionalidade baseada em .NET, como cmdlets C #, Add-Type e invocação de métodos .NET estáticos, depende do tempo de execução do .NET Core.
Plataformas que suportam PowerShell CoreIndicamos que o PowerShell Core é um utilitário multiplataforma que podemos usar com compatibilidade total em sistemas como:
- Windows 7, 8.1 e 10
- Windows Server 2008 R2, 2012 R2, 2016
- Canal semestral do Windows Server
- Ubuntu 14.04, 16.04 e 17.04
- Debian 8.7+ e 9
- CentOS 7
- RedHat Enterprise Linux 7
- OpenSUSE 42.2
- Fedora 25, 26
- macOS 10.12+
- Arch Linux
- Kali Linux
- AppImage
- Windows ARM32 / ARM64 (em status de teste)
- Raspbian (Stretch) (em estado de teste)
Módulos disponíveis no PowerShell Core 6.0A seguir está a lista de módulos que podemos usar neste utilitário PowerShell Core.
- CimCmdlets
- Microsoft.PowerShell.Archive
- Microsoft.PowerShell.Diagnostics
- Microsoft.PowerShell.Host
- Microsoft.PowerShell.Management
- Microsoft.PowerShell.Security
- Microsoft.PowerShell.Utility
- Microsoft.WSMan.Management
- PackageManagement
- PowerShellGet
- PSDesiredStateConfiguration
- PSDiagnostics
- PSReadLine
2. O que há de novo no PowerShell Core 6.0
Com esta nova edição do PowerShell Core 6.0, teremos uma série de novos recursos projetados para otimizar tarefas de administração, controle, suporte e automação, alguns deles são:
- Adicionado suporte para globbing de comando nativo em plataformas Unix.
- Quanto mais funcionalidade respeita o Linux $ PAGER o que significa que podemos usar curingas com binários ou comandos nativos.
- A barra invertida é automaticamente ignorada para argumentos de comando nativos.
- O pacote man-page foi adicionado.
- Em sistemas macOS, o PowerShell Core usa as APIs nativas os_log para fazer login no Unified Logging System da Apple. No Linux, o PowerShell usa Syslog.
- Os caminhos atribuídos aos cmdlets agora são independentes de barras, ambos / e \ funcionam como separadores de diretório.
- Suporte para nomes de arquivos e pastas que contêm o caractere de dois pontos no Unix.
- Suporte para nomes de caminho completo ou hífen que contenham vírgulas.
- Detecta quando o parâmetro -LiteralPath é usado para suprimir a expansão de curinga para cmdlets de navegação.
- Alterado o primeiro parâmetro posicional de Command para -File.
- O PowerShell Core aceita a opção -i (ou -Interactive) para indicar um shell interativo.
- Removidos os parâmetros -importsystemmodules e -psconsoleFile de pwsh.exe
- Mensagens de erro de argumento inválido para códigos de saída consistentes dos padrões -File e -Command e Unix
- PowerShell Core adiciona suporte para Docker
- O protocolo de conexão remota do PowerShell (PSRP) agora funciona com o protocolo Secure Shell (SSH), além do PSRP baseado em WinRM
- A codificação padrão é UTF-8
- Suporte para E comercial
- Get-Uptime adicionado a Microsoft.PowerShell.Utility
- Adicionar suporte de autenticação de certificado para cmdlets da web
- Adicionado suporte para cabeçalhos de conteúdo para cmdlets da web
- A inferência de tipo foi melhorada na conclusão da tabulação com base nos valores das variáveis de tempo de execução dos pedidos
- Habilitado o uso do provedor do sistema de arquivos do caminho UNC
A seguir, veremos como instalar o PowerShell Core nas diferentes edições dos sistemas operacionais com suporte.
3. Instale PowerShell Core no Windows 10
Passo 1
Para instalar o utilitário PowerShell Core em um cliente Windows ou Windows Server, como Windows 7 SP1, Server 2008 R2 e posterior, será necessário baixar o pacote MSI da página oficial do GitHub no seguinte link:
Passo 2
Lá selecionaremos o pacote que melhor se adéqua à nossa versão do Windows, neste caso faremos o download do pacote win-x64. Após o download, clicaremos duas vezes no instalador e seguiremos as instruções:
etapa 3
Clique em "Avançar" e aceitaremos os termos da licença:
Passo 4
Novamente clicamos em A seguir e agora vamos definir o caminho onde o PowerShell Core deve ser instalado no Windows 10:
Etapa 5
Na próxima janela, podemos iniciar o processo de instalação do utilitário:
Etapa 6
Depois de instalado, veremos o seguinte:
Etapa 7
Podemos fechar o assistente e acessar o PowerShell Core no menu Iniciar:
Etapa 8
Assim que concordarmos, podemos trabalhar com o PowerShell Core de acordo com as necessidades de gerenciamento no momento:
PROLONGAR
4. Instale PowerShell Core no Linux
Em ambientes Linux, o PowerShell Core é compatível com as seguintes distribuições:
- Ubuntu 14.04
- Ubuntu 16.04
- Ubuntu 17.04
- Debian 8
- Debian 9
- CentOS 7
- Red Hat Enterprise Linux (RHEL) 7
- OpenSUSE 42.2
- Fedora 25
- Fedora 26
- Arch Linux
- Linux AppImage
Neste exemplo, usaremos o Ubuntu 17.04, mas o Solvetic explicará o processo para as outras distribuições Linux.
Passo 1
No caso do Ubuntu 17.04 primeiro, importaremos as chaves do repositório GPG executando o seguinte comando:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
PROLONGAR
Passo 2
Em seguida, executaremos a seguinte linha para registrar o repositório Ubuntu com a Microsoft:
curl https://packages.microsoft.com/config/ubuntu/17.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list
PROLONGAR
etapa 3
Posteriormente, atualizaremos a lista de pacotes:
sudo apt-get update
PROLONGAR
Passo 4
Instalamos o PowerShell Core executando a seguinte linha:
sudo apt-get install -y powershell
PROLONGAR
Etapa 5
Depois de instalado, executamos o PowerShell Core com o seguinte comando:
pwsh
PROLONGAR
Etapa 6
Agora podemos realizar ações de gerenciamento normais com PowerShell:
PROLONGAR
Etapa 7
Podemos ver os respectivos resultados:
PROLONGAR
Etapa 8
Além desta etapa, outra maneira de instalar o PowerShell no Ubuntu 17.04 é baixar o pacote "powershell_6.0.0-rc-1.ubuntu.17.04_amd64.deb" da página GitHub indicada no topo e, em seguida, executar as seguintes linhas:
sudo dpkg -i powershell_6.0.0-rc-1.ubuntu.17.04_amd64.deb sudo apt-get install -fEtapa 9
Para desinstalar o PowerShell Core no Ubuntu 17.04, executamos o seguinte comando:
sudo apt-get remove powershellEtapa 10
Agora, veremos os comandos a serem usados nas outras distribuições Linux.
Ubuntu 16.04 / 16.10
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - (importação de chaves GPG) curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list (registro do repositório Ubuntu na Microsoft) sudo apt-get update (pacotes de atualização) sudo apt-get install -y powershell (instalação do PowerShell Core) pwsh (PowerShell Core Home )Como alternativa, podemos baixar o pacote "powershell_6.0.0-rc-1.ubuntu.16.04_amd64.deb" do site oficial e executar as seguintes linhas:
sudo dpkg -i powershell_6.0.0-rc-1.ubuntu.16.04_amd64.deb sudo apt-get install -fPara desinstalar o PowerShell Core, executamos:
sudo apt-get remove powershell
Debian 9Neste caso, executaremos os seguintes comandos para instalar os componentes do sistema:
sudo apt-get update sudo apt-get install curl gnupg apt-transport-httpsEm seguida, importamos as chaves públicas GPG:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -Registramos o produto Microsoft:
sudo sh -c 'echo "deb [arch = amd64] https://packages.microsoft.com/repos/microsoft-debian-stretch-prod stretch main"> /etc/apt/sources.list.d/microsoft.list 'Nós atualizamos os produtos:
sudo apt-get updateInstalamos o PowerShell Core:
sudo apt-get install -y powershellExecutamos o utilitário:
PwshComo na distribuição anterior, podemos baixar o pacote "powershell_6.0.0-rc-1.debian.9_amd64.deb" e executar o seguinte:
sudo dpkg -i powershell_6.0.0-rc-1.debian.9_amd64.deb sudo apt-get install -fPara desinstalar o PowerShell Core, executamos:
sudo apt-get remove powershell
CentOS 7No caso do CentOS 7, primeiro registraremos o repositório RedHat:
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repoProsseguimos para instalar o PowerShell Core:
sudo yum install -y powershellExecutamos o utilitário:
pwshOpcionalmente, podemos baixar o pacote "powershell-6.0.0_rc-1.rhel.7.x86_64.rpm" do site oficial e, em seguida, executar:
sudo yum install powershell-6.0.0_rc-1.rhel.7.x86_64.rpmOu podemos instalá-lo diretamente usando a seguinte linha:
sudo yum install https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-rc/powershell-6.0.0_rc-1.rhel.7.x86_64.rpmPara eliminá-lo, executamos o seguinte:
sudo yum remove powershell
RedHat 7Se formos usuários RedHat, primeiro registraremos o repositório RedHat:
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repoEm seguida, instalaremos o PowerShell Core com o seguinte comando:
sudo yum install -y powershellExecutamos o utilitário:
pwshOutra alternativa é baixar o pacote "powershell-6.0.0_rc-1.rhel.7.x86_64.rpm" e executar:
sudo yum install powershell-6.0.0_rc-1.rhel.7.x86_64.rpmOu diretamente:
sudo yum install https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-rc/powershell-6.0.0_rc-1.rhel.7.x86_64.rpmPodemos remover o PowerShell Core executando:
sudo yum remove powershell
Fedora 26No caso do Fedora 26, o primeiro passo é registrar a chave de assinatura da Microsoft:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.ascEntão vamos registrar o repositório RedHat:
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repoAtualizamos a lista de produtos:
atualização sudo dnfInstalamos componentes do sistema:
sudo dnf install compat-openssl10Prosseguimos para instalar o PowerShell Core:
sudo dnf install -y powershellComeçamos o utilitário:
pwshO outro método é baixar o pacote "powershell-6.0.0_rc-1.rhel.7.x86_64.rpm" e depois realizar a execução das seguintes linhas:
sudo dnf update sudo dnf install compat-openssl10 sudo dnf install powershell-6.0.0_rc-1.rhel.7.x86_64.rpmPara remover o PowerShell Core no Fedora 26, usaremos a seguinte linha:
sudo dnf remover powershell
Portanto, temos as diferentes opções para ambientes Linux.
5. Instale o PowerShell Core macOS High Sierra
No caso do macOS High Sierra, temos duas opções de instalação do PowerShell Core.
Passo 1
O primeiro é usar o HomeBrew, que é um gerenciador de pacotes para macOS, caso não tenhamos o HomeBrew, podemos instalá-lo executando a seguinte linha no terminal macOS High Sierra.
/ usr / bin / ruby -e "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"Passo 2
Assim que o HomeBrew estiver instalado, executaremos a seguinte linha:
barril / barril de torneira de cerveja
PROLONGAR
etapa 3
Cask é um utilitário que nos permite instalar pacotes adicionais no macOS. Depois de instalado, executaremos a seguinte linha para instalar o PowerShell Core:
brew cask install powershell
PROLONGAR
Passo 4
Vamos inserir nossa senha e aguardar a conclusão do processo de download:
PROLONGAR
Etapa 5
Como alternativa, podemos baixar o pacote powershell-6.0.0-rc-osx.10.12-x64.pkg do site oficial e, uma vez baixado, clicaremos duas vezes no local onde o seguinte assistente será exibido:
Etapa 6
Aí clicamos em Continuar e seguiremos os passos do wizard:
Etapa 7
Se não quisermos usar o assistente gráfico, podemos usar o terminal executando o seguinte comando:
sudo installer -pkg powershell-6.0.0-rc-osx.10.12-x64.pkg -target /Etapa 8
Depois de instalado, podemos executar o comando pwsh para acessar o PowerShell Core:
Etapa 9
Aí realizaremos a execução dos comandos normais de gestão:
PROLONGAR
Etapa 10
Para desinstalar o PowerShell Core no macOS High Sierra, podemos usar uma das seguintes opções:
brew cask desinstalação do powershell sudo rm -rf / usr / local / bin / pwsh / usr / local / microsoft / powershellComo podemos ver, PowerShell Core é um utilitário dinâmico, simples e poderoso que nos ajudará a realizar todo tipo de tarefas de suporte nos sistemas operacionais mais utilizados atualmente.