Ich versuche, für einen Anbieter auf einem Windows 7-Rechner einige Fehler zu beheben. Ich muss es ausführen, netsh
um 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 runas
Befehl 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 cmd
Fenster 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 netsh
normal ausgeführt habe).
Was ist der Trick, damit Windows runas
erkennt, dass es me
sich 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:administrator
beim Öffnen dieses Fensters erhöhte Rechte haben, erhalten Sie KEINE UAC-Eingabeaufforderung und der netsh
Befehl 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.
- Öffnen Sie die MMC-Konsole und wählen Sie „Lokale Benutzer und Gruppen“ aus.
- Klicken Sie mit der rechten Maustaste auf das Administratorkonto und wählen Sie Eigenschaften.
- Das Fenster „Administratoreigenschaften“ wird angezeigt.
- Deaktivieren Sie auf der Registerkarte „Allgemein“ das Kontrollkästchen „Konto ist deaktiviert“.
- Schließen Sie die MMC-Konsole.
Beachten Sie außerdem, dass runas
Sie 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 sudo
oder 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.