Cmdlets PowerShell que irão melhorar suas habilidades de administrador do Windows

Cmdlets PowerShell que irão melhorar suas habilidades de administrador do Windows

O Powershell é a maneira perfeita para um novo programador começar no Windows. O Powershell é uma ferramenta de linha de comando e linguagem de script em partes iguais. Dá a você a capacidade de automatizar seu computador por meio dos mesmos comandos que você usa para administrá-lo . Se você tem um sistema Windows moderno, já tem o Powershell. A maioria de seus usos são centrados no Windows, mas você também pode instalar o Powershell em uma máquina Mac ou Linux.





Trabalhando com PowerShell

Existem duas maneiras de usar o Powershell. Existe a janela de linha de comando básica, que é usada para executar comandos ou invocar scripts pré-escritos. Depois, há o ISE, que combina a janela CLI com um ambiente de desenvolvimento básico. Usando isso, você pode escrever e testar seus scripts.





O ISE tem uma lista pesquisável de comandos e você pode usar sua janela de terminal sem um arquivo aberto. A lista de comandos permite construir seu comando e inseri-lo. Se você estiver fazendo um desenvolvimento mais avançado, instale o Visual Studio Code da Microsoft. O código inclui suporte para controle de versão Git e outros idiomas.





O Powershell é o único que é construído inteiramente de comandos, a Microsoft os chama de Cmdlets. Esses comandos são os mesmos se você estiver trabalhando via linha de comando ou escrevendo scripts complexos. Portanto, ao usar esses comandos, você pode pensar em como agrupá-los para criar seus primeiros scripts.

O básico: Get-Command, Get-Help, Get-Member

Todos os comandos do PowerShell assumem a forma de substantivo-verbo. Os verbos geralmente são: Obter, definir e novo .



Get-Command permite que você veja todos os comandos disponíveis. Ao executar Get-Command, você verá que há vários comandos que começam com eles.

Aprofundando mais a partir apenas dos nomes dos cmdlets, você começa a ver que todos eles têm uma estrutura semelhante. Você os invoca pelo nome, assim como fazia com Get-Command. O uso de parâmetros muda as informações que você obtém. No entanto, se você sempre usou o comando com opções padrão, como descobrirá como usar os parâmetros avançados?





Usando o Obter ajuda cmdlet com Get-Command mostra mais informações sobre o cmdlet. Usamos o cmdlet com a seguinte sintaxe:

Get-Help Get-Command

Em seguida, você verá as informações básicas sobre os parâmetros. Se você quiser ver os detalhes do parâmetro e alguns exemplos de uso, adicione o parâmetro -Full.





Se você deseja apenas ver os exemplos, pode executar:

Get-Help Get-Command -Examples

Este cmdlet retorna apenas os exemplos do arquivo de ajuda. Esses exemplos são muito úteis porque incluem descrições. Este texto de ajuda explica o que o cmdlet e os parâmetros fazem quando executados.

Se quiser abrir o arquivo de ajuda em uma janela separada, você pode usar -Mostrar janela . Então, se você executar:

Get-Help Get-Command -ShowWindow

O Powershell abre uma janela com o arquivo de ajuda completo. Você não precisa usar o parâmetro Full aqui, pois a janela puxa o artigo completo.

Conforme você avança com o Powershell, você descobrirá que usa o Get-Member com mais frequência. É uma maneira fácil de ver quais campos estão disponíveis nos dados retornados, bem como outros métodos que você pode executar. Freqüentemente, os cmdlets terão um -Propriedade parâmetro para permitir que você os chame.

Trabalhando com arquivos: Get-ChildItem, Remove-Item, Move-Item, Copy-Item

Agora que você tem uma ideia de como os cmdlets funcionam e como obter ajuda, vamos fazer alterações. Você pode obter o conteúdo de qualquer pasta usando o Get-ChildItem comando. Por exemplo, você pode obter os arquivos de uma unidade inteira usando a letra da unidade. Digitar:

Get-ChildItem E:

Que é abreviação de:

Get-ChildItem -Path E:

Ao executar este comando, você obtém uma lista de arquivos com seu Tempo da Última Gravação, tamanho na propriedade Comprimento, Nome e Modo. O modo são os atributos de um arquivo ou pasta. As entradas possíveis são:

  • Somente leitura
  • Escondido
  • Sistema
  • Diretório
  • Arquivo
  • Dispositivo
  • Normal
  • Temporário
  • SparseFile
  • ReparsePoint
  • Comprimido
  • desligada
  • NotContentIndexed
  • Criptografado

Se você deseja obter o conteúdo de todos os subdiretórios em um caminho, você deseja usar o -Recurso parâmetro. Então execute:

Get-ChildItem -Path E: -Recurse

Seus arquivos então aparecem como listas separadas para cada pasta no caminho.

Para limitar os dados retornados, você pode usar alguns parâmetros diferentes: -Arquivo , -Escondido , e -Somente leitura . Se você deseja filtrar os nomes do arquivo, pode usar curingas no parâmetro Path. Para retornar todos os arquivos .doc em um diretório, digite:

Get-ChildItem -Path E:*.doc

Adicione novamente -recurso se você quiser tudo das subpastas também.

Se você deseja excluir um arquivo, use:

Remove-Item -Path E:OldFile.txt

Para pular a confirmação de cada arquivo, adicione o parâmetro -Confirmar $ false (Powershell tem duas constantes para valores booleanos: $ true e $ false). Para forçar a remoção de arquivos somente leitura ou ocultos, use o -Força parâmetro.

Mover arquivos é tão fácil quanto. Para mover tudo da sua unidade Flash para a unidade local em uma pasta, use:

Move-Item -Path E:* -Destination C:FlashDriveArchive

Você também pode nomear um único arquivo em -Path para mover apenas esse arquivo. Para copiar o arquivo em vez de movê-lo, você usa a mesma sintaxe com o Copy-Item cmdlet.

Monitorando e trabalhando com processos e serviços

Cada O usuário do Windows conhece o Gerenciador de Tarefas . No entanto, existe uma maneira mais rápida de ver os processos em execução no Powershell, Get-Process . Se você quiser saber o que todas as entradas nesta tabela significam, canalize o comando para Get-Member . Insira o cmdlet:

Get-Process | Get-Member

Get-member produz uma lista de métodos e propriedades associados a Get-Process. As informações na parte superior são o que você está interessado. Você verá que os vários tipos de memória têm apelidos.

Também podemos ver nesta saída que podemos obter o produtos propriedade para obter um nome mais amigável aos processos. Vamos mudar a saída, para que tenha melhores informações para trabalharmos:

como deletar uma conta ps4
Get-Process | Select-Object Product, NPM, CPU, Name, ID | Sort-Object CPU -Descending

(Há mais informações sobre Select-Object e Sort-Object na próxima seção.)

Agora que você tem a ID do comando Get-Process, pode interrompê-lo usando o cmdlet Stop-Process. Portanto, se você descobrir que um processo do Chrome está consumindo todos os seus recursos, encontre o ID no comando anterior. Então corra:

Stop-Process -ID 45960

Substituir 49560 com o ID do seu porco de recursos.

Usando o caminho do arquivo, você pode iniciar um processo usando o Powershell. Para iniciar o Chrome, execute o seguinte comando:

Start-Process -Filepath 'C:Program Files (x86) GoogleChromeApplicationchrome.exe'

(Você precisa colocar as aspas no caminho do arquivo por causa dos espaços). -ArgumentList parâmetro permite que você passe opções de linha de comando para o aplicativo. No caso do Chrome, você pode forçá-lo a iniciar no modo de navegação anônima usando o --incógnito bandeira. Todo o cmdlet é:

Start-Process -Filepath 'C:Program Files (x86) GoogleChromeApplicationchrome.exe' -ArgumentList '--incognito'

Você pode fazer muitas dessas mesmas coisas com os serviços. Get-Service mostra uma lista de todos os serviços em execução no seu computador. Mesmo com os serviços de início e parada, você pode usar Começar serviço e Parar serviço .

Trabalhando com dados: Sort-Object, Select-Object, Where-Object

Quando você está trabalhando com os dados de um cmdlet, pode nem sempre estar na ordem que você deseja. Nesses casos, você deseja usar o Sort-Object . Você pode chamar Sort-Object em uma variável que você criou, mas principalmente ela é usada por piping em outro cmdlet. Como no exemplo acima, canalizamos a saída de um objeto para outro e o classificamos. Vamos criar um array de três números aleatórios e canalizá-lo para Sort-Object.

Qualquer coisa entre parênteses é executada primeiro. Crie uma matriz simples com:

$(Get-Random), $(Get-Random), $(Get-Random)

Certifique-se de observar as vírgulas que separam os valores. Então, para ver os números aleatórios classificados, execute:

$(Get-Random), $(Get-Random), $(Get-Random) | Sort-Object

O cmdlet produz os números do menor para o maior, se você quiser reverter adicionar -Descendente .

Quando você canaliza cmdlets para Get-Member, há mais propriedades do que a saída padrão. Você seleciona propriedades específicas usando Select-Object .

Assim como Sort-Object, você usa Select-Object por meio de um cmdlet canalizado. Por exemplo, para gerar uma tabela de serviços e seus status, use:

Get-Service | Select-Object DisplayName, Status

Embora a saída de todos esses dados seja boa, e se você só quiser ver dados específicos? Get-ChildItem tem alguma filtragem interna, mas a maioria dos comandos não. Nesses casos, você usa Where-Object .

Voltando aos serviços novamente, desta vez você só obterá serviços em execução. Insira o cmdlet:

Get-Service | Where-Object Status -eq 'Running'

Este -eq na comparação é Powershell para = . No Powershell, você realiza comparações com combinações de letras:

  • eq: igual a
  • ne: diferente
  • lt: menos que
  • gt: maior que
  • ge: maior ou igual a
  • le: menor ou igual a
  • like: use like em comparações de curingas

Ajuda de formatação: Format-Table e Format-List.

Para esses vários cmdlets, a maior parte da saída estava em formatos de tabela. Isso exibe os dados em linhas e colunas com cabeçalhos. Para exibir as entradas listadas com suas propriedades individualmente, canalize o cmdlet para Format-List .

Às vezes, você tem uma saída que fica muito larga para a janela do Powershell. Quando isso acontece, o Powershell força uma saída de lista. Para certificar-se de mantê-lo no formato de tabela, canalize sua saída para Format-Table .

Da linha de comando ao script: próximas etapas

Quando você se sentir confortável, o script é uma questão de inserir os cmdlets em um arquivo de texto e salvá-lo. Se você está nervoso sobre tentar scripts, não fique. A Microsoft tem uma enorme quantidade de documentação sobre cada cmdlet. Isso está além da já extensa documentação de ajuda, portanto, certifique-se de verificar Technet [No Longer Available].

Se você está aprendendo o Powershell, deixe-nos saber nos comentários o que você mais gostaria de fazer. Se você tiver um pouco mais de experiência, adoraríamos saber mais sobre tópicos avançados que gostaria de ver cobertos.

Compartilhado Compartilhado Tweet O email Exclua esses arquivos e pastas do Windows para liberar espaço em disco

Precisa liberar espaço em disco no seu computador Windows? Aqui estão os arquivos e pastas do Windows que podem ser excluídos com segurança para liberar espaço em disco.

Leia a seguir
Tópicos relacionados
  • janelas
  • Programação
  • PowerShell
  • Scripting
Sobre o autor Michael McConnell(44 artigos publicados)

Michael não usou um Mac quando eles estavam condenados, mas ele pode codificar em Applescript. Ele é formado em Ciência da Computação e Inglês; ele tem escrito sobre Mac, iOS e videogames há algum tempo; e ele tem sido um macaco de TI durante o dia por mais de uma década, especializando-se em scripts e virtualização.

Mais de Michael McConnell

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Clique aqui para se inscrever