
Ich versuche, eine Batchdatei (um Software zu installieren) auf einem Remotecomputer auszuführen. Dazu verwende ich PSExec.
psexec.exe \\COMPUTER C:\swsetup\install.bat
Dies funktioniert einwandfrei, abgesehen davon, dass einige Installationen fehlschlagen, weil das Skript nicht als Administrator ausgeführt wird (wenn ich mich anmelde, mit der rechten Maustaste klicke und „Als Administrator ausführen“ auswähle, wird das Skript ausgeführt und erfolgreich installiert.
Ich habe versucht, als Administrator mit dem Befehl /runas zu arbeiten, ohne Erfolg
psexec.exe \\Computer-Befehl
und dann
runas /Benutzer:Computer\Administrator C:\swsetup\install.bat
Das System zeigt die Meldung „Passwort für Konto eingeben“ an und springt dann zurück zur Eingabeaufforderung, ohne dass ich das Passwort eingeben kann. Das gleiche Problem tritt auf, wenn ich versuche,
runas /Benutzer:[email geschützt]C:\swsetup\install.bat
Gibt es eine Möglichkeit, dies zu umgehen, oder muss ich den Computer besuchen, mich anmelden und dann das Skript auf jedem Computer ausführen?
Antwort1
Erstellen Sie einen Aufgabenplan auf dem Remotecomputer, der die gewünschte Batchdatei bei Bedarf mit den höchsten Berechtigungen ausführt. Möglicherweise können Sie dem Remotecomputer mit schtasks /Create /? (Suche nach „Aufgabenplan zum Remotecomputer hinzufügen“) neue Aufgaben hinzufügen.
Erstellen Sie eine Verknüpfung zum Ausführen der Aufgabe. Führen Sie die
Verknüpfung mit psexec.exe aus.
Ich verwende diese Methode, um die Benutzerkontensteuerung zu umgehen, wenn ich bestimmte Programme als Administrator ausführe. Ich habe einen neuen Taskplaner-Ordner „UAC umgehen“ und darin den neuen Task „Installer“ erstellt.
Registerkarte „Allgemein“: Aktivieren Sie „Mit höchster Berechtigung ausführen“.
Registerkarte „Aktion“: Starten Sie ein Programm Ihrer Batchdatei.
Registerkarte „Bedingungen“: Deaktivieren Sie die Energiebeschränkungen und aktivieren Sie „Computer wecken“, wenn Sie Wecktimer aktiviert haben und den Computer wecken möchten, um die Aufgabe auszuführen.
Registerkarte „Einstellungen“: Aktivieren Sie „Aufgabe darf auf Befehl ausgeführt werden“.
Für die Verknüpfung verwenden Sie das Muster: C:\Windows\System32\schtasks.exe /RUN /TN "Ordnername\Taskname"
also zum Beispiel "UAC\Installer umgehen"
Wenn meine Anweisungen verwirrend sind, suchen Sie nach „UAC mit Taskplaner umgehen“.
Antwort2
Haben Sie versucht, den PSExec-Kennwortschalter mit dem Kontonamen hinzuzufügen, mit dem Sie den Batch ausführen?
-p Specifies optional password for user name. If you omit this
you will be prompted to enter a hidden password.