寻求一些建议,如果有人知道我想做什么甚至是可能的。让我先解释一下情况。
Main WebServer
服务器集群(x10服务器)
我要做的是使用运行在主MVC3上的WebServer网站连接到服务器集群,并返回每个服务器上的虚拟IP地址列表,然后将其存储在MS数据库中。这是可能的吗?可以通过.NET网站来完成吗?我相信我可以尝试编写一个powershell脚本,因为每个服务器上都有powershell 1+。
发布于 2013-10-23 21:08:26
下面是一些使用WMI查找分配给服务器上所有NIC的所有IP的代码。您可以查找Win32_NetworkAdapterConfiguration
表这里中可用的其他字段。
请注意,这可能不够快,无法从网页上实时运行。我有类似的工作,但我有一个预定的任务去与我的所有服务器一天一次。然后网页就会从数据库中读取信息。
还请注意,此代码假定当前用户在远程服务器上有足够的访问权限。这是使其成为预定任务的另一个原因。您可以以管理员身份运行此任务来收集数据,然后常规IIS用户可以从数据库中读取数据。否则,您将不得不更改IIS运行的用户,以赋予它足够的权限。
// You'll need to reference "System.Management" for this to work...
var server = "your server name";
var scope = new System.Management.ManagementScope(@"\\" + server + @"\root\cimv2");
scope.Connect();
using (var searcher = new System.Management.ManagementObjectSearcher(scope,
new System.Management.ObjectQuery(
"Select Caption, IPAddress FROM Win32_NetworkAdapterConfiguration")))
{
using (var children = searcher.Get())
{
if (children.Count > 0)
{
foreach (var item in searcher.Get())
{
var nicName = item["Caption"];
var ips = item["IPAddress"] as string[];
if (ips != null)
{
Console.WriteLine(nicName);
foreach (var ip in ips)
{
Console.WriteLine(" " + ip);
}
}
}
}
}
}
https://stackoverflow.com/questions/19550360
复制相似问题