# encoding: ascii
# api: powershell
# title: get-ipinformation
# description: early code
# version: 0.1
# type: function
# license: CC0
# function: get-ipinformation
# x-poshcode-id: 1055
# x-archived: 2009-04-29T17:57:53
#
#
function get-ipinformation
{
process {
(Get-WmiObject Win32_NetworkAdapterConfiguration -computer $_ ) | ? { $_.IPenabled } |
select (AS Server , __server,
DNSHostName , DNSHostName ,
Mac , Macaddress,
Description, Description,
DNSDomain , DNSDomain,
FirstIPAddress ,{ ($_.IPAddress) | select -first 1 },
IPAddressAll , { [string] $_.IPAddress} ,
IPSubnet , {($_.IPSubnet) | select -first 1 } ,
IPSubnetall , { [string] $_.IPSubnet },
DefaultIPGateway, { ($_.DefaultIPGateway) | select -first 1 } ,
DefaultIPGatewayALL, { [string] $_.DefaultIPGateway },
DHCPEnabled , { [bool] $_.DHCPEnabled },
DHCPServer, DHCPServer,
PrimaryDNSServer , { ( $_.DNSServerSearchOrder)[0] },
SecondaryDNSServer , { ( $_.DNSServerSearchOrder)[1] },
AllDNSServer , { [string] $_.DNSServerSearchOrder },
WINSPrimaryServer , WINSPrimaryServer,
WINSSecondaryServer , WINSSecondaryServer,
#random ones
DomainDNSRegistrationEnabled , DomainDNSRegistrationEnabled,
FullDNSRegistrationEnabled , FullDNSRegistrationEnabled,
DNSDomainSuffixSearchOrder, DNSDomainSuffixSearchOrder,
WINSEnableLMHostsLookup , WINSEnableLMHostsLookup
)
}
}
#requires the follow function
function new-selectexpression
{
if ($args.count -eq 1) { $theargs = $args[0] } else {$theargs= $args }
if ($theargs.count -gt 1)
{
for($loop=0;$loop -lt ($theargs.count-1);$loop+=2)
{
@{Name=$theargs[$loop];Expression=$theargs[$loop+1]}
}
}
if (!($theargs.count % 2) -eq 0) {@{Name=$input[$input.count-1];Expression= invoke-Expression "{}" } }
}