WMI-Berechtigungen unter Windows 7
Hallo zusammen,
ich möchte unter Windows 7 folgendes Kommando ausführen:
WMIC NICCONFIG WHERE macaddress="00:1D:E0:6F:B3:83" CALL SetGateways ("172.16.1.1"),(1)
(Änderung des Standardgateways für eine bestimmte Netzwerkkarte)
Das Problem:
Gebe ich das (selbst wenn der Benutzer Mitglied der Administratorengruppe ist!!!) in einem CMD-Fenster ein, dann wird die Änderung nicht durchgeführt, und ich bekomme einen Rückgabewert "67". Nur wenn ich das CMD-Fenster explizit als Administrator ausführe (Rechtklick auf das CMD-Logo, dann "Als Administrator ausführen"), dann wird der Befehl korrekt ausgeführt und der Rückgabewert ist "0".
Nun möchte ich das ganze aber innerhalb eines Scripts ablaufen lassen, und das Script soll normal per Doppelklick gestartet werden. Wie kann ich dafür sorgen, daß meine WMI-Anweisung trotzdem ausgeführt wird? Es muß nur an einem Rechner funktionieren, und den kann ich so konfigurieren, daß es läuft. Ich weiß nur nicht, was ich da konfigurieren muß.
Danke im Voraus,
Sarek
ich möchte unter Windows 7 folgendes Kommando ausführen:
WMIC NICCONFIG WHERE macaddress="00:1D:E0:6F:B3:83" CALL SetGateways ("172.16.1.1"),(1)
(Änderung des Standardgateways für eine bestimmte Netzwerkkarte)
Das Problem:
Gebe ich das (selbst wenn der Benutzer Mitglied der Administratorengruppe ist!!!) in einem CMD-Fenster ein, dann wird die Änderung nicht durchgeführt, und ich bekomme einen Rückgabewert "67". Nur wenn ich das CMD-Fenster explizit als Administrator ausführe (Rechtklick auf das CMD-Logo, dann "Als Administrator ausführen"), dann wird der Befehl korrekt ausgeführt und der Rückgabewert ist "0".
Nun möchte ich das ganze aber innerhalb eines Scripts ablaufen lassen, und das Script soll normal per Doppelklick gestartet werden. Wie kann ich dafür sorgen, daß meine WMI-Anweisung trotzdem ausgeführt wird? Es muß nur an einem Rechner funktionieren, und den kann ich so konfigurieren, daß es läuft. Ich weiß nur nicht, was ich da konfigurieren muß.
Danke im Voraus,
Sarek
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 201184
Url: https://administrator.de/forum/wmi-berechtigungen-unter-windows-7-201184.html
Ausgedruckt am: 05.04.2025 um 20:04 Uhr
14 Kommentare
Neuester Kommentar
moin,
naja, das unter w7 ein auch ein admin "die" Dosbox braucht - in die man nix reinschieben, nur per rechtsklick pasten - kann ist ja nun schon länger bekannt und beschränkt sich nicht auf Wmic Befehle...
Von daher wird das mit dem ändern des Gateways via Batch eher nix.
Also nix sauberes und unsauber mag ich bekannterweise ungern veröffentlichen.
ruß
mein ustav hänt
naja, das unter w7 ein auch ein admin "die" Dosbox braucht - in die man nix reinschieben, nur per rechtsklick pasten - kann ist ja nun schon länger bekannt und beschränkt sich nicht auf Wmic Befehle...
- Mit Boardmitteln geht das nicht
- mit einer Software eines gewissn Marc R, der Gehaltsempfänger in Redmont ist jedoch schon
- Harken an der Sache - das muss ein (Admin)Passwort im klartext mitegeben werden.
Von daher wird das mit dem ändern des Gateways via Batch eher nix.
Also nix sauberes und unsauber mag ich bekannterweise ungern veröffentlichen.
ruß
mein ustav hänt
Hallo Sarek,
wenn das Konto, unter dem das Script ausgeführt werden soll, ein Admin-Konto ist, funktioniert die Umgehung der UAC-Abfrage per Aufgabenplanung sehr gut. Hier ist es sehr ausführlich am Beispiel des CCleaners beschrieben.
Gruß
Friemler
wenn das Konto, unter dem das Script ausgeführt werden soll, ein Admin-Konto ist, funktioniert die Umgehung der UAC-Abfrage per Aufgabenplanung sehr gut. Hier ist es sehr ausführlich am Beispiel des CCleaners beschrieben.
Gruß
Friemler
Hallo SarekHL.
Trick 17:
Unter "Programm/Skript"
C:\Windows\System32\cmd.exe
Unter "Argumente hinzufügen"
/c start cmd /c "C:\pfad\zu\script.bat"
Grüße
rubberman
EDIT: @Friemler Du hast völlig recht in deinem Tut, dass ein zusätzliches
Trick 17:
Unter "Programm/Skript"
C:\Windows\System32\cmd.exe
Unter "Argumente hinzufügen"
/c start cmd /c "C:\pfad\zu\script.bat"
Grüße
rubberman
EDIT: @Friemler Du hast völlig recht in deinem Tut, dass ein zusätzliches
cmd /c
nötig ist, um das Fenster wie üblich schließen zu lassen. Habe oben angepasst...
Hallo Sarek,
versuche folgendes: Du startest ja sicher ein Batchfile mit dem
. Dann sollte das Fenster im Vordergrund sein.
Siehe auch dieses Tutorial von mir, den Abschnitt über die Erstellung der Aufgabe in der Aufgabenplanung.
Gruß
Friemler
versuche folgendes: Du startest ja sicher ein Batchfile mit dem
WMIC
-Befehl. Statt das Batchfile im geplanten Task direkt zu starten, starte eine CMD
-Instanz, die eine CMD
-Instanz startet, die Dein Batchfile startet Siehe auch dieses Tutorial von mir, den Abschnitt über die Erstellung der Aufgabe in der Aufgabenplanung.
Gruß
Friemler
Moin Sarek.
Allerdings öffnet sich das auf diesem Weg leider nicht mehr als aktives Fenster, so daß man es erst anklicken muß, eher man das Kennwort eingeben kann. Naja ...
Kann ich nicht nachvollziehen. Wo bei dem genannten Lösungsweg musst Du noch ein Kennwort eingeben? Das Kennwort muss nirgendwo eingegeben werden, nicht einmal im Task, wenn Du einstellst, dass der angemeldete Nutzer (der ja Admin ist) verwendet wird.
Ok, verstehe.
Noch zwei Anregungen nebenher: Man braucht keine Adminrechte für das Setzen des S.-Gateways, es reicht die Mitgliedschaft in Netzwerkkonfigurations-Operatoren. Zweitens: Man kann einer Batch auch "elevate" als Präfix voranstellen (z.B. elevate notepad), um diese elevated zu starten. Voraussetzung: das Elevation-Powertoy ist installiert: http://technet.microsoft.com/de-de/magazine/2008.06.elevation.aspx
Noch zwei Anregungen nebenher: Man braucht keine Adminrechte für das Setzen des S.-Gateways, es reicht die Mitgliedschaft in Netzwerkkonfigurations-Operatoren. Zweitens: Man kann einer Batch auch "elevate" als Präfix voranstellen (z.B. elevate notepad), um diese elevated zu starten. Voraussetzung: das Elevation-Powertoy ist installiert: http://technet.microsoft.com/de-de/magazine/2008.06.elevation.aspx
Hallo Sarek,
da es sich um ein VB6-Programm handelt und Du damit Zugriff auf die Windows APIs hast, gäbe es auch noch die Möglichkeit, dass das Programm zuerst prüft, ob es mit erhöhten Rechten läuft. Wenn nicht, startet es sich selbst neu und fordert dabei die erhöhten Rechte an.
Siehe hier
Gruß
Friemler
da es sich um ein VB6-Programm handelt und Du damit Zugriff auf die Windows APIs hast, gäbe es auch noch die Möglichkeit, dass das Programm zuerst prüft, ob es mit erhöhten Rechten läuft. Wenn nicht, startet es sich selbst neu und fordert dabei die erhöhten Rechte an.
Siehe hier
Gruß
Friemler
Weder noch.
Windows buggt rum, wenn es nach Adminberechtigungen fragt, das ist schlicht falsch benannt. Gib einfach die Credentials des Nutzers ein - ehrlich, ist ein seit Vista bekannter Bug, den MS nicht rausnimmt.
und das Elevation-Powertoy "elevate" kann auch hier genutzt werden. Ja, habe ich längst alles durch, wenn auch nicht mit wmic, sondern mit netsh.
Windows buggt rum, wenn es nach Adminberechtigungen fragt, das ist schlicht falsch benannt. Gib einfach die Credentials des Nutzers ein - ehrlich, ist ein seit Vista bekannter Bug, den MS nicht rausnimmt.
und das Elevation-Powertoy "elevate" kann auch hier genutzt werden. Ja, habe ich längst alles durch, wenn auch nicht mit wmic, sondern mit netsh.