admgugu
Goto Top

Frage zu Skript für Abschaltung Netzwerkkarten

Hallo,

ich habe eine einfache BAT (lokal auf einem Rechner, weil leider keine Domäne vorhanden) mit zwei Zeilen, die die Netzwerkkarte auf einem Rechner abschalten soll. Das ist der Inhalt:

wmic path win32_networkadapter where index=1 call disable
wmic path win32_networkadapter where index=2 call disable

Wenn sie als Administrator ausgeführt wird, funktioniert das auch, allerdings fallen mir da schon ein paar Dinge auf:


1. Erstellt habe ich die Datei auf einem Rechner 1, bei dem die Indices der NICs 1 (Ethernet) und 2 (WLAN) waren. Auf einem anderen Rechner 2, bei dem die Indices von Ethernet und WLAN 6 und 9 sind, funktioniert die BAT trotzdem.

2. Wenn ich die korrekten Interface-Index eintrage, also 6 und 9, funktionieren die Dateien auf dem zweiten Rechner 2 nicht.

3. Wenn ich die Datei als Anmeldeskript über die Computerverwaltung an einen Benutzer binden will, damit dieser kein Netzwerk hat, wenn er sich einloggt, funktioniert das Skript überhaupt nicht, egal mit welchen Index.

4. Wenn ich das Skript über die GPO/Benutzerkonfiguration Anmelden/Abmelden einstelle, wird es bei jedem Benutzer ausgeführt, was auch nicht sein soll.

Der Plan war gewesen: "Netzwerkkarten abschalten" als Anmeldeskript bei einem bestimmten Benutzer über die Computerverwaltung und "Netzwerkkarten anschalten" beim Abmelden von Benutzern über die GPO.

Ich habe es auch mit einem Powershell-Skript probiert, hier funktioniert die Zeile

Disable-NetAdapter -Name Ethernet, WLAN

bzw.

Enable-NetAdapter -Name Ethernet, WLAN

auch nur, dann, wenn ich die Datei direkt als Administrator ausführe, wenn ich es als Anmeldeskript für den Benutzer einstelle, startet auch das Powershellskript nicht.


Hat jemand eine Idee?

Content-Key: 6851774401

Url: https://administrator.de/contentid/6851774401

Printed on: May 7, 2024 at 03:05 o'clock

Mitglied: 6247018886
6247018886 Apr 20, 2023 updated at 14:48:28 (UTC)
Goto Top
Zitat von @AdmGugu:
wmic path win32_networkadapter where index=1 call disable
wmic path win32_networkadapter where index=2 call disable

Wenn sie als Administrator ausgeführt wird, funktioniert das auch, allerdings fallen mir da schon ein paar Dinge auf:
Normal denn Netzwerkadapter dürfen per Default nur Admins oder Netzwerkoperatoren de-/aktivieren.

1. Erstellt habe ich die Datei auf einem Rechner 1, bei dem die Indices der NICs 1 (Ethernet) und 2 (WLAN) waren. Auf einem anderen Rechner 2, bei dem die Indices von Ethernet und WLAN 6 und 9 sind, funktioniert die BAT trotzdem.

2. Wenn ich die korrekten Interface-Index eintrage, also 6 und 9, funktionieren die Dateien auf dem zweiten Rechner 2 nicht.
Auch logisch denn die Interface Indizies sind ja nicht auf jedem Rechner gleich. Da kannst du stattdessen z.B. die Property NetEnabled oder das Standard-Gateway als Erkennungsmerkmal nutzen.
wmic path win32_networkadapter where NetEnabled=True call disable
oder anders rum
wmic path win32_networkadapter where NetEnabled=False call enable

3. Wenn ich die Datei als Anmeldeskript über die Computerverwaltung an einen Benutzer binden will, damit dieser kein Netzwerk hat, wenn er sich einloggt, funktioniert das Skript überhaupt nicht, egal mit welchen Index.
Auch logisch wenn Anmelde-Skripte laufen mit User-Rechten und nicht eleviert, somit kann ein Aktivieren/Deaktiveren der Netzwerkverbindung schon aus Prinzip nicht funktionieren wenn der User kein Admin oder Mitglied der Netzwerkkonfigurations-Operatoren ist.
Der Plan war gewesen: "Netzwerkkarten abschalten" als Anmeldeskript bei einem bestimmten Benutzer über die Computerverwaltung und "Netzwerkkarten anschalten" beim Abmelden von Benutzern über die GPO.
Das Skript muss entweder elevated ausgeführt werden, also mit einem Principle wie z.B. System oder als Startskript beim Computerstart., oder du packst den User in die Gruppe der "Netzwerkkonfigurations-Operatoren".

auch nur, dann, wenn ich die Datei direkt als Administrator ausführe, wenn ich es als Anmeldeskript für den Benutzer einstelle, startet auch das Powershellskript nicht.
Normal, Erklärung siehe oben.

Cheers briggs
Member: AdmGugu
AdmGugu Apr 21, 2023 at 08:39:51 (UTC)
Goto Top
Vielen Dannk für die Hinweise.

Zu:
3. Wenn ich die Datei als Anmeldeskript über die Computerverwaltung an einen Benutzer binden will, damit dieser kein Netzwerk hat, wenn er sich einloggt, funktioniert das Skript überhaupt nicht, egal mit welchen Index.
Auch logisch wenn Anmelde-Skripte laufen mit User-Rechten und nicht eleviert, somit kann ein Aktivieren/Deaktiveren der Netzwerkverbindung schon aus Prinzip nicht funktionieren wenn der User kein Admin oder Mitglied der Netzwerkkonfigurations-Operatoren ist.

--> Es funktioniert auch nicht, wenn ich den Benutzer (zum Testen) der Gruppe Administratoren zuweise, bzw. auch nicht, wenn ich es an den Admin selbst binde.

Das Skript an den Computerstart binden wird nicht gehen, weil es halt nur für den einen Benutzer gelten soll, aber ich probiere es mal mit den "Netzwerkkonfigurations-Operatoren".

Vielen Dank nochmal!
Mitglied: 6247018886
6247018886 Apr 21, 2023 updated at 08:45:11 (UTC)
Goto Top
Zitat von @AdmGugu:

Vielen Dannk für die Hinweise.

--> Es funktioniert auch nicht, wenn ich den Benutzer (zum Testen) der Gruppe Administratoren zuweise, bzw. auch nicht, wenn ich es an den Admin selbst binde.
Du verstehst nicht. Auch das Ausführen als Admin heißt nicht das es "eleviert" läuft, und das ist aber Anmeldeskripten nicht der Fall!

Das Skript an den Computerstart binden wird nicht gehen, weil es halt nur für den einen Benutzer gelten soll, aber ich probiere es mal mit den "Netzwerkkonfigurations-Operatoren".
Als Task mit Trigger bei Anmeldung für den User, Ausführung über System-Account, ferdsch.