从网络上的远程计算机获取* NIC信息?

时间:2013-11-22 18:57:48

标签: powershell nic

所以我是一名系统工程师,我正努力让我的工作变得更轻松。我们的脚本在这里没有时间去找我,因为他经常很忙,所以我希望有人可以帮助我。我知道一点功率,但不是我试图使用它的程度。

我要做的是使用预定义的IP地址列表并从中获取所有网络接口卡信息。我自己尝试写了几个脚本,但是他们搞砸了一些东西,所以不会飞。我买了一个脚本,但它一次只能做1台机器,每台机器大约需要2分钟。我基本上需要一个自动脚本来执行此操作并输出信息,以便我可以将其提供给我的网络人员。

我不是要求有人写整个剧本,而是给我一些指导或几个例子?

这就是我所拥有的。我想让它从文件中读取,然后自动完成。

http://pastebin.com/dVEDM4Kd

1 个答案:

答案 0 :(得分:2)

如果您只想通过IP列表迭代当前脚本,则需要将脚本包装在ForEach循环中,然后在脚本管道的末尾包含对象到文本文件。

要从文本文件加载IP地址,只需创建一个每行一个 IP的新文件,然后使用Get-Content将文件加载到脚本中以供使用。

您需要更改脚本的顶部,

 #This is the file where your IP or Computernames will go.
    $IPAddresses = Get-Content 'c:\test\servers.txt'


    $myCol = @()

    # this Foreach will take each item that is in $ipaddresses and assign them to 
    # $servername one at a time and run the code within the block for each item in 
    # IPAddresses.  $servername was the var name already so I just rolled with it

   ForEach($servername in $IPAddresses){

    $NicConfig = Get-WmiObject -Class Win32_NetworkAdapterConfiguration -ComputerName $serverName


    ForEach ($Nic in $NicConfig)

并最后将所有收集的数据发送到文件,只需更改最后一行,如下所示:

    $myCol | Out-file 'C:\test\Outfile.txt'

由于它非常简单,我继续创建了一个包含更改的脚本副本。这可能会满足您的需求,但如果没有,它应该让您开始。

http://pastebin.com/HY9e5x1V