Wiem, jak uzyskać maszyny na serwerze przy użyciu sieci System.DirectoryServices. Problem polega na tym, że chciałbym zignorować stacje robocze/komputery w sieci i tylko pobierać serwery.Jak znaleźć różnicę między stacjami roboczymi a serwerami w sieci?
W przypadku, gdy ktoś powie, aby sprawdzić wersję systemu operacyjnego, problem z uzyskaniem numeru wersji systemu operacyjnego Windows NT dla rodziny NT jest taki, że każdy numer może odpowiadać zarówno serwerowi, jak i systemowi nieobsługującemu systemu operacyjnego (na przykład wersja 6.1 systemu Windows odnosząca się zarówno do systemu Win 7 i Win Server 2008 R2).
Oto moja podstawowa klasa Test:
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;
}
}
}
Czy usługa RPC jest włączona na serwerach i dostępna dla aplikacji? Na przykład możesz zapytać o rejestr zdalnej maszyny za pomocą RPC. – mellamokb
Przez "serwer" należy rozumieć "uruchomienie kodu SKU serwera", a nie określonego zachowania lub zainstalowanych usług? – MNGwinn
mellamokb Zajrzę do tego. @MNGwinn Tak, właśnie to mam na myśli. – praetor