Wenn Sie das Kennwort nicht kennen, wird es kompliziert, aber möglicherweise lautet die Lösung: Ist es möglich, das Kennwort eines Benutzers vorübergehend auszublenden? (Und setzen Sie es danach auf das zurück, was es vorher war.)
Als Start:
Lassen Sie zunächst das Anmeldefenster anzeigen. Melden Sie einfach den aktuellen Benutzer ab, verwenden Sie die schnelle Benutzerumschaltung oder verwenden Sie SSH:
cd "/ System / Library / CoreServices / Menü Extras / User.menu / Contents / Resources /"
sudo ./CGSession -suspend
Oder, um sofort zu einem bestimmten Benutzer zu wechseln, in dem wahrscheinlich das Anmeldefenster angezeigt wird (dies funktioniert auf meinem 10.5 Leopard plötzlich nicht mehr):
sudo ./CGSession -switchToUserID 501
Was jetzt angezeigt wird, hängt ein bisschen von den Systemeinstellungen ab, aber nehmen wir an, es sind die Symbole der Benutzer und ihre Namen. Um einen Namen zu aktivieren, müssten wir die ersten Buchstaben eingeben. Nach Return erscheint die Passwortabfrage. Alternativ kann man auswählen beliebigen Namen (z. B. durch Drücken des Pfeils nach unten) und dann die Optionstaste drücken, um zur Eingabe eines beliebigen Benutzernamens und seines Kennworts aufgefordert zu werden . Ich weiß nicht, wie man erkennen kann, welcher Bildschirm angezeigt wird, aber das sollten wir für später aufheben ...
Um also den ersten (zufälligen) Benutzernamen auszuwählen und die Wahltaste-Return-Taste zu drücken, geben Sie einen bestimmten Benutzernamen ein, drücken Sie die Eingabetaste und geben Sie das Passwort ein:
sudo osascript -e 'tell app "Systemereignisse"
Schlüsselcode 125
Tastatureingabe mit der Option nach unten
Tastendruck "der Benutzername"
Verzögerung 1.0
Tastatureingabe zurück
Verzögerung 1.0
Tastendruck "das Passwort"
Verzögerung 1.0
Tastatureingabe zurück
Ende erzählen '
Das obige zeigt einen Fehler, der, soweit ich das beurteilen kann, die Nutzung nicht einschränkt:
osascript [285]: 3891612: (connectAndCheck) Nicht vertrauenswürdige Apps sind dies nicht
darf vor der Anmeldung eine Verbindung zu Windows Server herstellen oder Windows Server starten.
_RegisterApplication (), FAILED TO stellt die Standardverbindung zu her
Der WindowServer _CGSDefaultConnection () ist NULL.
Verwenden Sie alternativ das sprachspezifische Skript aus " Anmeldefenster über Apple Remote Desktop skripten " (möglicherweise zeigen die Kommentare auf dieser Site eines Tages eine bessere Lösung):
Tell-Prozess "SecurityAgent"
setze Wert von Textfeld 1 von Gruppe 1 von Fenster 1 auf "den Benutzernamen"
setze Wert von Textfeld 2 von Gruppe 1 von Fenster 1 auf "das Passwort"
Ende erzählen
Klicken Sie auf die Schaltfläche "Anmelden" in Fenster 1 des Anwendungsprozesses "SecurityAgent".
Das Hauptproblem ist jedoch, dass das Kennwort weiterhin benötigt wird . Allerdings: Offensichtlich wird kein Passwort benötigt, wenn ein Benutzer ein leeres Passwort hat. Bei leeren Passwörtern genügt ein einfaches Klicken auf das Symbol eines Benutzers. Wenn das Senden von Tastenanschlägen mit AppleScript akzeptabel ist, müssen Sie möglicherweise "alles" herausfinden:
Ist es möglich, das Kennwort eines Benutzers vorübergehend auszublenden, um das Starten (oder Fortsetzen) der Sitzung zu ermöglichen, ohne dieses Kennwort zu kennen ...?
Kann man das AppleScript fehlerfrei machen? Mögen:
- Wie kann ich feststellen, ob das Anmeldefenster sichtbar ist? (
stat -f%Su /dev/console
Kann vielleicht helfen, da sich das ergibt,root
während das Anmeldefenster angezeigt wird)
- Wie kann ich feststellen, welches Anmeldefenster angezeigt wird? (Zum Beispiel: eines mit Symbolen und Anmeldenamen oder einer Dropdown-Liste oder nur einer Passwortabfrage, wenn jemand ausgewählt hat, zu einem bestimmten Benutzer zu wechseln?)
- Werde die Verzögerungen los.
- Was ist mit dieser Fehlermeldung?
(Ein Hinweis zum Testen: Bei Verwendung der Bildschirmfreigabe scheint das Festlegen der Einstellung Bei der Steuerung von Computern: Kennwörter und Tastenanschläge verschlüsseln behält die Verbindung auch dann bei, wenn das Anmeldefenster angezeigt wird oder wenn sich ein Benutzer erfolgreich angemeldet hat. Bei Verwendung der Option Alle Netzwerke verschlüsseln Daten, dann muss mein Mac die Bildschirmfreigabeverbindung jedes Mal wiederherstellen, wenn ein Login angezeigt oder ein Benutzer gewechselt wird.)