I have IP Address and Server name of a remote computer. I am able to query WMI
to get the OS version
if the computer is running Windows but is there a way i can query the remote computer and get the OS version
if the computer is not running Windows (Linux
, Solaris
)?
Advertisement
Answer
I guess Active Directory
is going to give me what i need. This is what i have so far. Looks promising.
using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain)) { ComputerPrincipal computer = ComputerPrincipal.FindByIdentity(ctx, "mylinuxservername"); if (computer != null) { var unObject = computer.GetUnderlyingObject() as System.DirectoryServices.DirectoryEntry; if(null != unObject) { var osProperty = unObject.Properties.Cast<System.DirectoryServices.PropertyValueCollection>().Where(p => p.PropertyName == "operatingSystem"); if(null != osProperty.FirstOrDefault()) { Console.WriteLine(osProperty.FirstOrDefault().Value); } } } }