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