O Windows PowerShell é um aplicativo poderoso baseado na estrutura .NET. É baseado em comandos do PowerShell chamados cmdlets. Ao combiná-los em uma ordem específica, você pode executar praticamente qualquer operação em uma janela do PowerShell. Para explicar como eles funcionam, selecionamos os comandos mais básicos do PowerShell.
Bom saber: O Windows não consegue encontrar “Powershell.exe”? Saiba o que fazer para recuperá-lo.
Como usar os comandos do PowerShell
Para começar a usar cmdlets, você precisa Execute o PowerShell في Coloque o administrador De Lista de pesquisa.
Comandos básicos do PowerShell
O PowerShell no Windows não é apenas uma interface de linha de comando ativa, mas também uma janela de script e programação que pode executar qualquer aplicativo ou processo que você desejar. Embora existam várias centenas de cmdlets, para começar, você só precisa aprender os mais importantes.
1. Clear-Host ou Cls
Cometi um grande erro ao digitar ou algo simplesmente não está saindo como planejado? Felizmente, há muitas tarefas em PowerShell. pode ser encomendado host limpo Fácil de limpar todo o texto da tela. Basta digitar o comando em qualquer linha da tela e tudo desaparecerá instantaneamente.
Você também pode usar o comando mais simples cls , que é frequentemente usado no prompt de comando, com o PowerShell. Esses dois comandos de texto óbvios são úteis quando você encontra uma mensagem de erro.
Para evitar erros de digitação em um prompt de comando ou janela do PowerShell, copie e cole comandos para melhorar a eficiência.
2. Converter para HTML
Ter uma grande sequência de HTML é muito mais estético do que olhar para capturas de tela confusas do PowerShell. Também é útil quando você precisa compartilhar erros de script e outros eventos do PowerShell com membros não técnicos da equipe.
Todos os componentes do PowerShell usam objetos .NET que podemos exibir em uma tela do PowerShell. Para visualizá-los em uma janela completa do navegador, use o cmdlet Convert to HTML. Abaixo está um exemplo de exibição de todos os aliases do PowerShell na web. Lembre-se de usar uma linha separada antes "Chame o Elemento".
Get-Alias | ConvertTo-Html | Out-File aliases.htm Invoke-Item aliases.htm
Depois de executar o comando converter HTML, o PowerShell solicitará que você abra o arquivo de saída com outro aplicativo. O uso do navegador gerará uma lista de itens, como aliases.
3.Get-Command
Existem dois tipos básicos de comandos: aliases e funções. Os aliases do PowerShell atuam como um apelido para uma função ou cmdlet. O Windows armazenou alguns aliases por padrão, que você pode recuperar usando Obter-Comando. Você também pode criar seus próprios apelidos.
O outro tipo de comando no PowerShell são as funções. Estes usam um verbo dependente (por exemplo "pegar") e um nome simples (ex "StorageNode").
Usamos uma função "seleção de objeto" (observe a combinação de verbo e substantivo) com o que é conhecido como variável de ambiente computername para exibir o nome do computador local.
$env:nomedocomputador | Selecionar-objeto
As funções são o ponto de partida para a codificação avançada do PowerShell. Você pode usar funções, como iniciar um processo, com parâmetros e variáveiscrie seus próprios scripts em lote, e executar uma série de tarefas.
4. Obter ajuda
O PowerShell tem seu próprio cmdlet de solução de problemas de autoaprendizagem, Obter ajuda , que exibe todas as correções rápidas e artigos de ajuda em uma janela. Digite o comando no final de qualquer saída para ajudar com os diferentes módulos. Você pode precisar clicar em Y Para permitir versões atualizadas do conteúdo da Ajuda.
Existem muitas opções de ajuda online Obter ajuda. Por exemplo, se você quiser saber o que a operação Get faz e qual é sua sintaxe exata, digite o seguinte:
Obter-Ajuda Obter-Processo
Dica: Preocupado com um keylogger monitorando sua atividade em seu computador? me conhecer Como detectar keylogger no Windows.
5. Processo de obtenção
Get-Process É um comando básico do PowerShell que agenda toda a lista de processos em sua máquina local ou em um computador remoto.
Para obter informações mais detalhadas sobre o processo, você terá que especificar outros parâmetros, como o identificador do processo (PID) ou o nome do processo.
Existem vários parâmetros específicos que você pode incluir ao especificar qual processo localizar:
- Listar processos especificando o tamanho do arquivo em megabytes
- Listar processos com base na prioridade
- Encontre o dono do processo
6. Obtenha serviço
Seu computador Windows tem muitos programas e processos em execução. Embora você possa visualizá-los diretamente no Gerenciador de Tarefas, é mais fácil visualizar uma lista completa usando obter-serviço , que você pode converter para HTML Mais tarde.
Não lembra o nome exato do serviço que está solicitando? Você pode usar um curinga (*) Junto com as poucas letras que você pode lembrar.
get-service "xyz*"
Algumas das tags comuns com as quais você trabalha incluem: Get-Service-DisplayName و -dependentservices و -InputObject و -Serviços necessários.
7. Módulo de instalação ou script de instalação
O PowerShell é uma das opções mais seguras para instalar pacotes de software para programas do Windows, como Microsoft Teams McAfee Security, Bing Translator e mais recentes Jogos de Xbox e assim por diante. Para obter uma lista completa de programas suportados no PowerShell para todos os usuários, digite:
Get-AppxPackage -AllUsers
A melhor forma é procurar o pacote que deseja em Galeria PowerShell, um recurso completo para os pacotes de software mais recentes. Uma vez encontrado, digite um comando, por exemplo módulo de instalação أو Script de instalação أو Pacote de instalação. O seguinte explica como instalar um jogo "Caça-minas".
Install-Script -Name Campo Minado
Aguarde alguns segundos ou minutos para que o pacote seja instalado por meio do PowerShell. Ele estará disponível mais tarde no Windows.
Outro comando útil é Find-package, que procura um pacote de software em seu computador ou na web.
Dica: você também pode Use o Gerenciador de pacotes do Windows para instalar e atualizar o software.
8. mkdir, md, rmdir
mkdir não é um comando nativo do PowerShell. No entanto, é um alias muito utilizado para o novo elemento criar diretórios, pois essa sintaxe é muito comum no DOS e no Linux. Quando você usa mkdir com um nome de sua escolha, ele cria uma pasta vazia.
mkdir "nome da sua pasta vazia."
Faça com que o PowerShell aponte para a pasta recém-criada com um simples comando cd.
cd "nome da pasta recém-criada."
A pasta recém-criada está sempre localizada no caminho C:\Windows\System32, mas você pode usar o CD para apontar para uma pasta diferente.
Você pode substituir mkdir por md para o mesmo propósito acima. Para remover qualquer conteúdo do diretório, use o comando rmdir (remover diretório):
rmdir "nome da pasta com conteúdo vazio."
9. Novo item
Ao contrário de aliases como mkdir e md, Novo item É o cmdlet oficial usado no PowerShell para criar novos itens e definir seus valores. Além de criar arquivos e pastas, você pode usá-lo para criar chaves e entradas de registro.
- Para criar um novo diretório usando um comando Novo item , Escrever:
New-item -Path "Localização do caminho do diretório\" -Name "Nome de sua escolha" -Tipo de item "diretório"
- Depois de criar um diretório, você pode colocar novos arquivos com um novo item dentro dessa pasta.
New-item -path "Localização do caminho do diretório criado\" -Name "Nome do arquivo.txt" -ItemType "arquivo" -Value "insira qualquer texto de sua escolha."
- O arquivo recém-criado pode ser encontrado em sua pasta de destino.
10. Remover item
Deseja remover todos os arquivos com extensão, como .TXT, .DOC, .PDF, .WMV, de uma pasta? Primeiro, indique o caminho exato da pasta com o cd e use o cmdlet Remover item Como mostrado abaixo:
Remove-Item * -Include *(filetype) - Exclude *(qualquer variável ou número)"
O método acima é muito útil para localizar e remover arquivos ocultos ou somente leitura ou excluir arquivos com caracteres especiais.
É bom saber: você está tendo problemas para remover um arquivo do seu computador? me conhecer Como forçar a exclusão de arquivos não deletáveis no Windows.
11. Política de Execução Definida
Para fins de segurança, o PowerShell possui sua própria política de execução que afeta arquivos de configuração, scripts e outros parâmetros. Esse recurso de segurança pode ser implementado usando o comando Política de conjunto de ecuções , junto com uma tag, como -força , que substitui os itens existentes. Segue a sintaxe dada abaixo.
Set-ExecutionPolicy [-ExecutionPolicy] [[-Escopo] ] [-Força] [-E se] [-Confirme] []
Por exemplo, use o comando parecido com Política de Execução de Conjunto Para instalar o Chocolatey como o código abaixo. Uma vez executado, o software oficial do Chocolatey será baixado e instalado em seu computador.
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
12. Selecione-objeto e classifique-objeto
Se sua pasta ou subpasta contiver muitos arquivos e extensões, convém classificá-los ou selecioná-los em ordem crescente ou decrescente com base em uma propriedade predefinida. É aqui que os cmdlets podem ajudá-lo Classificar-objeto و Select-Object Reorganize vários objetos de uma só vez.
A classificação e a seleção podem ser aplicadas a qualquer arquivo em pastas diferentes, bem como a processos em seu computador. Aqui está um exemplo de classificação e seleção dos dez principais processos com base no tamanho do conjunto de trabalho (WS) em megabytes.
get-process | Sort-Object-Property WS | Select-Object - Último "número de itens"
Você pode usar sort e select em muitos outros parâmetros, como informações históricas para arquivos diferentes, classificar todos os itens de menu em um arquivo do bloco de notas e classificar vários eventos em seu computador.
13. Iniciar e parar o processo
Se você deseja iniciar um novo processo no Windows ou interromper um processo existente, pode usar rapidamente os cmdlets do PowerShell para atingir esse objetivo.
Para encerrar rapidamente um processo, use o cmdlet Stop-Process. O exemplo a seguir demonstra como fechar um processo do WordPad.
Stop-process -Name "Nome do processo ou aplicativo"
Da mesma forma, para iniciar um novo aplicativo diretamente de uma janela do PowerShell, digite iniciar um processo cmdlet e o sinal -F
ilePath.
Start-Process -FilePath "Nome do aplicativo"
14. Suspender e retomar o serviço
Em vez de iniciar ou interromper um serviço em execução, você pode suspendê-lo diretamente. comando Suspender serviço O cmdlet é fácil de usar e ajuda a reduzir o uso de RAM e CPU de serviços que você não está usando no momento.
Observação: você pode usar Get-service para obter o nome do serviço a ser suspenso.
Suspend-service -DisplayName "Nome completo do serviço"
Qualquer serviço encerrado pode ser retomado posteriormente com um comando Retomar serviço básico. Se você não tiver certeza de quais serviços pode suspender sem afetar negativamente seu sistema, use o seguinte comando:
Obter-Serviço | Where-Object {$_.CanPauseAndContinue -eq "True"} | Suspender-Serviço-Confirmar
15. Caminho de teste
Se você deseja evitar erros de caminho de arquivo na programação, é necessário garantir que o caminho do arquivo tenha a sintaxe exata. Embora você sempre possa verificar com o File Explorer, a maneira mais precisa de confirmar isso é com um comando caminho de teste cmdlet , que simplesmente responde "Verdade" أو "Falso" Se existir um caminho específico.
Test-Path -Path "Nome do caminho"
Você pode modificar o comando para testar a disponibilidade de um determinado arquivo, verificar se o caminho do registro está correto e determinar se existem outros arquivos além de um determinado tipo de arquivo em seu computador.
16. Processo de Espera
Quando muitos processos estão sendo executados lado a lado, você pode querer esperar até que um ou mais deles sejam interrompidos antes de poder usá-los novamente. pode ajudar Processo de espera cmdlet em grande estilo. Você pode especificar um tempo limite que o PowerShell aguardará antes de encerrar o processo.
Wait-Process -Name "Nome do processo, -Timeout (em segundos)
Outros comandos básicos do PowerShell
Além dos comandos do PowerShell mencionados acima, também é útil conhecer os seguintes cmdlets e funções:
- Echo Um cmdlet usado para imprimir qualquer valor em um console do PowerShell
- Dar obter-anfitrião Detalhes completos do software que hospeda o PowerShell no Windows
- Teste-JSON É um cmdlet avançado usado para testar se uma string é um objeto JSO válido
- faixas Comando de rastreamento A expressão ou o comando inteiro para encontrar os parâmetros e tags que ela contém
- saída de gravação , como o nome indica, fornece saída para o último comando na janela do console.
Dica: atualize-se com Esses processos legítimos do Windows que podem parecer malware para evitar removê-lo de seu sistema.
Perguntas comuns
P1: Como resolvo o erro “O script do PowerShell não é reconhecido como um nome de cmdlet”?
A resposta: Se o PowerShell não reconhecer o nome do cmdlet, pode ser porque a variável de caminho não está definida corretamente. Corrija qualquer erro na variável de caminho por Corrija o caminho da pasta inválido.
P2: Como faço para capturar uma saída de erro como uma variável no PowerShell?
A resposta: O PowerShell tem um parâmetro de variável de erro, $Variável de Erro , que é projetado para capturar todas as saídas de erro ao inserir vários cmdlets. Pode ser usado para solução de problemas.