If you just want to iterate your current script through a list of IPs, you need to wrap the script in a ForEach loop, then at end of the script pipe that object out to a text file.
To load the IP addresses from a text file, just create a new file with one IP per line and use Get-Content to load the file into the script for use.
You will need to change the top of your script like so,
#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)
and at the end to send all that collected data out to a file just alter the last line like so:
$myCol | Out-file 'C:\test\Outfile.txt'
Since it was pretty straight forward, I went ahead and created a copy of your script with the changes. This might meet your needs but if not it should get you started.