Você pode usar nmap
para investigar o computador remoto e com base em suas respostas aos pacotes TCP (solicitações válidas ou inválidas) nmap
pode inferir qual sistema operacional está sendo usado.
Isso não é 100% preciso, mas provavelmente o melhor que você pode fazer no caso geral.
Se você estiver se limitando apenas ao Windows e tiver credenciais de uma conta de administrador na máquina remota, poderá usar este método em vez disso.
View system properties
To perform this procedure on a remote computer, right-click Computer Management (Local), click Connect to another computer, select Another computer, and then type in the name of the remote computer. You can then follow the steps in this procedure, starting at step 2, and substituting Computer Management (remote computername) for Computer Management (Local). You must be a member of the Administrators group, or you must have been delegated the appropriate authority, on the computer that you specify for remote computername.
Além disso, se seus computadores estiverem associados a um domínio, você poderá ver as contas de computador no Active Directory. Eles devem falar sobre a máquina.