Windows · Redes

Comandos Windows para Administração de Redes

cmd PowerShell netsh WinRM Windows 10/11/Server
Boa prática: comandos de consulta podem ser usados livremente em laboratórios. Comandos que alteram IP, rotas, firewall, interfaces, serviços ou políticas devem ser testados antes e aplicados com controle de mudança. Comandos marcados com [Admin] requerem prompt elevado (Executar como Administrador).
Tema 01 🧭

Inventário e Identificação da Rede

Comandos para descobrir interfaces, endereços, MACs, rotas, gateways, nomes e estado geral da conectividade no Windows.

comandos-inventario.ps1 / .bat cmd + PS
# 01. Identificação do host — hostname, SO, BIOS e domínio. systeminfo Get-ComputerInfo | Select-Object CsName,OsName,OsVersion,CsDomain # 02. Endereços por interface — IPs, MACs, gateway e DNS de cada adaptador. ipconfig /all Get-NetIPAddress | Select-Object InterfaceAlias,IPAddress,PrefixLength,AddressFamily # 03. Estado de enlaces — interfaces, status, velocidade e MTU. Get-NetAdapter | Select-Object Name,Status,LinkSpeed,MacAddress,MTU # 04. Tabela de rotas — rota padrão e rotas específicas. route print Get-NetRoute | Sort-Object RouteMetric | Format-Table -AutoSize # 05. Resumo de adaptadores de rede — todos os adaptadores e estados. Get-NetAdapter | Format-Table Name,InterfaceDescription,Status,LinkSpeed # 06. Características físicas — driver, velocidade e fabricante da NIC. Get-NetAdapterAdvancedProperty -Name "Ethernet" Get-WmiObject Win32_NetworkAdapter | Where-Object{$_.NetEnabled} | Select-Object Name,Speed,MACAddress # 07. Informações de hardware — inventário completo de rede via WMI. Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object{$_.IPEnabled} | Select-Object Description,IPAddress,DefaultIPGateway,DNSServerSearchOrder # 08. Interfaces do sistema — listar adaptadores e GUIDs. Get-NetIPInterface | Select-Object InterfaceAlias,AddressFamily,ConnectionState,NlMtu

Mapa rápido de uso

#ComandoFinalidadeAplicação prática
01systeminfoIdentificação do hostMostra hostname, SO, BIOS, domínio e hotfixes.Use para documentar estações e servidores antes de iniciar manutenção.
02ipconfig /allEndereços por interfaceLista IPs, MACs, gateway, DNS e estado DHCP.Primeiro comando para inventário de rede e troubleshooting de IP.
03Get-NetAdapterEstado de enlacesMostra interfaces, status operacional e velocidade.Use para validar cabos, links virtuais e adaptadores desativados.
04route printTabela de rotasExibe rota padrão, rotas específicas e métricas.Primeiro comando para investigar ausência de conectividade fora da sub-rede.
05Get-NetAdapterResumo de adaptadoresLista todos os adaptadores e estados PowerShell.Mais detalhado que ipconfig — inclui adaptadores virtuais e VPN.
06Get-NetAdapterAdvancedPropertyCaracterísticas físicasExibe propriedades avançadas da NIC.Útil para detectar duplex mismatch, offloading e configurações de driver.
07Get-WmiObject Win32_NetworkAdapterConfigurationInventário via WMIRetorna configuração completa de IP via WMI/CIM.Ideal para inventário remoto e scripts de auditoria automática.
08Get-NetIPInterfaceInterfaces do sistemaLista todas as interfaces IP com estado de conexão.Inclui adaptadores virtuais, loopback e tunelamentos.
Tema 02 📡

Conectividade e Diagnóstico Básico

Testes essenciais para validar alcance, latência, perda de pacotes e caminho de rede no Windows.

comandos-conectividade.ps1 cmd + PS
# 01. Teste ICMP de alcance — verifica se um host responde e mede latência. ping 8.8.8.8 ping -n 4 peotta.github.io Test-Connection -ComputerName 8.8.8.8 -Count 4 # 02. Caminho até o destino — mostra saltos percorridos e onde ocorre perda. tracert 8.8.8.8 tracert peotta.github.io Test-NetConnection -ComputerName 8.8.8.8 -TraceRoute # 03. Diagnóstico TCP de porta — verifica se uma porta TCP está aberta. Test-NetConnection -ComputerName 192.168.1.10 -Port 443 Test-NetConnection -ComputerName smtp.gmail.com -Port 25 -InformationLevel Detailed # 04. Tabela ARP — mostra vizinhos da camada 2 conhecidos pelo host. arp -a Get-NetNeighbor | Select-Object InterfaceAlias,IPAddress,LinkLayerAddress,State # 05. Teste HTTP/HTTPS — valida conectividade em camada de aplicação. Invoke-WebRequest -Uri https://peotta.github.io -UseBasicParsing | Select-Object StatusCode curl.exe -I https://peotta.github.io # 06. Resolução de nome e alcance simultâneos — diagnóstico completo. Resolve-DnsName peotta.github.io | Select-Object Name,Type,IPAddress Test-NetConnection -ComputerName peotta.github.io -Port 80 # 07. Medição de banda — iperf3 para Windows (requer instalação). # Servidor: iperf3 -s iperf3 -c 192.168.1.10 -P 4 iperf3 -c 192.168.1.10 -u -b 100M # 08. Diagnóstico de rede completo — relatório automático do Windows. Get-NetConnectionProfile netsh interface ip show config

Mapa rápido de uso

#ComandoFinalidadeAplicação prática
01ping / Test-ConnectionTeste ICMP de alcanceVerifica alcance e mede RTT para um destino.Use Test-Connection em scripts PowerShell — retorna objetos, não texto.
02tracert / Test-NetConnection -TraceRouteCaminho até destinoMostra saltos e onde ocorre perda ou alta latência.tracert usa ICMP TTL — pode ser bloqueado por firewalls intermediários.
03Test-NetConnection -PortDiagnóstico TCPTesta se uma porta TCP está aberta e acessível.Equivalente ao nc -vz do Linux. Excelente para validar serviços.
04arp -a / Get-NetNeighborTabela ARPMostra vizinhos L2 com seus MACs resolvidos.Use para investigar conflitos de IP e gateway inacessível.
05Invoke-WebRequest / curl.exeTeste HTTP/HTTPSValida conectividade em camada de aplicação web.Mais preciso que ping quando o serviço é HTTP/HTTPS.
06Resolve-DnsName + Test-NetConnectionDiagnóstico completoCombina resolução DNS e teste de porta em sequência.Use para validar serviços externos em uma única sessão.
07iperf3Medição de bandaMede vazão TCP/UDP real entre dois pontos.Baixar em github.com/ar51an/iperf3-win-builds para Windows.
08Get-NetConnectionProfilePerfil de redeMostra tipo de rede (pública/privada/domínio).Importante pois o perfil afeta as regras de firewall aplicadas.
Tema 03 🌐

Configuração IPv4, IPv6 e Rotas

Comandos para configurar endereços IP, gateways, rotas estáticas e parâmetros de rede via netsh e PowerShell.

comandos-ip.ps1 [Admin] PS · Admin
# 01. Configurar IP estático — define endereço, máscara e gateway [Admin]. New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 192.168.10.20 -PrefixLength 24 -DefaultGateway 192.168.10.1 # via netsh (legado): netsh interface ip set address "Ethernet" static 192.168.10.20 255.255.255.0 192.168.10.1 # 02. Ativar DHCP — remove IP estático e solicita via DHCP [Admin]. Set-NetIPInterface -InterfaceAlias "Ethernet" -Dhcp Enabled netsh interface ip set address "Ethernet" dhcp # 03. Configurar DNS manualmente [Admin]. Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses ("8.8.8.8","1.1.1.1") netsh interface ip set dns "Ethernet" static 8.8.8.8 # 04. Adicionar rota estática — cria rota para rede específica [Admin]. route add 10.20.0.0 mask 255.255.0.0 192.168.1.1 New-NetRoute -DestinationPrefix "10.20.0.0/16" -NextHop "192.168.1.1" -InterfaceAlias "Ethernet" # 05. Remover rota — remove rota incorreta da tabela [Admin]. route delete 10.20.0.0 Remove-NetRoute -DestinationPrefix "10.20.0.0/16" -Confirm:$false # 06. Configurar IPv6 — adicionar endereço IPv6 estático [Admin]. New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress "2001:db8:10::20" -PrefixLength 64 netsh interface ipv6 add address "Ethernet" 2001:db8:10::20/64 # 07. Habilitar roteamento IP no Windows — transforma a máquina em roteador [Admin]. Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -Name "IPEnableRouter" -Value 1 netsh interface ipv4 set global forwarding=enabled # 08. Liberar e renovar endereço DHCP. ipconfig /release ipconfig /renew ipconfig /release6 # IPv6 ipconfig /renew6

Mapa rápido de uso

#ComandoFinalidadeAplicação prática
01New-NetIPAddressConfigurar IP estáticoDefine endereço, prefixo e gateway permanentemente.Alterações via PowerShell persistem após reinício.
02Set-NetIPInterface -DhcpAtivar DHCPRemove configuração estática e usa DHCP.Útil ao migrar de estático para dinâmico sem reconfiguração manual.
03Set-DnsClientServerAddressConfigurar DNSDefine servidores DNS por interface.Alteração persistente — preferível ao netsh em ambientes modernos.
04route add / New-NetRouteAdicionar rota estáticaCria rota para rede ou host específico.route add sem -p não persiste após reinício. Use New-NetRoute para persistência.
05route delete / Remove-NetRouteRemover rotaRemove rota incorreta da tabela de roteamento.Confirme a rota antes de remover para evitar perda de acesso remoto.
06New-NetIPAddress (IPv6)Configurar IPv6Adiciona endereço IPv6 estático à interface.Use prefixo /64 para endereços unicast de site.
07IPEnableRouterHabilitar roteamentoAtiva encaminhamento de pacotes entre interfaces.Necessário para usar Windows como roteador, NAT ou gateway de VPN.
08ipconfig /release /renewRenovar DHCPLibera IP atual e solicita novo lease ao servidor.Use após alterações no servidor DHCP ou em problemas de endereçamento.
Tema 04 🔎

DNS e Resolução de Nomes

Ferramentas para consultar registros DNS, testar resolução e diagnosticar falhas de nomes no Windows.

comandos-dns.ps1 cmd + PS
# 01. Consulta DNS detalhada — resolve nomes e exibe registros A, AAAA, MX, NS, TXT. Resolve-DnsName peotta.github.io Resolve-DnsName peotta.github.io -Type MX Resolve-DnsName peotta.github.io -Type AAAA # 02. Consulta em DNS específico — força resolução por servidor determinado. Resolve-DnsName peotta.github.io -Server 8.8.8.8 Resolve-DnsName example.com -Server 1.1.1.1 -Type MX # 03. nslookup — ferramenta clássica disponível no cmd e PowerShell. nslookup peotta.github.io nslookup -type=mx example.com nslookup peotta.github.io 8.8.8.8 # 04. Ver DNS configurado por interface. Get-DnsClientServerAddress | Format-Table InterfaceAlias,ServerAddresses ipconfig /all | findstr "DNS Servers" # 05. Cache DNS local — listar e limpar entradas em cache. Get-DnsClientCache | Select-Object Entry,RecordType,Data ipconfig /displaydns | more ipconfig /flushdns # [Admin] limpar cache DNS Clear-DnsClientCache # PowerShell — limpar cache # 06. Arquivo hosts — resolução local que precede DNS. notepad C:\Windows\System32\drivers\etc\hosts Get-Content C:\Windows\System32\drivers\etc\hosts | Where-Object{$_ -notmatch '^#' -and $_.Trim()} # 07. Diagnóstico DNS no Windows Server — verificar serviço DNS local. Get-Service DNS Get-DnsServer # [Admin, módulo DNS Server] Get-DnsServerResourceRecord -ZoneName "exemplo.com.br" -RRType A # 08. Teste de resolução reversa — PTR a partir de IP. Resolve-DnsName 8.8.8.8 -Type PTR nslookup 8.8.8.8

Mapa rápido de uso

#ComandoFinalidadeAplicação prática
01Resolve-DnsNameConsulta DNS detalhadaResolve qualquer tipo de registro DNS via PowerShell.Ferramenta principal para análise DNS em ambientes Windows modernos.
02Resolve-DnsName -ServerDNS específicoForça consulta em um resolvedor determinado.Use para comparar respostas entre DNS interno e externo.
03nslookupConsulta DNS clássicaFerramenta interativa disponível no cmd desde Windows NT.Útil por familiaridade — Resolve-DnsName é mais completo em PS.
04Get-DnsClientServerAddressDNS por interfaceMostra servidores DNS configurados por adaptador.Importante verificar por interface — redes diferentes podem ter DNS diferentes.
05ipconfig /flushdnsLimpar cache DNSRemove entradas em cache que podem estar obsoletas.Use após alterações em DNS, mudança de IP ou erros de resolução.
06hostsArquivo hosts localResolução local que tem precedência sobre DNS.Útil em labs para simular hostnames sem servidor DNS.
07Get-DnsServerDNS Server localGerencia servidor DNS instalado no Windows Server.Requer módulo RSAT-DNS-Server ou Windows Server com função DNS.
08Resolve-DnsName -Type PTRResolução reversaResolve IP para nome via registro PTR.Útil para validar configuração de reverse DNS em logs de servidor.
Tema 05 🔌

Portas, Sockets e Serviços em Escuta

Identificação de portas abertas, conexões ativas e processos associados no Windows.

comandos-portas.ps1 cmd + PS
# 01. Portas abertas com processo — lista TCP/UDP em escuta com PID e executável. netstat -ano Get-NetTCPConnection -State Listen | Select-Object LocalAddress,LocalPort,State,OwningProcess # 02. Identificar processo dono de porta — cruza PID com nome do processo. netstat -ano | findstr :443 Get-Process -Id ((Get-NetTCPConnection -LocalPort 443 -ErrorAction SilentlyContinue).OwningProcess) # 03. Conexões estabelecidas — mostra conexões ativas e endpoints remotos. netstat -an | findstr ESTABLISHED Get-NetTCPConnection -State Established | Select-Object LocalAddress,LocalPort,RemoteAddress,RemotePort,OwningProcess # 04. Estatísticas TCP/UDP — contadores de segmentos, erros e retransmissões. netstat -s -p tcp netstat -s -p udp Get-NetTCPSetting # 05. Estado de serviços Windows — status de serviços de rede. Get-Service | Where-Object{$_.Status -eq 'Running'} | Select-Object DisplayName,Name,Status Get-Service -Name "W32Time","WinRM","DHCP","DNS" # 06. Iniciar, parar e reiniciar serviços [Admin]. Start-Service "WinRM" Stop-Service "Spooler" Restart-Service "W32Time" sc start wuauserv # 07. Varredura de portas locais autorizada — via PowerShell ou nmap. 1..1024 | ForEach-Object { $t=New-Object Net.Sockets.TcpClient Try{$t.Connect("127.0.0.1",$_);Write-Host "Porta $_: ABERTA";}Catch{} $t.Close()} nmap -sV 127.0.0.1 # requer nmap for Windows # 08. Monitoramento contínuo de conexões. while($true){Get-NetTCPConnection -State Established | Measure-Object; Start-Sleep 2}

Mapa rápido de uso

#ComandoFinalidadeAplicação prática
01netstat -ano / Get-NetTCPConnectionPortas abertasLista portas TCP/UDP em escuta com PID.Essencial para auditoria de superfície de ataque e troubleshooting.
02Get-Process + Get-NetTCPConnectionProcesso por portaIdentifica qual processo está usando determinada porta.Equivalente ao lsof -i do Linux.
03Get-NetTCPConnection -State EstablishedConexões ativasMostra todas as conexões estabelecidas com endpoints.Útil para identificar comunicações inesperadas ou persistência de malware.
04netstat -sEstatísticas TCP/UDPContadores de segmentos, erros e retransmissões.Use para identificar degradação de rede por retransmissões excessivas.
05Get-ServiceEstado de serviçosLista todos os serviços e seus estados.Primeiro passo para diagnosticar serviços de rede parados.
06Start/Stop/Restart-ServiceControlar serviçosInicia, para e reinicia serviços Windows.Use em scripts de manutenção e automação de deployment.
07PowerShell port scan / nmapVarredura localDescobre portas abertas no host ou rede local.Somente em ambientes próprios ou com autorização explícita.
08Loop Get-NetTCPConnectionMonitoramento contínuoAcompanha abertura e fechamento de conexões.Útil durante testes de aplicação e análise de comportamento de rede.
Tema 06 🧱

Firewall e Segurança de Rede

Gerenciamento do Windows Firewall (Defender Firewall) via PowerShell e netsh, além de IPSec e controle de tráfego.

comandos-firewall.ps1 [Admin] PS · Admin
# 01. Estado do Firewall — perfis Domínio, Privado e Público [Admin]. Get-NetFirewallProfile | Select-Object Name,Enabled,DefaultInboundAction,DefaultOutboundAction netsh advfirewall show allprofiles # 02. Listar regras de entrada e saída. Get-NetFirewallRule | Where-Object{$_.Enabled -eq 'True'} | Select-Object DisplayName,Direction,Action,Profile Get-NetFirewallRule -Direction Inbound -Action Allow | Format-Table DisplayName,Enabled # 03. Criar regra de entrada — liberar porta específica [Admin]. New-NetFirewallRule -DisplayName "Permitir RDP 3389" -Direction Inbound -Protocol TCP -LocalPort 3389 -Action Allow netsh advfirewall firewall add rule name="SSH Entrada" protocol=TCP dir=in localport=22 action=allow # 04. Criar regra de saída — bloquear saída para destino [Admin]. New-NetFirewallRule -DisplayName "Bloquear porta 23 saída" -Direction Outbound -Protocol TCP -RemotePort 23 -Action Block # 05. Remover regra existente [Admin]. Remove-NetFirewallRule -DisplayName "Permitir RDP 3389" netsh advfirewall firewall delete rule name="SSH Entrada" # 06. Habilitar/desabilitar Firewall por perfil [Admin]. Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True netsh advfirewall set allprofiles state on netsh advfirewall set publicprofile state off # desabilitar só o perfil público # 07. Windows Defender — estado e varredura rápida [Admin]. Get-MpComputerStatus | Select-Object AntivirusEnabled,RealTimeProtectionEnabled,AMProductVersion Start-MpScan -ScanType QuickScan # 08. IPSec — políticas de segurança de tráfego. netsh ipsec static show all Get-NetIPsecRule | Select-Object DisplayName,Enabled,Mode

Mapa rápido de uso

#ComandoFinalidadeAplicação prática
01Get-NetFirewallProfileEstado do FirewallMostra estado e política padrão de cada perfil.O perfil ativo muda conforme tipo de rede — verifique antes de aplicar regras.
02Get-NetFirewallRuleListar regrasLista todas as regras ativas com direção e ação.Use -Direction e -Action para filtrar e auditar regras específicas.
03New-NetFirewallRule (Inbound)Regra de entradaCria regra para permitir ou bloquear tráfego entrante.Especifique -Profile para limitar o escopo ao perfil correto.
04New-NetFirewallRule (Outbound)Regra de saídaControla tráfego saindo da máquina.Útil para bloquear protocolos inseguros como Telnet e FTP.
05Remove-NetFirewallRuleRemover regraRemove regra por nome ou identificador.Verifique o DisplayName exato antes de remover — nomes podem ser similares.
06Set-NetFirewallProfile -EnabledHabilitar/DesabilitarControla estado do firewall por perfil.Nunca desabilitar em produção — use regras permissivas se necessário.
07Get-MpComputerStatusWindows DefenderVerifica estado do antivírus e proteção em tempo real.Use em scripts de conformidade e inventário de segurança.
08Get-NetIPsecRuleIPSecLista políticas de IPSec configuradas no sistema.Relevante em ambientes corporativos com autenticação mútua de hosts.
Tema 07 📦

Captura e Análise de Pacotes

Ferramentas nativas e externas para captura de tráfego, geração de PCAP e análise de protocolos no Windows.

comandos-captura.ps1 [Admin] PS · Admin
# 01. Captura nativa com netsh (ETW) — gera .etl convertível para PCAP [Admin]. netsh trace start capture=yes tracefile=C:\captura.etl maxsize=500 # (reproduzir o problema) netsh trace stop # 02. Converter .etl para .pcap — requer etl2pcapng (github.com/microsoft/etl2pcapng). etl2pcapng.exe C:\captura.etl C:\captura.pcap # 03. Captura com PowerShell (Windows 10 2018+) [Admin]. New-NetEventSession -Name "Lab" -LocalFilePath "C:\lab.etl" -CaptureMode SaveToFile Add-NetEventPacketCaptureProvider -SessionName "Lab" -Level 4 -CaptureType BothPhysicalAndSwitch Start-NetEventSession "Lab" # (reproduzir o problema) Stop-NetEventSession "Lab" Remove-NetEventSession "Lab" # 04. Wireshark para Windows — captura e análise com interface gráfica. # Download: wireshark.org — instala npcap automaticamente # Linha de comando (tshark): tshark -i "Ethernet" -w C:\captura.pcap tshark -r C:\captura.pcap -Y "dns" -T fields -e dns.qry.name # 05. Filtros Wireshark úteis para Windows — aplicar em display filter. # ARP: arp # DNS: dns # EAPOL: eapol # ICMP: icmp # SMB: smb || smb2 # Kerberos: kerberos # HTTP: http # TCP RST: tcp.flags.reset==1 # 06. pktmon — capturador nativo moderno (Windows 10 2004+) [Admin]. pktmon start --capture --file C:\pktmon.etl # (reproduzir o problema) pktmon stop pktmon pcapng C:\pktmon.etl -o C:\pktmon.pcap # converter para pcap pktmon filter add -p 443 # filtrar apenas porta 443 # 07. Monitoramento de banda por interface [Admin]. Get-NetAdapterStatistics -Name "Ethernet" | Select-Object ReceivedBytes,SentBytes while($true){Get-NetAdapterStatistics "Ethernet" | Select-Object ReceivedBytes,SentBytes; Start-Sleep 2} # 08. Análise de tráfego por processo — requer sysinternals TCPView ou Process Monitor. # TCPView: live.sysinternals.com/Tcpview.exe # Process Monitor: live.sysinternals.com/Procmon.exe # NetworkMon: microsoft.com/en-us/download/details.aspx?id=4865

Mapa rápido de uso

#ComandoFinalidadeAplicação prática
01netsh trace startCaptura ETW nativaCaptura tráfego em formato ETL sem instalar nada.Disponível em todos os Windows 7+ — ideal para ambientes sem Wireshark.
02etl2pcapngConverter ETL → PCAPConverte captura nativa para formato PCAP do Wireshark.Ferramenta oficial Microsoft — download em github.com/microsoft/etl2pcapng.
03New-NetEventSessionCaptura PowerShellSessão de captura ETW completa via PowerShell.Permite captura em servidores headless sem interface gráfica.
04tsharkWireshark CLIAnálise de PCAP e captura em linha de comando.Instale Wireshark — tshark é incluído automaticamente.
05Filtros WiresharkDisplay filtersFiltros específicos para protocolos Windows (SMB, Kerberos).smb2 é essencial em ambientes Windows — inclui File Server e AD.
06pktmonCapturador modernoCaptura e filtra tráfego nativa com saída em PCAP.Disponível a partir do Windows 10 2004 — nativo, sem instalação adicional.
07Get-NetAdapterStatisticsBanda por interfaceMostra bytes enviados/recebidos por adaptador.Use em loop para monitorar taxa de transferência em tempo real.
08TCPView / Process MonitorSysinternalsVisualização gráfica de conexões por processo.Ferramentas gratuitas Microsoft — essenciais para troubleshooting avançado.
Tema 08 📶

Wi-Fi e Interfaces Sem Fio

Gerenciamento de interfaces wireless, redes salvas, perfis e diagnóstico de conectividade sem fio no Windows.

comandos-wifi.ps1 cmd + PS
# 01. Listar redes Wi-Fi visíveis — escanear SSIDs próximos. netsh wlan show networks mode=bssid Get-NetAdapter -Name "Wi-Fi" | Select-Object Status,LinkSpeed # 02. Estado da interface Wi-Fi — informações de conexão atual. netsh wlan show interfaces Get-NetConnectionProfile | Where-Object{$_.InterfaceAlias -like "*Wi*"} # 03. Listar perfis salvos — todas as redes Wi-Fi conhecidas. netsh wlan show profiles Get-WifiProfile # módulo WiFiProfileManagement (opcional) # 04. Ver senha de rede salva [Admin]. netsh wlan show profile name="NomeDaRede" key=clear # Campo "Conteúdo da chave" exibe a senha em texto claro # 05. Conectar e desconectar de redes Wi-Fi. netsh wlan connect name="NomeDaRede" netsh wlan disconnect # 06. Exportar e importar perfis Wi-Fi [Admin]. netsh wlan export profile name="NomeDaRede" folder=C:\Perfis\ netsh wlan add profile filename="C:\Perfis\NomeDaRede.xml" # 07. Criar ponto de acesso (Hosted Network) [Admin]. netsh wlan set hostednetwork mode=allow ssid="LabHotspot" key="Senha12345!" netsh wlan start hostednetwork netsh wlan stop hostednetwork netsh wlan show hostednetwork # 08. Relatório de diagnóstico Wi-Fi — histórico de conexões [Admin]. netsh wlan show wlanreport # Relatório HTML em: C:\ProgramData\Microsoft\Windows\WlanReport\wlan-report-latest.html Start-Process "C:\ProgramData\Microsoft\Windows\WlanReport\wlan-report-latest.html"

Mapa rápido de uso

#ComandoFinalidadeAplicação prática
01netsh wlan show networksEscanear redesLista SSIDs, BSSIDs, protocolos e sinal de redes próximas.Use mode=bssid para ver todos os APs incluindo multi-BSSID.
02netsh wlan show interfacesEstado Wi-FiMostra SSID conectado, BSSID, canal, sinal e autenticação.Inclui força do sinal em % — útil para diagnóstico de desconexões.
03netsh wlan show profilesRedes salvasLista todos os perfis de redes Wi-Fi armazenados.Use para auditoria de redes conhecidas e limpeza de perfis antigos.
04netsh wlan show profile key=clearVer senha salvaExibe a senha armazenada de um perfil Wi-Fi.Requer admin. Use para recuperar senhas sem acessar o roteador.
05netsh wlan connect/disconnectGerenciar conexãoConecta a uma rede salva ou desconecta a atual.Útil em scripts de automação de conexão por horário ou condição.
06netsh wlan export/add profileBackup de perfisExporta configuração de rede para XML e reimporta.Use para migrar perfis de rede entre máquinas ou fazer backup.
07netsh wlan hostednetworkPonto de acessoCria um AP virtual compartilhando a conexão.Substituído pelo Mobile Hotspot no Windows 10/11 — ainda funciona no Server.
08netsh wlan show wlanreportRelatório Wi-FiGera relatório HTML com histórico de conexões e falhas.Excelente para diagnosticar desconexões intermitentes com dados históricos.
Tema 09 🖧

Compartilhamento, SMB e Active Directory

Gerenciamento de compartilhamentos de rede, recursos SMB, sessões e integração com Active Directory.

comandos-compartilhamento.ps1 cmd + PS
# 01. Listar compartilhamentos locais. net share Get-SmbShare | Select-Object Name,Path,Description # 02. Criar e remover compartilhamento [Admin]. net share LabShare=C:\Lab /grant:Everyone,FULL New-SmbShare -Name "LabShare" -Path "C:\Lab" -FullAccess "Everyone" Remove-SmbShare -Name "LabShare" -Force # 03. Listar sessões e conexões SMB abertas [Admin]. net session Get-SmbSession | Select-Object ClientComputerName,ClientUserName,NumOpens Get-SmbConnection # 04. Mapear unidade de rede. net use Z: \\servidor\LabShare /persistent:yes New-PSDrive -Name Z -PSProvider FileSystem -Root "\\servidor\LabShare" -Persist # 05. Informações de domínio e controlador de domínio. nltest /dsgetdc:dominio.com.br nltest /dclist:dominio.com.br Get-ADDomainController -Filter * # módulo RSAT Active Directory # 06. Usuários e grupos do AD [requer RSAT]. Get-ADUser -Filter * | Select-Object Name,SamAccountName,Enabled Get-ADGroup -Filter * | Select-Object Name,GroupCategory Get-ADGroupMember -Identity "Domain Admins" # 07. GPO — listar e forçar atualização de políticas. gpresult /r gpresult /h C:\relatorio-gpo.html gpupdate /force # 08. Informações de autenticação Kerberos. klist # listar tickets Kerberos klist purge # remover tickets expirados Get-WinEvent -LogName Security -FilterXPath "*[System[EventID=4769]]" -MaxEvents 10

Mapa rápido de uso

#ComandoFinalidadeAplicação prática
01net share / Get-SmbShareListar compartilhamentosLista recursos compartilhados localmente via SMB.Inclui compartilhamentos administrativos (C$, IPC$, ADMIN$).
02New-SmbShareCriar compartilhamentoCria compartilhamento com permissões definidas.Defina permissões NTFS e de compartilhamento separadamente.
03Get-SmbSessionSessões abertasLista usuários e computadores conectados via SMB.Use para auditoria de acesso a compartilhamentos e encerrar sessões.
04net use / New-PSDriveMapear unidadeConecta unidade de rede mapeada a letra local.Use -Persist para manter após logoff. Exige autenticação no destino.
05nltest / Get-ADDomainControllerControlador de domínioLocaliza e lista DCs do domínio.Use nltest /dsgetdc quando há suspeita de falha de autenticação.
06Get-ADUser / Get-ADGroupObjetos do ADConsulta usuários e grupos do Active Directory.Requer módulo RSAT-AD-PowerShell — instalável via RSAT.
07gpresult / gpupdatePolíticas de grupoExibe GPOs aplicadas e força atualização de políticas.gpresult /h gera relatório HTML muito mais legível que /r.
08klistTickets KerberosLista e gerencia tickets de autenticação Kerberos.Use klist purge quando houver erros de autenticação após mudança de senha.
Tema 10 🧰

Serviços de Rede, Agendamento e Processos

Gestão de serviços, tarefas agendadas, WinRM, SSH nativo e administração remota no Windows.

comandos-servicos.ps1 PS · Admin
# 01. WinRM — habilitar gerenciamento remoto PowerShell [Admin]. Enable-PSRemoting -Force winrm quickconfig Test-WSMan -ComputerName servidor01 # 02. Executar comando remoto via WinRM. Invoke-Command -ComputerName servidor01 -ScriptBlock {Get-NetIPAddress} Enter-PSSession -ComputerName servidor01 # 03. SSH nativo no Windows (OpenSSH) [Admin]. Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 Start-Service sshd Set-Service -Name sshd -StartupType Automatic ssh usuario@192.168.1.10 # 04. DHCP Server no Windows Server [Admin]. Get-DhcpServerv4Scope Get-DhcpServerv4Lease -ScopeId 192.168.1.0 Add-DhcpServerv4Reservation -ScopeId 192.168.1.0 -IPAddress 192.168.1.50 -ClientId "AA:BB:CC:DD:EE:FF" -Description "Impressora" # 05. NTP — sincronização de hora. w32tm /query /status w32tm /config /manualpeerlist:a.ntp.br /syncfromflags:manual /reliable:yes /update Restart-Service w32time # 06. IIS — servidor web nativo do Windows [Admin]. Get-WebSite # listar sites IIS Start-WebSite -Name "Default Web Site" Get-WebBinding -Name "Default Web Site" iisreset # reiniciar IIS # 07. Tarefas agendadas — listar e criar. Get-ScheduledTask | Where-Object{$_.State -eq 'Ready'} | Select-Object TaskName,TaskPath Register-ScheduledTask -TaskName "BackupRede" -Trigger (New-ScheduledTaskTrigger -Daily -At "02:00") -Action (New-ScheduledTaskAction -Execute "robocopy.exe" -Argument "C:\Dados \\srv\backup /MIR") # 08. RDP — habilitar acesso remoto [Admin]. Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name "fDenyTSConnections" -Value 0 Enable-NetFirewallRule -DisplayGroup "Remote Desktop" mstsc /v:192.168.1.10

Mapa rápido de uso

#ComandoFinalidadeAplicação prática
01Enable-PSRemotingWinRMHabilita gerenciamento remoto via PowerShell.Necessário antes de usar Invoke-Command ou Enter-PSSession.
02Invoke-Command / Enter-PSSessionSessão remotaExecuta comandos ou abre shell interativo em host remoto.Equivalente ao SSH com PowerShell como shell.
03OpenSSH ServerSSH nativoInstala e ativa servidor SSH nativo do Windows.Disponível desde Windows 10 1809 — preferível ao WinRM em ambientes heterogêneos.
04Get-DhcpServerv4LeaseDHCP ServerLista leases e reservas do servidor DHCP Windows.Requer papel DHCP Server instalado no Windows Server.
05w32tmNTPConfigura e verifica sincronização de horário NTP.Hora correta é crítica para Kerberos — desvio maior que 5 min bloqueia autenticação.
06Get-WebSite / iisresetIISGerencia sites e pools de aplicações do IIS.Requer módulo WebAdministration — importar com Import-Module WebAdministration.
07Register-ScheduledTaskTarefas agendadasCria tarefas automáticas via PowerShell.Prefira PowerShell ao schtasks.exe para tarefas complexas.
08mstsc / RDPAcesso remoto RDPHabilita e abre sessões de Área de Trabalho Remota.Use Network Level Authentication (NLA) obrigatório em produção.
Tema 11 📊

Monitoramento, Performance e Capacidade

Coleta de métricas de CPU, memória, disco e rede; contadores de desempenho e monitoramento em tempo real.

comandos-monitoramento.ps1 PS · cmd
# 01. CPU, memória e processos — resumo de uso de recursos. Get-Process | Sort-Object CPU -Descending | Select-Object -First 10 Name,CPU,WorkingSet Get-WmiObject Win32_OperatingSystem | Select-Object FreePhysicalMemory,TotalVisibleMemorySize # 02. Desempenho de rede — bytes enviados/recebidos por adaptador. Get-Counter "\Network Interface(*)\Bytes Total/sec" Get-Counter "\Network Interface(*)\Packets Received Errors" # 03. Uso de disco — espaço livre por volume. Get-PSDrive -PSProvider FileSystem | Select-Object Name,Used,Free Get-Volume | Select-Object DriveLetter,FileSystem,Size,SizeRemaining # 04. Contadores de Performance — via perfmon ou PowerShell. Get-Counter -Counter "\Processor(_Total)\% Processor Time" -Continuous -SampleInterval 2 Get-Counter "\TCPv4\Connections Established" # 05. Monitor de banda por processo — via Get-NetAdapterStatistics. Get-NetAdapterStatistics | Select-Object Name,ReceivedBytes,SentBytes,ReceivedUnicastPackets # 06. Resource Monitor — abrir monitor de recursos gráfico. resmon.exe # Ou via perfmon: perfmon.exe # 07. Relatório de saúde do sistema — coleta automática [Admin]. Get-Counter -ListSet * | Select-Object CounterSetName | Sort-Object CounterSetName # Exportar métricas para CSV: Get-Counter "\Network Interface(*)\Bytes Total/sec" -MaxSamples 60 | Export-Counter -Path C:\metricas.csv -FileFormat CSV # 08. Uptime e informações de sistema. Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object LastBootUpTime,@{N='Uptime';E={(Get-Date)-$_.LastBootUpTime}} (Get-Date) - (gcim Win32_OperatingSystem).LastBootUpTime

Mapa rápido de uso

#ComandoFinalidadeAplicação prática
01Get-Process | Sort CPUTop processosLista processos ordenados por uso de CPU/memória.Equivalente ao top/htop do Linux — use em investigações de alta carga.
02Get-Counter Network InterfaceBytes por interfaceTaxa de transferência em bytes/seg por adaptador.Use -Continuous para monitoramento contínuo com interval definido.
03Get-VolumeUso de discoEspaço usado e livre em todos os volumes.Crie alerta quando SizeRemaining cair abaixo de 10%.
04Get-Counter TCPv4 ConnectionsConexões TCPNúmero de conexões TCP ativas no sistema.Monitore para detectar sobrecarga ou ataques de conexão.
05Get-NetAdapterStatisticsEstatísticas NICPacotes e bytes por adaptador de rede.Compare ReceivedUnicastPackets antes e depois de um teste.
06resmon / perfmonMonitor gráficoVisualização gráfica de CPU, memória, disco e rede.resmon.exe mostra uso por processo — excelente para diagnóstico visual.
07Export-CounterExportar métricasSalva contadores em CSV ou BLG para análise posterior.Use para baseline de desempenho antes e após alterações.
08Get-CimInstance Win32_OperatingSystemUptimeMostra data do último boot e tempo online.Use para verificar se reinicializações inesperadas ocorreram.
Tema 12 📜

Logs e Auditoria Operacional

Consulta ao Windows Event Log, logs de segurança, auditoria de autenticação e eventos críticos do sistema.

comandos-logs.ps1 PS · Admin
# 01. Listar logs disponíveis — canais de log do sistema. Get-WinEvent -ListLog * | Select-Object LogName,RecordCount,IsEnabled | Sort-Object RecordCount -Descending | Select-Object -First 20 # 02. Erros do sistema — log System, últimas 24 horas. Get-WinEvent -LogName System -MaxEvents 50 | Where-Object{$_.Level -le 2} | Select-Object TimeCreated,Id,Message eventvwr.msc # abrir Visualizador de Eventos gráfico # 03. Log de Segurança — eventos de autenticação [Admin]. Get-WinEvent -LogName Security -MaxEvents 100 | Where-Object{$_.Id -in 4624,4625,4634,4647,4648} | Select-Object TimeCreated,Id,Message # Eventos de segurança mais importantes: # 4624 = Logon bem-sucedido # 4625 = Falha de logon # 4634 = Logoff # 4648 = Logon com credenciais explícitas # 4740 = Conta bloqueada # 4769 = Solicitação de ticket Kerberos (TGS) # 7045 = Novo serviço instalado # 04. Falhas de logon — identificar tentativas de acesso. Get-WinEvent -LogName Security -FilterXPath "*[System[EventID=4625]]" -MaxEvents 20 | Select-Object TimeCreated,Message # 05. Log de aplicações — erros de software. Get-WinEvent -LogName Application -MaxEvents 30 | Where-Object{$_.Level -le 2} | Select-Object TimeCreated,ProviderName,Id,Message # 06. Eventos de rede — firewall e conexões. Get-WinEvent -LogName "Microsoft-Windows-Windows Firewall With Advanced Security/Firewall" -MaxEvents 20 # 07. Exportar log para CSV para análise. Get-WinEvent -LogName Security -MaxEvents 500 | Where-Object{$_.Id -eq 4625} | Export-Csv C:\falhas-logon.csv -NoTypeInformation # 08. Limpar log de eventos [Admin] — usar com cautela. Clear-EventLog -LogName Application wevtutil cl System # limpar log do sistema

Mapa rápido de uso

#ComandoFinalidadeAplicação prática
01Get-WinEvent -ListLogListar logsDescobre todos os canais de log disponíveis.Use para encontrar logs de aplicações específicas e serviços do Windows.
02Get-WinEvent -LogName SystemLog do sistemaErros e avisos do sistema operacional.Filtre por Level ≤ 2 para ver apenas erros e críticos.
03Get-WinEvent -LogName SecurityLog de segurançaEventos de autenticação, logon e auditoria.Monitorar IDs 4625 e 4740 para detectar ataques de força bruta.
04EventID 4625Falhas de logonRegistra cada tentativa de logon falha com origem.Use XPath filter para consultas eficientes em logs grandes.
05Get-WinEvent -LogName ApplicationLog de aplicaçõesErros de software e serviços instalados.Primeiro lugar para verificar após crash de aplicação ou serviço.
06Log do FirewallEventos de redeRegistra mudanças de regras e bloqueios do firewall.Habilitar auditoria do firewall via GPO para logs de conexão.
07Export-CsvExportar para análiseSalva eventos em CSV para análise em Excel ou SIEM.Use para relatórios periódicos de segurança e conformidade.
08Clear-EventLogLimpar logRemove entradas do log — use com cautela em produção.Exporte antes de limpar. Em auditoria, considerar implicações legais.
Tema 13 ⚙️

Automação, Scripts e Administração Remota

Padrões de automação com PowerShell, execução remota em massa, inventário automático e integração com ferramentas de gestão.

comandos-automacao.ps1 PowerShell
# 01. Execução remota em múltiplos hosts simultaneamente. $hosts = @("srv01","srv02","srv03") Invoke-Command -ComputerName $hosts -ScriptBlock { [PSCustomObject]@{ Host = $env:COMPUTERNAME IP = (Get-NetIPAddress -AddressFamily IPv4 | Where-Object{$_.PrefixOrigin -ne 'WellKnown'}).IPAddress Uptime= ((Get-Date)-(gcim Win32_OperatingSystem).LastBootUpTime).Days } } # 02. Inventário automático de rede — coletar IPs e status de vários hosts. $rede = 1..254 | ForEach-Object -Parallel { $ip = "192.168.1.$_" if(Test-Connection $ip -Count 1 -Quiet){ [PSCustomObject]@{IP=$ip;DNS=(Resolve-DnsName $ip -ErrorAction SilentlyContinue).NameHost} } } -ThrottleLimit 32 $rede | Export-Csv C:\inventario.csv -NoTypeInformation # 03. Verificar serviços em múltiplos servidores. Invoke-Command -ComputerName $hosts -ScriptBlock { Get-Service WinRM,W32Time,DNS -ErrorAction SilentlyContinue } | Select-Object MachineName,DisplayName,Status # 04. Backup de configuração de rede — exportar configuração completa. netsh dump | Out-File "C:\backup-rede-$(Get-Date -Format 'yyyyMMdd').txt" Get-NetIPAddress | Export-Csv "C:\backup-ip.csv" Get-NetRoute | Export-Csv "C:\backup-rotas.csv" # 05. Relatório HTML de inventário de rede. Get-NetAdapter | ConvertTo-Html -Title "Inventário de Rede" -PreContent "

Adaptadores

" | Out-File "C:\relatorio-rede.html" Start-Process "C:\relatorio-rede.html" # 06. Monitorar disponibilidade e alertar — loop com notificação. $hosts | ForEach-Object { if(!(Test-Connection $_ -Count 1 -Quiet)){ Write-Warning "HOST INACESSÍVEL: $_ em $(Get-Date)" # Enviar email ou chamar API de alerta aqui } } # 07. PowerShell Remoting em massa — aplicar patch de configuração. Invoke-Command -ComputerName $hosts -ScriptBlock { Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses "8.8.8.8","1.1.1.1" "DNS atualizado em $env:COMPUTERNAME" } # 08. Configurar política de execução e importar módulos de rede. Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser Import-Module NetTCPIP, DnsClient, NetAdapter Get-Module -ListAvailable | Where-Object{$_.Name -like "Net*"}

Mapa rápido de uso

#ComandoFinalidadeAplicação prática
01Invoke-Command -ComputerNameExecução remota em massaExecuta bloco de código em múltiplos hosts simultaneamente.Use -AsJob para rodar em background e coletar resultados depois.
02ForEach-Object -ParallelInventário paraleloVarre sub-rede em paralelo com ThrottleLimit controlado.PS 7+ requerido para -Parallel. Use jobs em PS 5.1.
03Invoke-Command + Get-ServiceStatus de serviçosVerifica serviços em lista de servidores de uma vez.Excelente para verificações de pré-manutenção e health checks.
04netsh dumpBackup de configuraçãoExporta toda a configuração de rede para arquivo.Execute antes de qualquer mudança de rede para rollback.
05ConvertTo-HtmlRelatório HTMLGera relatório web a partir de objetos PowerShell.Combine com CSS para relatórios profissionais de inventário.
06Test-Connection em loopMonitoramento básicoVerifica disponibilidade de hosts periodicamente.Para monitoramento simples — em produção use ferramentas dedicadas.
07Invoke-Command + Set-DnsAplicar configuraçãoAplica configuração de DNS em toda a lista de hosts.Modelo de script de remediação em massa para incidentes de DNS.
08Set-ExecutionPolicy + Import-ModulePreparar ambienteConfigura política de execução e carrega módulos de rede.RemoteSigned é o equilíbrio entre segurança e usabilidade.
Tema 14 🛠️

Fluxos Rápidos de Troubleshooting

Sequências de diagnóstico para os cenários mais comuns de falha de rede no Windows, do mais simples ao mais específico.

troubleshooting-windows.ps1 cmd + PS
## FLUXO 1 — Sem conectividade à Internet ipconfig /all # 1. Verificar IP, gateway e DNS configurados ping 127.0.0.1 # 2. Stack TCP/IP local funciona? ping 192.168.1.1 # 3. Gateway responde? (substituir pelo seu gateway) ping 8.8.8.8 # 4. Internet responde (IP direto, sem DNS)? ping google.com # 5. DNS resolve? Se 4 OK e 5 não, problema de DNS ipconfig /flushdns # 6. Limpar cache DNS corrompido netsh winsock reset # 7. [Admin] Reset Winsock — problemas de stack netsh int ip reset # 8. [Admin] Reset configuração IP ipconfig /release && ipconfig /renew # 9. Renovar DHCP ## FLUXO 2 — DNS não resolve nslookup google.com # 1. Testar DNS padrão nslookup google.com 8.8.8.8 # 2. Testar com Google DNS — se funcionar, DNS local com problema ipconfig /flushdns # 3. Limpar cache Get-DnsClientServerAddress # 4. Verificar DNS configurado por interface Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses "8.8.8.8" # 5. [Admin] Forçar DNS externo Resolve-DnsName google.com -Server 8.8.8.8 # 6. Validar após mudança ## FLUXO 3 — Serviço não acessível na rede Test-NetConnection -ComputerName 192.168.1.10 -Port 443 # 1. Porta TCP acessível? netstat -ano | findstr :443 # 2. Serviço está em escuta? Get-NetFirewallRule | Where-Object{$_.LocalPort -eq '443'} # 3. Regra de firewall existe? Get-Service -Name "W3SVC" # 4. Serviço está rodando? ping 192.168.1.10 # 5. Host responde ICMP? tracert 192.168.1.10 # 6. Qual salto está bloqueando? ## FLUXO 4 — Lentidão e alta latência Get-Counter "\Network Interface(*)\Bytes Total/sec" # 1. Saturação de interface? netstat -ano | findstr ESTABLISHED | Measure-Object # 2. Muitas conexões? Get-Process | Sort-Object CPU -Desc | Select-Object -First 5 # 3. Processo consumindo CPU? pathping 8.8.8.8 # 4. Perda em algum salto? Get-NetAdapterStatistics -Name "Ethernet" # 5. Erros de pacote na interface? ## FLUXO 5 — Autenticação AD falhando nltest /sc_verify:dominio.com.br # 1. Canal seguro com DC OK? klist # 2. Tickets Kerberos presentes? klist purge # 3. Limpar tickets expirados w32tm /query /status # 4. Hora sincronizada? (desvio >5min bloqueia Kerberos) w32tm /resync # 5. Forçar sincronização Get-WinEvent -LogName Security -FilterXPath "*[System[EventID=4740]]" -MaxEvents 10 # 6. Conta bloqueada? ping dominio.com.br # 7. DC acessível? ## FLUXO 6 — Reset completo de configuração de rede [Admin] netsh winsock reset netsh int ip reset C:\resetlog.txt netsh advfirewall reset ipconfig /release ipconfig /flushdns ipconfig /renew Restart-Computer -Force # reinicialização necessária após reset

Mapa rápido de uso

#FluxoCenárioDiagnóstico inicial
01Sem InternetSem conectividadeMáquina não acessa a Internet.Seguir pilha: loopback → gateway → IP externo → DNS. Isolar a camada com falha.
02DNS não resolveResolução de nomesAplicações não resolvem nomes mas IP direto funciona.Testar com DNS externo (8.8.8.8). Se funcionar, problema é no DNS configurado.
03Serviço inacessívelPorta TCP bloqueadaNão consegue conectar em serviço remoto.Verificar se serviço escuta, firewall permite e rota existe.
04Lentidão de redeAlta latênciaConexão lenta ou timeouts intermitentes.Verificar saturação de link, erros de NIC e perda por salto com pathping.
05Autenticação ADKerberos / LDAPLogin no domínio falha ou acesso a recursos negado.Verificar canal seguro, hora sincronizada e tickets Kerberos.
06Reset de redeÚltimo recursoConfiguração corrompida após mudanças ou malware.Resetar Winsock, IP e firewall. Reinicialização necessária após o reset.