Verwenden von runas zum Ausführen von netsh als Administrator

Verwenden von runas zum Ausführen von netsh als Administrator

Ich versuche, für einen Anbieter auf einem Windows 7-Rechner einige Fehler zu beheben. Ich muss es ausführen, netshum einen Parameter festzulegen. Ich habe versucht, es aus einem Cygwin-/Shell-Fenster auszuführen, aber es tritt die Fehlermeldung „Als Administrator ausführen“ auf.

Beim Googeln sehe ich, dass es einen runasBefehl gibt, der anscheinend so funktioniert sudo. Da mein Benutzerkonto ( me) ein Administratorkonto ist, runas /user:me "netsh ..." werde ich beim Versuch, das Kennwort von einzugeben, aufgefordert me, es einzugeben netsh(vermutlich in einem neuen cmdFenster ausgeführt), es blinkt auf und schließt sich wieder, und ich erhalte eine erfolgreiche Rückmeldung vom Befehl (d. h. $? == 0).

Aber anscheinend ist das nicht gut genug, da der Parameter unverändert blieb. Ich habe das schließlich umgangen, indem ich auf einer Verknüpfung zur Shell „Als Administrator ausführen“ ausführte (und dann netshnormal ausgeführt habe).

Was ist der Trick, damit Windows runaserkennt, dass es mesich tatsächlich um einen Administrator handelt?

Antwort1

Es macht einen Unterschied, ob Sie bei einem Konto angemeldet sind, das Teil der Administratorgruppe ist, oder ob Sie entweder (a) mit erhöhten Rechten oder (b) als integriertes Administratorkonto arbeiten.

Wenn Sie als Administrator arbeiten, sind Sie per Definition immer mit erhöhten Rechten ausgestattet. Wenn Sie also run /user:administratorbeim Öffnen dieses Fensters erhöhte Rechte haben, erhalten Sie KEINE UAC-Eingabeaufforderung und der netshBefehl sollte ausgeführt werden.

Da das integrierte Administratorkonto jedoch immer mit erhöhten Rechten ausgeführt wird und keine UAC-Eingabeaufforderungen generiert runas, stellt es ein Sicherheitsrisiko dar, insbesondere wenn es kein Kennwort hat. DeshalbMicrosoft deaktiviert das Administratorkonto standardmäßigund erfordert, dass Sie es zuerst aktivieren:

In Windows® 7 ist das integrierte Administratorkonto standardmäßig deaktiviert. In früheren Windows-Versionen wurde während der Out-of-Box-Experience (OOBE) automatisch ein Administratorkonto mit einem leeren Kennwort erstellt.

Ein Administratorkonto mit leerem Passwort stellt ein Sicherheitsrisiko dar. Um das System besser zu schützen, ist das integrierte Administratorkonto bei allen Neuinstallationen und Upgrades von Windows 7 standardmäßig deaktiviert.

So aktivieren Sie es. (Sie können MMC öffnen, indem Sie im Startmenü „mmc“ in das Feld „Ausführen...“ eingeben.)

Ändern Sie die Eigenschaften des Administratorkontos mithilfe der Microsoft Management Console (MMC) für lokale Benutzer und Gruppen.

  1. Öffnen Sie die MMC-Konsole und wählen Sie „Lokale Benutzer und Gruppen“ aus.
  2. Klicken Sie mit der rechten Maustaste auf das Administratorkonto und wählen Sie Eigenschaften.
  3. Das Fenster „Administratoreigenschaften“ wird angezeigt.
  4. Deaktivieren Sie auf der Registerkarte „Allgemein“ das Kontrollkästchen „Konto ist deaktiviert“.
  5. Schließen Sie die MMC-Konsole.

Beachten Sie außerdem, dass runasSie KEINE Argumente an das ausgeführte Programm übergeben können:

RUNAS USAGE:

RUNAS [ [/noprofile | /profile] [/env] [/savecred | /netonly] ]
        /user:<UserName> program

RUNAS [ [/noprofile | /profile] [/env] [/savecred] ]
        /smartcard [/user:<UserName>] program

RUNAS /trustlevel:<TrustLevel> program

Wenn Sie einen Befehl mit erhöhten Rechten unter Ihrer eigenen Benutzer-ID ausführen möchten oder wenn Sie Argumente übergeben möchten, benötigen Sie ein echtes sudooder su(wieDieses hier, ein Teil meiner eigenenHamilton C-Schale:) mit einem Zwischenspielmarkiert im Anwendungsmanifestals erhöhte Rechte erforderlich. Wenn Sie es auf diese Weise tun, wird eine UAC-Eingabeaufforderung angezeigt.

verwandte Informationen