Ya se que por Internet hay muchos ejemplos de como hacer esto, pero bueno quería compartir con ustedes este código que me pareció bastante practico.
Hace mucho que no uso troyanos y tal vez sea una función que ya se implemento en alguno, pero sino, creo que seria interesante conocer si el server se esta ejecutando en una VM o en un PC físico. Porque por ejemplo, si el server nota que se esta ejecutando en un VM podría comportarse en un cierto modo, sino en otro o bien no ejecutarse para impedir que alguien lo analice.
Dim ObjectSearcher As Management.ManagementObjectSearcher
ObjectSearcher = New Management.ManagementObjectSearcher("SELECT * FROM Win32_ComputerSystem")
Dim MarcaPC As String
For Each objMgmt In ObjectSearcher.Get
MarcaPC = objMgmt("Manufacturer").ToString()
Next
If MarcaPC.Contains("VMware") Or MarcaPC.Contains("Virtual") Then
MsgBox("Maquina Virtual: " & MarcaPC)
Else
MsgBox("PC Fisico Marca: " & MarcaPC)
End If
Saludos!