Eingabe des lokalen Administrator-Benutzernamens und -Kennworts in ein Skript

8

Ich habe viele Clients in meinem Netzwerk und möchte, dass mein Skript Folgendes ausführt:

[1] Öffnen Sie eine Eingabeaufforderung mit erhöhten Rechten unter Verwendung der lokalen Administratordetails. Hinweis: Ich möchte nicht für jeden Benutzer einen Benutzernamen und ein Passwort eingeben müssen.

[2] Deinstallieren Sie Java mit dem folgenden Befehl: "wmic product where" name wie 'java%' "call uninstall"

[3] Ich möchte dann eine andere Version von Java installieren, sobald der PC neu gestartet wird.

Ich mache mir im Moment keine allzu großen Sorgen um die Schritte 2 und 3, aber Schritt 1 verursacht mir einige Probleme. Ich habe die folgenden Methoden ausprobiert:

Der Befehl
runas NirSoft programmiert
PowerShell

Ich frage mich wirklich nur, ob dies möglich ist, ohne zu jedem PC im Netzwerk zu gehen und das lokale Administratorkennwort einzugeben.

/programming/19098101/how-to-open-an-elevated-cmd-using-command-line-for-windows

Danke im Voraus. Timbo

timboslice101
quelle
Wenn Sie fragen, ob Sie die UAC-Eingabeaufforderung aus dem Skript umgehen können, lautet die Antwort natürlich "Nein". (Wenn es möglich wäre, würde es jede Malware tun.)
Bill_Stewart

Antworten:

11

Starten Sie Ihre Charge:

powershell.exe -Command "Start-Process cmd -Verb RunAs"
...
rest of script
...

Dadurch wird eine Eingabeaufforderung mit erhöhten Rechten geöffnet

Beachten Sie, dass der Benutzer über Administratorrechte für die Box verfügen muss, damit dies funktioniert.

Wenn der Benutzer kein lokaler Administrator ist, müssen Sie den Schalter / savecred verwenden. Dies ist eine große Sicherheitslücke, da der Benutzer den Schalter / savecred für alle anderen gewünschten Zwecke verwenden kann.

Wenn Sie AD haben, können Sie dies immer über das Gruppenrichtlinienobjekt tun.

Anthony Fornito
quelle
Vielen Dank für die Antwort. Ich suche wirklich nach einer Möglichkeit, die Administrator-Details in ein Skript einzugeben, ohne sie manuell auf jedem PC eingeben zu müssen.
Timboslice101