
Rete • CMD
Diagnostica dominio
Controlla appartenenza al dominio, DNS, controller, canale sicuro, sincronizzazione oraria e porte principali senza modificare la configurazione.
>_ sorgente
:: Titolo: Diagnostica dominio
:: Descrizione: Controlla appartenenza al dominio, DNS, controller, canale sicuro, sincronizzazione oraria e porte principali senza modificare la configurazione.
:: Categoria: rete
:: Compatibilita: Windows 10 e Windows 11 in dominio Active Directory
:: Amministratore: No
@echo off
setlocal
title QDF - Diagnostica dominio
color 0E
set "REPORT=%~dp0Diagnostica-dominio-%COMPUTERNAME%.txt"
cls
echo Creazione diagnostica dominio in corso...
powershell.exe -NoProfile -ExecutionPolicy Bypass -Command ^
"$ErrorActionPreference='Continue'; $o='%REPORT%'; $dc=$env:LOGONSERVER.TrimStart('\');" ^
"'QDF - DIAGNOSTICA DOMINIO',('Data: '+(Get-Date)),('Computer: '+$env:COMPUTERNAME),('Utente: '+$env:USERDOMAIN+'\'+$env:USERNAME),('Dominio DNS: '+$env:USERDNSDOMAIN),('Logon server: '+$dc),'' | Set-Content -Encoding UTF8 $o;" ^
"'APPARTENENZA E CANALE SICURO' | Add-Content $o; (Get-CimInstance Win32_ComputerSystem | Format-List Domain,PartOfDomain) | Out-String | Add-Content $o; Test-ComputerSecureChannel -Verbose 4>&1 | Out-String | Add-Content $o;" ^
"'DNS CONFIGURATI' | Add-Content $o; Get-DnsClientServerAddress -AddressFamily IPv4 | Format-Table InterfaceAlias,ServerAddresses -Auto | Out-String | Add-Content $o;" ^
"'CONTROLLER DI DOMINIO' | Add-Content $o; cmd /c ('nltest /dsgetdc:'+$env:USERDNSDOMAIN) 2>&1 | Add-Content $o;" ^
"'ORA WINDOWS' | Add-Content $o; cmd /c 'w32tm /query /status' 2>&1 | Add-Content $o;" ^
"if($dc){ 'PORTE VERSO '+$dc | Add-Content $o; foreach($p in 53,88,135,389,445,636){$t=Test-NetConnection $dc -Port $p -WarningAction SilentlyContinue; ('TCP {0}: {1}' -f $p,$t.TcpTestSucceeded) | Add-Content $o} }"
if not exist "%REPORT%" goto :errore
color 0A
echo Report creato: %REPORT%
start "" notepad.exe "%REPORT%"
goto :fine
:errore
color 0C
echo ERRORE: impossibile creare il report.
:fine
echo.
pause
endlocal
exit /b