Tôi biết cách lấy các máy trên máy chủ bằng mạng System.DirectoryServices. Vấn đề là tôi muốn bỏ qua máy trạm/máy tính trên mạng và chỉ truy xuất máy chủ.Làm thế nào để bạn tìm ra sự khác biệt giữa các máy trạm và máy chủ trên mạng?
Trong trường hợp ai đó nói để kiểm tra phiên bản hệ điều hành, sự cố với số phiên bản hệ điều hành Windows NT là mỗi số có thể tương ứng với cả máy chủ và hệ điều hành không phải máy chủ (chẳng hạn như phiên bản NT 6.1. 7 và Win Server 2008 R2).
Đây là lớp học của tôi cơ bản kiểm tra:
namespace Project1
{
class Class1
{
public static void Main(string[] args)
{
List<string> list = Class1.GetComputersOnNetwork();
}
public static List<string> GetComputersOnNetwork()
{
string fileName = "networkcomputers.txt";
// Delete the file if it exists.
if (System.IO.File.Exists(fileName))
{
System.IO.File.Delete(fileName);
}
// Create the file.
System.IO.FileStream fs = System.IO.File.Create(fileName, 1024);
StreamWriter strwr = new StreamWriter(fs);
int i = 0;
List<string> list = new List<string>();
DirectoryEntry root = new DirectoryEntry("WinNT:");
foreach (DirectoryEntry computers in root.Children)
{
if ((computers.Name != "Schema"))
{
i++;
Console.WriteLine("Machine Number " + i + ": " + computers.Name);
strwr.WriteLine("Machine Number " + i + ": " + computers.Name);
list.Add(computers.Name);
}
}
return list;
}
}
}
RPC có được bật trên máy chủ và có thể truy cập vào ứng dụng của bạn không? Ví dụ, bạn có thể truy vấn registry của máy từ xa bằng RPC. – mellamokb
Bởi "máy chủ", bạn có nghĩa là "chạy một SKU máy chủ của Windows" và không phải bất kỳ loại hành vi hoặc dịch vụ được cài đặt cụ thể nào? – MNGwinn
mellamokb Tôi sẽ xem xét điều đó. @MNGwinn Vâng, đó là những gì tôi đang đề cập đến. – praetor