Risposte:
Come notato da Josh King, è possibile utilizzare srvinfouno strumento del Resource Kit di Windows 2003 .
Su Windows 7 è possibile utilizzare systeminfo
systeminfo /s remote_computer_name
nmappuò eseguire il rilevamento del sistema operativo remoto .
Non è preciso al 100%, ma dovrai vederlo da solo.
Ecco un esempio di risultato. Ho selezionato specificamente un risultato che non era preciso al 100%, ma questa macchina è un Windows Server 2008.
Avvertenza: i risultati OSScan potrebbero non essere affidabili perché non è stato possibile trovare almeno 1 porta aperta e 1 porta chiusa
Tipo di dispositivo: uso generale In
esecuzione (SOLO GUESSING): Microsoft Windows Vista | 2008 | 7 (98%)
Indovina sistema operativo aggressivo: Microsoft Windows Vista SP0 o SP1, Server 2008 SP1 o Windows 7 (98%), Microsoft Windows Server 2008 (98%), Microsoft Windows 7 Professional (97%), Microsoft Windows Vista Business SP1 (93%), Microsoft Windows Vista Home Premium SP1 ( 93%), Microsoft Windows Server 2008 SP2 (91%), Microsoft Windows Vista Home Premium SP1, Windows 7 o Server 2008 (91%), Microsoft Windows 7 (90%)
Nessuna corrispondenza esatta del sistema operativo per l'host (condizioni di test non- ideale).
Grazie [squillman] :)
Mentre hai così tante macchine da ispezionare, basta fare questo:
(1) Crea file TXT contiene tutti i nomi host dei tuoi computer. Ad esempio: ALL-MACHINES.TXT
machine_number_0001
machine_number_0002
machine_number_0013
machine_number_0101
machine_number_0111
(2) Eseguire le istruzioni FOR all'interno di CMD:
C:\Users\MrCMD> FOR /F %S IN ('TYPE ALL-MACHINES.TXT') DO SYSTEMINFO /S %S [enter]
(3) Eventuali commenti per miglioramenti sono ben accetti. :)
Se si ha accesso a uno dei kit di risorse di Windows Server (2003 sicuramente, non sono sicuro delle versioni più recenti) è possibile utilizzare il comando Srvinfo.
Srvinfo \\remote_compute_rname
Otterrai una serie di informazioni da esso, ma quello che ti interessa è:
Nome prodotto: Microsoft Windows XP Opzioni del prodotto: Professionale
Per quelli che arrivano qui che devono fare molte macchine e vogliono usare PowerShell:
Macchina singola: Get-CimInstance Win32_OperatingSystem -ComputerName Nome macchina | Select-Object CSName, Caption, BuildNumber, OSArchitecture
Tutte le macchine: Get-ADComputer -filter * | Foreach-Object {Get-CimInstance Win32_OperatingSystem -ComputerName $ _. Name -ErrorAction SilentlyContinue | Select-Object CSName, Caption, BuildNumber, OSArchitecture} | Format-Table -Property * -AutoSize
Supponendo ovviamente che WinRM sia abilitato. Puoi abilitare in batch WinRM anche tramite PS, ma questo è un altro argomento.