Guten Morgen!
Ich benötige ein Skript, welches mir die Netzwerkkonfiguration und falls verfügbar die Fibre Channel Adapter in einer CSV-Datei auflistet. Loopback-Adapter und "Microsoft Failover Cluster Virtual Adapter" sollen nicht berücksichtigt werden.
Folgenden Code habe ich bisher:
$servers = get-content .\servers.txt foreach ($server in $servers) {Get-NetIPAddress -CimSession $server -AddressFamily IPv4| where-object{$_.InterfaceAlias -notmatch 'Loopback'}| Select-object PSComputername, @{Name = "Name";Expression={ ($_ | Get-NetAdapter).Name }}, @{Name = "DeviceName";Expression={ ($_ | Get-NetAdapter).InterfaceDescription }}, @{Name = "Status";Expression={ ($_ | Get-NetAdapter).Status }}, IPAddress, @{Name = "MACAddress";Expression={ ($_ | Get-NetAdapter).MACAddress }} | export-csv c:\scripts\nic_$server.csv}
Problem Nr. 1: Mir gelingt es nicht, neben dem "Loopback-Adapter" auch den "Microsoft Failover Cluster Virtual Adapter" auszufiltern. Ich habe schon mit "-or" herumprobiert, leider ohne Erfolg!
Problem Nr. 2: Falls ein "Fibre Channel Adapter" verbaut ist, würde ich dies gerne auch in der Liste haben. Hierzu habe ich versucht den get-initiatorport einzubauen. Funktioniert allerdings nicht. Wenn ich ihn normal in Powershell laufen lasse geht's. Im Script geht er nicht. Ich habe dies wie folgt probiert:
$servers = get-content .\servers.txt foreach ($server in $servers) {Get-NetIPAddress -CimSession $server -AddressFamily IPv4| where-object{$_.InterfaceAlias -notmatch 'Loopback'}| Select-object PSComputername, @{Name = "Name";Expression={ ($_ | Get-NetAdapter).Name }}, @{Name = "DeviceName";Expression={ ($_ | Get-NetAdapter).InterfaceDescription }}, @{Name = "Status";Expression={ ($_ | Get-NetAdapter).Status }}, IPAddress, @{Name = "MACAddress";Expression={ ($_ | Get-NetAdapter).MACAddress }}, @{Name = "FibreChannel";Expression={ ($_ | Get-InitiatorPort).ConnectionType }} | export-csv c:\scripts\nic_$server.csv}
Any idea's?
Danke & Grüße
Julian