/
16_1.ps1
32 lines (32 loc) · 1.27 KB
/
16_1.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
function Get-TMIPInfo {
[CmdletBinding()]
Param(
[Parameter(Mandatory=$True,
ValueFromPipeline=$True)]
[string[]]$ComputerName
)
BEGIN {}
PROCESS {
ForEach ($comp in $computername) {
Write-Verbose "Connecting to $comp"
$s = New-CimSession -ComputerName $comp
$adapters = Get-NetAdapter -CimSession $s |
Where Status -ne 'Disconnected'
ForEach ($adapter in $adapters) {
Write-Verbose " Interface $($adapter.interfaceindex)"
$addresses = Get-NetIPAddress -InterfaceIndex $adapter.InterfaceIndex `
-CimSession $s
ForEach ($address in $addresses) {
$props = @{'ComputerName'=$Comp
'Index'=$adapter.interfaceindex
'Name'=$adapter.interfacealias
'MAC'=$adapter.macaddress
'IPAddress'=$address.ipaddress}
New-Object -TypeName PSObject -Property $props
} #foreach address
} #adapter
$s | Remove-CimSession
} #foreach computer
} #process
END {}
} #function