Ziemlich einfach, auf die ich keine Antwort finden kann.
Mit serverfault konnte ich zuvor einen Weg finden, Windows-Updates ohne Verwendung von WSUS zu automatisieren. Es funktioniert fantastisch, aber um es über das Netzwerk auszuführen, müssen Sie zuerst ein freigegebenes Laufwerk bereitstellen. Das ist ziemlich einfach XP, da Sie nur das Laufwerk mounten und den Updater ausführen.
Unter Vista und W7 muss dies alles mit erhöhten Berechtigungen erfolgen, um ordnungsgemäß zu funktionieren. Das UAC-Konto kann keine Netzwerklaufwerke sehen, die vom normalen Benutzer bereitgestellt wurden. Damit alles funktioniert, muss ich die Freigabe über net use
eine eskalierte Shell bereitstellen. Ich möchte das Mounten dieser Freigabe und das Starten des Updaters über eine einfache .bat-Datei automatisieren.
Ich könnte wahrscheinlich jeden anweisen, mit der rechten Maustaste auf "Als Administrator ausführen" in der .bat-Datei zu klicken, aber ich möchte die Dinge so einfach wie möglich halten und die .bat den Benutzer automatisch auffordern, ihre Berechtigungen zu erweitern.
Da diese Computer nicht zu uns gehören, kann ich nicht mit der Installation von Powershell rechnen, sodass jede Lösung in dieser Richtung ausfällt und sich auf Dinge verlassen muss, die in einer RTM Vista-Installation enthalten wären. Ich hoffe, ich vermisse hier meistens etwas Offensichtliches. :) :)
quelle
elevate.cmd
undelevate.vbs
Wenn Sie bereit sind, auf PowerShell zu konvertieren, ist dies viel einfacher. Dies ist mein "
Elevate-Process.ps1
" Skript (mitsu
als Alias in meinem Profil):Die Erkennung einer Erhöhung kann auch in PSH erfolgen (daher können Sie die Höhe überprüfen und bei Bedarf erhöhen):
quelle
Hier ist ein Beispielskript, das ich mir ausgedacht habe. Ich hoffe, es hilft anderen. Es ist eine Bat-Datei, die den Benutzer zur Erlaubnis auffordert und sich dann selbst eskaliert. Es leitet ein vbscript weiter, das die UAC-Eingabeaufforderung auslöst, und führt dann die bat-Datei mit erhöhten Rechten erneut aus ... http://jagaroth.livejournal.com/63875.html
quelle
Folgendes benötigen Sie: http://sites.google.com/site/eneerge/home/BatchGotAdmin
quelle
FusionInventory.org ist eine Open-Source-Lösung, die hauptsächlich von kleinen Reparaturwerkstätten verwendet wird. Es kann wie Ihr persönlicher ferngesteuerter Windows-Updater sein.
quelle
Keine dieser Lösungen funktioniert für eine CMD-Datei, die die Befehlszeilenparameter kennen muss. Fügen Sie dies ganz am Anfang der .cmd-Datei ein und alle Ihre Probleme werden gelöst. (Dies ist für zukünftige Leute, die diesen Thread durchsuchen [Ich habe dies unter Windows XP, 7 Vista und 8; x86 + x64 getestet]):
quelle
Wie @emilio sagte, ist dieses Skript in Ordnung, akzeptiert jedoch keine Argumente. Hier das modifizierte Skript, um mit Argumenten kompatibel zu sein:
quelle
Wenn Sie sich nicht auf die Installation von Powershell verlassen können, können Sie diese Lösung auf StackOverflow anwenden:
Automatische Erhöhung mit der Benutzerkontensteuerung mithilfe einer Batchdatei
Es muss nichts installiert werden und ist sofort einsatzbereit. Wenn Sie die Befehlszeilenargumente beibehalten müssen , ziehen Sie dieses Update in Betracht .
quelle
Haben Sie den
runas
Befehl ausprobiert ?quelle