Server 2012, Powershell 3.0.
Ich mache einige Arbeiten, bei denen das Aktivieren und Deaktivieren von Netzwerkadaptern automatisiert werden muss. Hier ist ein Beispiel für das, was ich beim Laufen sehe Get-NetAdapter
:
Name InterfaceDescription ifIndex Status MacAddress LinkSpeed
---- -------------------- ------- ------ ---------- ---------
Slot 0 Port 4 HP NC382i DP Multifunction Gigabi...#53 15 Not Present 11-80-1B-94-2A-82 0 bps
Slot 0 Port 2 (TM-2) HP NC382i DP Multifunction Gigabi...#51 14 Up 11-80-1B-94-27-72 1 Gbps
Team 1 (Team) Microsoft Network Adapter Multiplexo... 17 Up 11-80-1B-94-2A-72 1 Gbps
Slot 0 Port 3 HP NC382i DP Multifunction Gigabi...#52 13 Disabled 11-80-1B-94-2A-80 1 Gbps
Slot 0 Port 1 (TM-1) HP NC382i DP Multifunction Gigabi...#50 12 Up 11-80-1B-94-2A-70 1 Gbps
Beachten Sie, dass das Statusattribut nicht binär ist. Es kann aktiv, deaktiviert oder nicht vorhanden sein.
Wenn ich Enable-NetAdapter
auf einer Netzwerkkarte mit dem Status "Nicht vorhanden" ausgeführt werde, gibt der Befehl stillschweigend keine Fehlerausgabe zurück, aktiviert jedoch die Netzwerkkarte nicht. Ich habe dann die Netzwerkkarte manuell aktiviert, indem ich mit der rechten Maustaste auf das Symbol in der Systemsteuerung geklickt und Aktivieren ausgewählt habe. Sein Status wurde jetzt mit dem Status Up aktiviert.
Dann lief ich Disable-NetAdapter
auf der Netzwerkkarte. Sein Status war jetzt "Deaktiviert".
Jetzt Enable-NetAdapter
funktionierte das Cmdlet wie erwartet und schaltete die Netzwerkkarte ein.
- Was war also "Nicht vorhanden" und warum konnte Powershell die Netzwerkkarte in diesem Zustand nicht aktivieren, aber ich hatte keine Probleme, sie über die GUI zu aktivieren, aber jetzt scheint sie nur zwischen Aktiviert und Deaktiviert hin und her zu wechseln?
- Wie bekomme ich "Nicht anwesend" zurück, wenn ich wollte?
- Wie aktiviere ich eine Netzwerkkarte mit Powershell, wenn sie sich im Status "Nicht vorhanden" befindet?
quelle
Wenn Sie die Netzwerkkarte (Gerät) ausgeschaltet haben, kann sie als "Status: Nicht vorhanden" angezeigt werden. Um das Gerät zu aktivieren, müssen Sie nur den Befehl Get-WmiObject verwenden:
$ wmi = Get-WmiObject -Class Win32_NetworkAdapter -filter "Name LIKE '% Adapter%'"
$ wmi.enable ()
Quelle: http://blogs.technet.com/b/heyscriptingguy/archive/2014/01/13/enabling-and-disabling-network-adapters-with-powershell.aspx
quelle