Saisie du nom d'utilisateur et du mot de passe de l'administrateur local dans un script

8

J'ai beaucoup de clients sur mon réseau et je veux que mon script fasse ce qui suit:

[1] Ouvrez une invite de commande élevée en utilisant les détails de l'administrateur local. Remarque: je ne veux pas avoir à entrer un nom d'utilisateur et un mot de passe pour chaque utilisateur.

[2] Désinstallez java à l'aide de la commande suivante: "wmic product where" name like 'java%' "call uninstall"

[3] Je souhaite ensuite installer une autre version de Java une fois le PC redémarré.

Pour le moment, je ne suis pas trop inquiet pour les étapes 2 et 3, mais l'étape 1 me pose quelques problèmes. J'ai essayé les méthodes ci-dessous:

commande runas
programmes NirSoft
PowerShell

Je me demande vraiment si cela est possible sans se déplacer sur tous les PC du réseau et entrer le mot de passe administrateur local.

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

Merci d'avance. Timbo

timboslice101
la source
Si vous demandez si vous pouvez contourner l'invite UAC du script, la réponse est bien sûr «non». (Si c'était possible, tous les logiciels malveillants le feraient.)
Bill_Stewart

Réponses:

11

Commencez votre lot:

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

Cela ouvrira une invite de commande élevée

Gardez à l'esprit que pour que cela fonctionne, l'utilisateur devrait avoir le privilège d'administrateur sur la boîte.

Si l'utilisateur n'est pas un administrateur local, vous devrez utiliser le commutateur / savecred, c'est un gros trou de sécurité comme l'utilisateur et vous pouvez utiliser le commutateur / savecred sur tout ce qu'il veut.

Si vous avez AD, vous pouvez toujours le faire via GPO.

Anthony Fornito
la source
Merci pour la réponse, ce que je recherche vraiment, c'est un moyen d'entrer les détails administratifs dans un script sans avoir à les saisir manuellement sur chaque PC.
timboslice101