Antworten:
Fügen Sie zur automatischen Authentifizierung das /savecred
Flag hinzu. Sie müssen das Kennwort beim ersten Ausführen des Skripts eingeben, es wird jedoch danach gespeichert.
Stellen Sie fest, dass runas
die gespeicherten Anmeldeinformationen dann zum Ausführen eines bestimmten Programms verwendet werden können. Überlegen Sie sich daher, wie dies ein Sicherheitsproblem sein kann, bevor Sie diesen Weg gehen.
Ihre Verwendung ist jedoch korrekt. Fügen Sie einfach den Programmpfad am Ende hinzu.
runas /noprofile /user:joe@example.com /savecred script.bat
oder
runas /noprofile /user:joe-pc\joe /savecred script.bat
So löschen Sie gespeicherte Anmeldeinformationen Suchen Sie nach dem Anmeldeinformations-Manager in der Systemsteuerung.
Der runas
Befehl sollte Sie zur Eingabe der Anmeldeinformationen auffordern, wenn Sie die Batchdatei ausführen, um den angegebenen Befehl auszuführen. Solange Sie es in cmd.exe ausführen . Dies ist darauf zurückzuführen, dass die Standardeingabe erforderlich ist, um zur Eingabe des Kennworts aufzufordern. Sie können nicht einfach darauf doppelklicken. Das Speichern eines Passworts im Klartext in einer Batchdatei ist eine schlechte Idee, da es unsicher ist . Aus diesem Grund werden zur Laufzeit Eingabeaufforderungen angezeigt.
Sie können mit der rechten Maustaste auf die ausführbare Datei klicken Run as Administrator
und ohne den runas
Befehl klicken . Dies ist wahrscheinlich die Lösung, nach der Sie suchen.
Wenn Sie die Aufgabe als geplante Aufgabe ausführen möchten, können Sie festlegen, dass sie dort als anderer Benutzer ausgeführt wird.
Run as Administrator
oder die Aufgabe so einzustellen, dass sie als bestimmter Benutzer als geplante Aufgabe ausgeführt wird. Jede andere Option, die sich als Administrator authentifiziert, würde einige große Sicherheitsrisiken mit sich bringen. Es sieht so aus, als ob Windows diese Funktion nicht hat. Wenn Sie weitere Informationen zu diesem Thema wünschen , lesen Sie setuid für Windows . setuid
wird in Unix-Umgebungen verwendet, damit ein Nicht-Administrator ein Programm als root (admin) ausführen kann. Ein Programm, das verwendet, setuid
muss sehr sorgfältig codiert werden, um keine Schwachstellen zu erstellen.
setuid
kann so konfiguriert werden, dass Berechtigungen anderer Benutzer sowie Root auf einem Unix-System übernommen werden.
Sie können RunAs verwenden, wenn Sie die Batchdatei aufrufen (klicken Sie mit der rechten Maustaste auf die Batchdatei und klicken Sie auf Runas), damit der Batch als Administrator ausgeführt wird. Ich vermute, dass Runas innerhalb des Batches nicht funktionieren. Ich würde empfehlen, das Passwort NICHT in die Batch-Datei einzufügen, auch wenn es funktioniert hat. Batch-Dateien sind Klartext. Sie können das Passwort also auch auf eine Haftnotiz auf dem Monitor setzen.
Auf dieser Website wird das Erstellen eines Autoit-Skripts erläutert, das den Inhalt der Datei am Ende der Datei verschleiert.
http://www.neowin.net/forum/topic/922704-secure-use-of-passwords-in-batch-files/