2017-09-21 4 views
0

Ich versuche ein Powershell-Skript zu erstellen, um Jumpframe auf Openstack-Windows-VMs zu aktivieren. Der Befehl zum Auffinden der aktiven Netzwerkkarte und auch der aktuelle MTU-Wert lautet auch der Befehl zum Ändern des MTU-Wertes unten.Enable Jump Frame

Von unten Befehl, den ich zuerst die aktive Netzwerkkarte zu finden bin, versuchen dann den MTU-Wert des NIC zu finden und wenn ich MTU-Wert gefunden weniger als 1600 Ich brauche das zu 9000.

PS C:\> **wmic nic where "netconnectionid like '%'" get netconnectionid** 
NetConnectionID 
Ethernet 

PS C:\> **netsh.exe int ipv4 show subint** 

    MTU MediaSenseState Bytes In Bytes Out Interface 
------ --------------- --------- --------- ------------- 
4294967295    1   0  1400 Loopback Pseudo-Interface 1 
    1200    1 1335974344 5867793 Ethernet 

PS C:\> **netsh int ipv4 set subint "Ethernet" mtu=9000 store=persistent** 
geändert werden

Kann jemand mich wissen lassen, wie ich eine Bedingung schreiben kann, um zu erreichen, nach was ich suche?

+0

Versuchen Get-NetAdapter mit dem -Name Paramter –

+0

Sie können mit 'Get-NetIPInterface |? {$ _. NlMtu -lt 1600} ' – Valerio

Antwort

0

Versuchen Sie Folgendes:

$enabledAdaptersNames = Get-NetAdapter |? {$_.status -eq "Up" -or $_.status -eq "Disconnected"} | Select -ExpandProperty name 

Get-NetIPInterface |? { $enabledAdapterNames -contains $_.InterfaceAlias -and $_.NlMtu -lt 1600} | Set-NetIPInterface -NlMtuBytes 9000 
+0

Befehl Get-NetAdapter und Set-NetIPInterface funktioniert nicht, da ich diesen Befehl auf KVM-basierten Windows-VMs ausführe. – Sandeep

+0

Ich kann das Methord verwenden, das Sie mit meinen Befehlen geteilt haben. – Sandeep