Aqui está uma lista com 100 comandos PowerShell, organizada do básico ao avançado:
Comandos Básicos
-
Get-Help
Exibe a ajuda do PowerShell.Get-Help
-
Get-Command
Exibe todos os comandos disponíveis.Get-Command
-
Get-Process
Exibe a lista de processos em execução.Get-Process
-
Stop-Process
Finaliza um processo específico.Stop-Process -Name "notepad"
-
Get-Service
Exibe os serviços do sistema.Get-Service
-
Start-Service
Inicia um serviço.Start-Service -Name "wuauserv"
-
Stop-Service
Para um serviço em execução.Stop-Service -Name "wuauserv"
-
Set-ExecutionPolicy
Define a política de execução de scripts no PowerShell.Set-ExecutionPolicy RemoteSigned
-
Get-EventLog
Exibe logs de eventos.Get-EventLog -LogName "Application" -Newest 5
-
Clear-Host
Limpa a tela do PowerShell.Clear-Host
Comandos Intermediários
-
Get-Content
Exibe o conteúdo de um arquivo.Get-Content -Path "C:\temp\log.txt"
-
Set-Content
Define o conteúdo de um arquivo.Set-Content -Path "C:\temp\log.txt" -Value "Novo conteúdo"
-
Add-Content
Adiciona conteúdo a um arquivo existente.Add-Content -Path "C:\temp\log.txt" -Value "Conteúdo adicional"
-
Get-ChildItem
Exibe os arquivos e pastas em um diretório.Get-ChildItem -Path "C:\temp"
-
Rename-Item
Renomeia um arquivo ou pasta.Rename-Item -Path "C:\temp\oldname.txt" -NewName "newname.txt"
-
Remove-Item
Remove um arquivo ou pasta.Remove-Item -Path "C:\temp\file.txt"
-
Copy-Item
Copia um arquivo ou pasta.Copy-Item -Path "C:\temp\file.txt" -Destination "C:\temp\backup"
-
Move-Item
Move um arquivo ou pasta.Move-Item -Path "C:\temp\file.txt" -Destination "C:\temp\archive"
-
Out-File
Redireciona a saída para um arquivo.Get-Process | Out-File -FilePath "C:\temp\processes.txt"
-
Select-String
Pesquisa por uma string dentro de arquivos.Select-String -Path "C:\temp\log.txt" -Pattern "Erro"
Comandos Avançados
-
Get-Help
Obtém ajuda detalhada sobre um comando específico.Get-Help Get-Process
-
Get-WmiObject
Obtém informações do sistema usando WMI.Get-WmiObject -Class Win32_OperatingSystem
-
New-Object
Cria um novo objeto.$obj = New-Object System.IO.StreamReader("C:\temp\file.txt")
-
Invoke-Command
Executa comandos remotamente em outra máquina.Invoke-Command -ComputerName "RemotePC" -ScriptBlock { Get-Process }
-
Start-Job
Inicia uma tarefa em segundo plano.Start-Job -ScriptBlock { Get-Process }
-
Get-Job
Exibe os jobs em segundo plano.Get-Job
-
Receive-Job
Recebe a saída de um job.Receive-Job -Job (Get-Job -Id 1)
-
Stop-Job
Interrompe um job.Stop-Job -Job (Get-Job -Id 1)
-
Export-Csv
Exporta dados para um arquivo CSV.Get-Process | Export-Csv -Path "C:\temp\processes.csv" -NoTypeInformation
-
Import-Csv
Importa dados de um arquivo CSV.$data = Import-Csv -Path "C:\temp\processes.csv"
-
ConvertTo-Json
Converte objetos em formato JSON.$obj | ConvertTo-Json
-
ConvertFrom-Json
Converte JSON para objetos.$json = '{"name":"John","age":30}' $obj = $json | ConvertFrom-Json
-
Test-Connection
Testa a conectividade de rede (ping).Test-Connection -ComputerName "google.com"
-
Get-ADUser
Obtém informações sobre usuários no Active Directory.Get-ADUser -Filter *
-
Set-ADUser
Modifica informações sobre usuários no Active Directory.Set-ADUser -Identity "jdoe" -Department "HR"
-
New-ADUser
Cria um novo usuário no Active Directory.New-ADUser -Name "John Doe" -SamAccountName "jdoe"
-
Remove-ADUser
Remove um usuário do Active Directory.Remove-ADUser -Identity "jdoe"
-
Get-ADComputer
Obtém informações sobre computadores no Active Directory.Get-ADComputer -Filter *
-
New-ADComputer
Cria um novo computador no Active Directory.New-ADComputer -Name "Computer01" -SamAccountName "Computer01"
-
Set-ItemProperty
Modifica as propriedades de um item.Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" -Name "MyApp" -Value "C:\Program Files\MyApp.exe"
Comandos de Automação e Scripts
-
ForEach-Object
Executa um script para cada item em um conjunto de dados.Get-Process | ForEach-Object { $_.Name }
-
Where-Object
Filtra objetos de acordo com uma condição.Get-Process | Where-Object { $_.CPU -gt 100 }
-
If-Else
Estrutura condicional.if ($value -eq "true") { Write-Host "True" } else { Write-Host "False" }
-
Try-Catch
Estrutura de tratamento de exceções.try { Get-Content "C:\temp\file.txt" } catch { Write-Host "Erro ao abrir o arquivo" }
-
Switch
Estrutura condicional múltipla.switch ($value) { "A" { Write-Host "Valor A" } "B" { Write-Host "Valor B" } default { Write-Host "Outro valor" } }
-
While
Estrutura de loop.$i = 0 while ($i -lt 5) { Write-Host "Contagem: $i" $i++ }
-
For
Loop com contador.for ($i = 0; $i -lt 5; $i++) { Write-Host "Contagem: $i" }
-
Start-Sleep
Pausa a execução do script por um tempo determinado.Start-Sleep -Seconds 5
-
Read-Host
Solicita entrada do usuário.$input = Read-Host "Digite seu nome"
-
Write-Host
Exibe informações na tela.Write-Host "Mensagem de exemplo"
Claro! Vamos continuar com mais comandos PowerShell, avançando para operações mais complexas e úteis.
Comandos Avançados (continuação)
-
Invoke-WebRequest
Envia uma solicitação HTTP para um site e retorna a resposta.$response = Invoke-WebRequest -Uri "https://www.example.com"
-
Invoke-RestMethod
Envia uma solicitação HTTP e retorna um objeto resultante.$data = Invoke-RestMethod -Uri "https://api.example.com/data"
-
Get-Content -Tail
Exibe as últimas linhas de um arquivo.Get-Content -Path "C:\temp\log.txt" -Tail 10
-
Get-ItemProperty
Obtém as propriedades de um item (exemplo: uma chave de registro).Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run"
-
New-Item
Cria um novo item (diretório ou arquivo).New-Item -Path "C:\temp\newfolder" -ItemType Directory
-
Set-Item
Define o valor de um item (exemplo: um arquivo ou diretório).Set-Item -Path "C:\temp\newfolder" -Value "Novo valor"
-
Get-Help -Online
Exibe a ajuda online para um comando específico.Get-Help Get-Process -Online
-
Get-Command | Where-Object { $_.Name -like "Service" }
Filtra os comandos que contêm a palavra "Service".Get-Command | Where-Object { $_.Name -like "*Service*" }
-
Set-ItemProperty -Name "Value"
Modifica o valor de uma chave de registro.Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" -Name "MyApp" -Value "C:\Program Files\MyApp.exe"
-
Get-Process | Sort-Object CPU -Descending
Exibe os processos ordenados pelo uso de CPU em ordem decrescente.Get-Process | Sort-Object CPU -Descending
Manipulação de Arquivos e Diretórios
-
Get-Item
Obtém as propriedades de um arquivo ou diretório.Get-Item -Path "C:\temp\file.txt"
-
Test-Path
Verifica se um caminho de arquivo ou diretório existe.Test-Path -Path "C:\temp\file.txt"
-
Get-FileHash
Obtém o hash de um arquivo, útil para verificar integridade.Get-FileHash -Path "C:\temp\file.txt"
-
Compare-Object
Compara dois conjuntos de objetos.Compare-Object (Get-Content "C:\file1.txt") (Get-Content "C:\file2.txt")
-
Get-Help Get-Process | Select-String "process"
Pesquisa um termo dentro da ajuda de um comando.Get-Help Get-Process | Select-String "process"
-
Get-Content -Encoding UTF8
Exibe o conteúdo de um arquivo com codificação UTF-8.Get-Content -Path "C:\temp\file.txt" -Encoding UTF8
-
Get-Content -ReadCount 10
Lê um arquivo em blocos de 10 linhas.Get-Content -Path "C:\temp\log.txt" -ReadCount 10
-
Set-Item -Path "C:\temp\file.txt" -Value "Texto atualizado"
Modifica o conteúdo de um arquivo.Set-Item -Path "C:\temp\file.txt" -Value "Texto atualizado"
-
Get-Item "C:\temp\file.txt" | Select-Object Name, Length
Exibe o nome e o tamanho do arquivo.Get-Item "C:\temp\file.txt" | Select-Object Name, Length
-
Move-Item -Path "C:\temp\file.txt" -Destination "C:\backup"
Move um arquivo para outro diretório.Move-Item -Path "C:\temp\file.txt" -Destination "C:\backup"
Manipulação de Usuários e Grupos (Active Directory)
-
Get-ADGroup
Obtém grupos do Active Directory.Get-ADGroup -Filter *
-
Add-ADGroupMember
Adiciona um usuário a um grupo no Active Directory.Add-ADGroupMember -Identity "GroupName" -Members "UserName"
-
Remove-ADGroupMember
Remove um usuário de um grupo no Active Directory.Remove-ADGroupMember -Identity "GroupName" -Members "UserName"
-
Set-ADGroup
Modifica um grupo no Active Directory.Set-ADGroup -Identity "GroupName" -Description "Novo grupo"
-
Get-ADUser -Filter * | Select-Object Name, SamAccountName
Exibe o nome e o SamAccountName de todos os usuários.Get-ADUser -Filter * | Select-Object Name, SamAccountName
-
Set-ADUser -Identity "UserName" -Title "Novo Cargo"
Altera o título de um usuário no Active Directory.Set-ADUser -Identity "UserName" -Title "Novo Cargo"
-
New-ADGroup
Cria um novo grupo no Active Directory.New-ADGroup -Name "NewGroup" -SamAccountName "NewGroup" -GroupCategory Security -GroupScope Global -Path "CN=Users,DC=example,DC=com"
-
New-ADUser
Cria um novo usuário no Active Directory.New-ADUser -Name "John Doe" -SamAccountName "jdoe" -UserPrincipalName "jdoe@example.com" -Path "CN=Users,DC=example,DC=com"
-
Remove-ADUser
Remove um usuário do Active Directory.Remove-ADUser -Identity "jdoe"
-
Get-ADComputer -Filter * | Select-Object Name, OperatingSystem
Exibe todos os computadores e seus sistemas operacionais no Active Directory.Get-ADComputer -Filter * | Select-Object Name, OperatingSystem
Administração Remota
-
Enter-PSSession
Inicia uma sessão remota do PowerShell em outro computador.Enter-PSSession -ComputerName "RemotePC"
-
Exit-PSSession
Sai de uma sessão remota do PowerShell.Exit-PSSession
-
Enable-PSRemoting
Habilita o PowerShell Remoting no computador.Enable-PSRemoting -Force
-
Get-PSDrive
Exibe todos os drives (dispositivos de armazenamento) disponíveis no PowerShell.Get-PSDrive
-
Get-RemoteFile
Obtém arquivos remotamente de uma máquina.Get-RemoteFile -ComputerName "RemotePC" -FilePath "C:\remote\file.txt"
Funções e Scripts
-
Function MyFunction { }
Define uma função personalizada no PowerShell.Function MyFunction { Write-Host "Função executada!" }
-
Export-ModuleMember
Exporta membros de um módulo PowerShell.Export-ModuleMember -Function MyFunction
-
New-Module
Cria um novo módulo no PowerShell.New-Module -Name "MyModule" -ScriptBlock { Write-Host "Meu Módulo" }
-
Invoke-Expression
Executa um comando ou script armazenado em uma string.$command = "Get-Process" Invoke-Expression $command
-
Test-Connection -ComputerName "RemotePC" -Count 4
Testa a conectividade de rede para um computador remoto.Test-Connection -ComputerName "RemotePC" -Count 4
Outros Comandos Avançados
-
Get-WmiObject -Class Win32_BIOS
Obtém informações sobre o BIOS do computador.Get-WmiObject -Class Win32_BIOS
-
Get-Help about_Commands
Exibe informações sobre os comandos no PowerShell.Get-Help about_Commands
-
Get-Date
Obtém a data e hora atuais.Get-Date
-
Set-Date
Define a data e hora do sistema.Set-Date -Date "2025-04-16 10:00"
-
Get-Content -Path "log.txt" | Select-String "Error"
Pesquisa erros em um arquivo de log.Get-Content -Path "log.txt" | Select-String "Error"
-
Get-Help Set-ExecutionPolicy
Exibe detalhes sobre o comando Set-ExecutionPolicy.Get-Help Set-ExecutionPolicy
-
Test-Path "C:\temp"
Verifica se um diretório ou arquivo existe.Test-Path "C:\temp"
-
Get-Command -Module Microsoft.PowerShell.Management
Exibe comandos de um módulo específico.Get-Command -Module Microsoft.PowerShell.Management
-
Start-Process
Inicia um novo processo no sistema.Start-Process "notepad.exe"
-
Get-Process | Export-Clixml -Path "C:\temp\processes.xml"
Exporta os processos para um arquivo XML.powershell Get-Process | Export-Clixml -Path "C:\temp\processes.xml"
Esses comandos cobrem uma ampla gama de funcionalidades no PowerShell, desde operações básicas de gerenciamento de arquivos até automação avançada e administração remota. Se precisar de mais detalhes sobre algum comando específico, estou à disposição!
0 Comentários