0

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

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

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

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

http://pastebin.com/dVEDM4Kd

4

1 回答 1

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

于 2013-11-23T00:29:53.347 回答