To obtain IP configuration information for a remote host by using a PowerShell script
[Cmdletbinding ()]
Param (
[Parameter (valuefrompipeline= $true, Valuefrompipelinebypropertyname= $true)]
[string[]] $ComputerName = $env: ComputerName
)
Begin {}
Process {
foreach ($Computer in $ComputerName) {
if (test-connection-computername $Computer-count 1-ea 0) {
$Networks = Get-wmiobject Win32networkadapterconfiguration-computername $Computer |? {$. IPEnabled}
foreach ($Network in $Networks) {
$IPAddress = $Network. Ipaddress[0]
$SubnetMask = $Network. ipsubnet[0]
$DefaultGateway = $Network. DefaultIPGateway
$DNSServers = $Network. DNSServerSearchOrder
$IsDHCPEnabled = $false
If ($network. dhcpenabled) {
$IsDHCPEnabled = $true
}
$MACAddress = $Network. MACAddress
$OUTPUTOBJ = New-object-type PsObject
$OUTPUTOBJ | Add-member-membertype noteproperty-name computername-value $Computer. ToUpper ()
$OUTPUTOBJ | Add-member-membertype noteproperty-name Ipaddress-value $IPAddress
$OUTPUTOBJ | Add-member-membertype noteproperty-name Subnetmask-value $SubnetMask
$OUTPUTOBJ | Add-member-membertype noteproperty-name Gateway-value $DefaultGateway
$OUTPUTOBJ | Add-member-membertype noteproperty-name Isdhcpenabled-value $IsDHCPEnabled
$OUTPUTOBJ | Add-member-membertype noteproperty-name Dnsservers-value $DNSServers
$OUTPUTOBJ | Add-member-membertype noteproperty-name Macaddress-value $MACAddress
$OutputObj
}
}
}
}
End {}
Steps:
Save the above code as a PS1 file. Example: GETIP.PS1
Prepare a list name file (TXT file format) for a remote host, for example; computer_list.txt
- Execute any of the following commands under PowerShell:
Get-Content Computer_List.txt | .\GetIP.ps1 | ft -AutoSize
Or
Get-Content Computer_List.txt | .\GetIP.ps1 | ft ComputerName, IPAddress, DNSServers -AutoSize
To obtain IP configuration information for a remote host by using a PowerShell script