Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

WMI-Berechtigungen unter Windows 7

Frage Entwicklung

Mitglied: SarekHL

SarekHL (Level 3) - Jetzt verbinden

02.02.2013 um 21:39 Uhr, 3886 Aufrufe, 14 Kommentare

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
Mitglied: Nr60730
02.02.2013, aktualisiert um 22:43 Uhr
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...

  • 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
Bitte warten ..
Mitglied: Friemler
03.02.2013 um 00:30 Uhr
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
Bitte warten ..
Mitglied: SarekHL
03.02.2013 um 22:47 Uhr
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.

Interessante Lösung - und funktioniert tatsächlich auch für mein Programm. 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 ... trotzdem erst mal Danke ;)
Bitte warten ..
Mitglied: rubberman
03.02.2013, aktualisiert 04.02.2013
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 cmd /c nötig ist, um das Fenster wie üblich schließen zu lassen. Habe oben angepasst...
Bitte warten ..
Mitglied: Friemler
03.02.2013 um 23:40 Uhr
Hallo Sarek,

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 . 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
Bitte warten ..
Mitglied: SarekHL
04.02.2013, aktualisiert um 06:15 Uhr
Trick 17:
Unter "Programm/Skript"
C:\Windows\System32\cmd.exe

ok, vielleicht hätte ich mich etwas genauer ausdrücken sollen. Es handelt sich nicht um ein Script, sondern um ein VB6-Programm, welches folgendes tut:

  1. Aus der Registry die MAC-Adresse der Netzwerkkarte, das "richtige" Standardgateway und ein Kennwort-Hash auslesen (alle drei Werte habe ich dort selbst hinterlegt)
  2. Per WMI das zur Zeit für die Netzwerkkarte mit der entsprechenden MAC-Adresse eingetragene Standardgateway ermitteln
  3. WENN das Standardgateway dem in der Registry hinterlegten "richtigen" Standardgateway entspricht:
    1. Öffnen einer MessageBox mit Ja- und Nein-Button mit der Frage, ob die Internetverbindung getrennt werden soll.
    2. Wenn Ja angeklickt wird, wird per WMI das Standardgateway für diese Netzwerkkarte auf 127.0.0.1 gesetzt
  4. WENN das Standardgateway dem in der Registry hinterlegten "richtigen" Standardgateway NICHT entspricht:
    1. Öffnen einer Inputbox zur Passworteingabe
    2. Wenn das Paßwort korrekt ist (also der Hash dem in der Registry hinterlegten entspricht) wird per WMI das Standardgateway auf den in der Registry hinterlegten "richtigen" Wert gesetzt.

Das Ganze entspringt dem Tipp von win-dozer auf meine Frage vom 8. Januar. Unter seinem alten WindowsXP-System (da hatte er aus welchen Gründen auch immer Adminrechte) funktionierte das auch noch hervorragend, aber inzwischen hat der Arzt auf Windows 7 umgestellt. Und da habe ich Wert drauf gelegt, daß er nicht mit einem Admin-Konto arbeitet.

Das Problem ist nun eben, daß die Messagebox und auch die Inputbox bei dem Aufruf über den Aufgabenplaner nicht als aktives Fenster geöffnet werden. Wenn noch ein anderes Programmfenster offen ist, sieht man zuerst nur das Programmsymbol in der Taskleiste und muß es erst anklicken, um die Messagebox bzw. die Inputbox hervorzuholen. Und selbst wenn kein anderes Programmfenster offen ist, muß man die Inputbox erst anklicken, damit man das Paßwort eingeben kann. Das ist alles nicht schlimm, aber nervig ...
Bitte warten ..
Mitglied: DerWoWusste
04.02.2013 um 08:47 Uhr
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.
Bitte warten ..
Mitglied: SarekHL
04.02.2013, aktualisiert um 12:22 Uhr
Zitat von DerWoWusste:
Kann ich nicht nachvollziehen. Wo bei dem genannten Lösungsweg musst Du noch ein Kennwort eingeben?

Siehe dazu meinen Kommentar von heute morgen 5:59 Uhr und den darin enthaltenen Link zu dem früheren Thread. Sinn der ganzen Aktion ist es ja gerade, daß man als Benutzer ein Kennwort eingeben MUSS, um das richtige Standardgateway gesetzt zu bekommen und damit Netzwerkzugriff zu haben.
Bitte warten ..
Mitglied: Friemler
04.02.2013 um 13:39 Uhr
Hallo Sarek,

hast Du denn den Lösungsvorschlag getestet? Du kannst natürlich auch eine EXE statt eines Batchscripts mit dem Codeschnipsel von rubberman starten.

Gruß
Friemler
Bitte warten ..
Mitglied: SarekHL
04.02.2013 um 14:04 Uhr
hast Du denn den Lösungsvorschlag getestet? Du kannst natürlich auch eine EXE statt eines Batchscripts mit dem Codeschnipsel von rubberman starten.

Der PC steht seit gestern 18 Uhr wieder in der Praxis des Arztes, heute morgen mußte der Praxisbetrieb ja wieder laufen. So schnell komme ich an die Kiste nicht mehr dran
Bitte warten ..
Mitglied: DerWoWusste
04.02.2013 um 14:08 Uhr
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
Bitte warten ..
Mitglied: Friemler
04.02.2013 um 14:55 Uhr
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
Bitte warten ..
Mitglied: SarekHL
05.02.2013, aktualisiert um 17:14 Uhr
Zitat von DerWoWusste:
Noch zwei Anregungen nebenher: Man braucht keine Adminrechte für das Setzen des S.-Gateways, es reicht die Mitgliedschaft in Netzwerkkonfigurations-Operatoren.

Da hatte ich den benutzer bereits reingepackt. Das Problem war aber ja, daß selbst ein Benutzer mit administrativen Rechten das Programm nicht ausführen konnte, wenn er es nicht explizit "als Administrator" ausgeführt hat.

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

"Elevated" heißt "Als Administrator ausführen", richtig? Dann bringt es mir ja nichts, denn es soll ja eben auch funktionieren, wenn der Benutzer kein Administrator ist und das Administratorkennwort nicht kennt. Oder verstehe ich da etwas falsch?



Zitat von 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

Das klingt sehr interessant, auch wenn es leider auf Englisch ist. Aber da werde ich mich mal durchkämpfen, wenn ich die notwendige Ruhe habe. Danke!
Bitte warten ..
Mitglied: DerWoWusste
05.02.2013, aktualisiert um 17:24 Uhr
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.
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst VBscript - WMI - ServerAddress + ConnectionStatus (Windows 7) (10)

Frage von Highend01 zum Thema Batch & Shell ...

Java
Berechtigungen Tomcat-Java über Windows Dienste

Frage von Ballos2k zum Thema Java ...

Windows Server
Mailserver auf Windows Server 2012 (7)

Frage von StefanT81 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...