[..] Modifier registre distant avec authentification (RunAs)

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
davzell
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 26 sept. 2013 14:15
Status : Hors ligne

[..] Modifier registre distant avec authentification (RunAs)

#1

Message par davzell »

Salut a tous,

voila je débute en autoit et je cherche a faire une modifiacation du régistre d'un controleur de domaine en m'authentifiant avant en administrateur

runas("Administrateur","nom de machine ou domaine","mot de passe",0,RegRead("\\nom du poste\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion", "ProgramFilesDir"
MsgBox(0,0,$info)

ca ne marche pas mais je ne sais pas trop pourquoi

si quelqu'un peut me donner un coup de main

merci d'avance
Modifié en dernier par Tlem le jeu. 26 sept. 2013 22:25, modifié 1 fois.
Raison : Modification de la balise
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [S] Modifier registre distant avec authentification (Run

#2

Message par jguinch »

Je répète ce que je viens d'écrire dans ton autre post : il faut impérativement lire la doc et essayer de comprendre les exemples.
Le cinquième paramètre de RunAs doit être un programme, pas une fonction.

Edit : avant qu'un modérateur ne le jette, tu devrais modifier le titre de ton topic pour qu'il respecte les règles Tlem s'en est chargé (sans faire de remarque en plus :D ...)
Modifié en dernier par jguinch le ven. 27 sept. 2013 11:05, modifié 1 fois.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
davzell
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 26 sept. 2013 14:15
Status : Hors ligne

Re: [S] Modifier registre distant avec authentification (Run

#3

Message par davzell »

jguinch a écrit :Je répète ce que je viens d'écrire dans ton autre post : il faut impérativement lire la doc et essayer de comprendre les exemples.
Le quatrième paramètre de RunAs doit être un programme, pas une fonction.

Edit : avant qu'un modérateur ne le jette, tu devrais modifier le titre de ton topic pour qu'il respecte les règles Tlem s'en est chargé (sans faire de remarque en plus :D ...)

je vérifierai demain le code que j'ai réussi a faire marcher au taf, mais si je dis pas de conneries le regread fonctionne.

J'ai trouvé quand faite le code ne marchait pas sur mon pc car le service windows pour éditer le registre distant été arrêté.
davzell
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 26 sept. 2013 14:15
Status : Hors ligne

Re: [S] Modifier registre distant avec authentification (Run

#4

Message par davzell »

jguinch a écrit :Je répète ce que je viens d'écrire dans ton autre post : il faut impérativement lire la doc et essayer de comprendre les exemples.
Le cinquième paramètre de RunAs doit être un programme, pas une fonction.

Edit : avant qu'un modérateur ne le jette, tu devrais modifier le titre de ton topic pour qu'il respecte les règles Tlem s'en est chargé (sans faire de remarque en plus :D ...)

bon effectivement le runas ne marche pas avec regwrite

la commande marche mais peu importe ce que je marque en mot de passe par exemple.


Du coup a part utiliser runas avec un second *.exe ou la commande @comspec pour le faire en dos je n'ai pas de solution ?

Pour que ce soit le plus simple possible je voudrais avoir un seul *.exe.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Modifier registre distant avec authentification (Ru

#5

Message par jguinch »

Tu peux faire un script qui se lance lui-même en administrateur si l'utilisateur n'a pas les droits :
► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
davzell
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 26 sept. 2013 14:15
Status : Hors ligne

Re: [..] Modifier registre distant avec authentification (Ru

#6

Message par davzell »

ok j'en avais trouvé un dans le même genre

Code : Tout sélectionner

Local $sUserName = "Administrateur"
Local $sPassword = "P@ssw0rd"

If not IsAdmin() Then
RunAs($sUserName, @ComputerName, $sPassword, 0, @ScriptFullPath, @ScriptDir)
Exit
EndIf

; La suite du code comme si on est Admin.

c'est le @ScriptFullPath et @ScriptDir que je maîtrise pas

Edit; par contre c'est un registre d'un poste distant que je tente de modifier, je sais pas si ça fonctionne aussi du coup ?

en gros je veux m'authentifier sur le domaine en tant qu'admin avant de manipuler le registre
leonick12
Niveau 2
Niveau 2
Messages : 19
Enregistré le : mer. 25 sept. 2013 23:09
Localisation : Villefranche de Rouergue (12)
Status : Hors ligne

Re: [..] Modifier registre distant avec authentification (Ru

#7

Message par leonick12 »

salut moi j'ai trouver une astuce pour ca, tu creer une tache dans windows en metant l'autorisation maxi et apres tu mets un raccourcis avec la ligne de commande qui demarre ta tache et le raccoucis que tu demarre dans autoit

suivant les windows pour les taches : menu demarrer/outils administration/planificateur de taches

choisir 'creer une tache' ne pas choisir 'creer une tache de base'

et surtout cocher 'executer avec les autorisations maximales

voila la commande :

Code : Tout sélectionner

C:\Windows\System32\schtasks.exe /run /tn "NOM DE LA TACHE"
la commande autoit

Code : Tout sélectionner

ShellExecute ( "J:\NOM DU FICHIER.lnk" )
ca peut toujours servir.
davzell
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 26 sept. 2013 14:15
Status : Hors ligne

Re: [..] Modifier registre distant avec authentification (Ru

#8

Message par davzell »

du coup je voulais faire un truc du genre pour faire un runas avec modification de registre mais ca ne marche pas non plus.

une idée ?

Code : Tout sélectionner

$username = davzell
$domain = domain
$password = test

RunAs($username, $domain, $password, 0, @ComSpec & " /k reg add  \\davzell-pc\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\explorer /v NoTrayContextMenu /t REG_DWORD /d 1","",@SW_HIDE)
Modifié en dernier par davzell le dim. 29 sept. 2013 22:14, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Modifier registre distant avec authentification (Ru

#9

Message par Tlem »

Les balises de code SVP.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
davzell
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 26 sept. 2013 14:15
Status : Hors ligne

Re: [..] Modifier registre distant avec authentification (Ru

#10

Message par davzell »

Tlem a écrit :Les balises de code SVP.
sorry
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Modifier registre distant avec authentification (Ru

#11

Message par jguinch »

Dans ton code, tu utilises /k pour que cmd ne se ferme pas, et @SW_HIDE pour ne pas afficher la fenêtre :

Code : Tout sélectionner

RunAs($username, $domain, $password, 0, @ComSpec & "[b] [color=#FF0000]/k[/color][/b] reg add  \\davzell-pc\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\explorer /v NoTrayContextMenu /t REG_DWORD /d 1","",[b][color=#FF0000]@SW_HIDE[/color][/b])
Du coup, du dois avoir un cmd.exe qui reste ouvert...
Essai d'enlever @SW_HIDE pour voir ce que la commande de retourne.
Tu peux aussi ajouter /f dans la commande reg pour forcer l'écriture (c'est peut-être ça qui ne va pas)
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
davzell
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 26 sept. 2013 14:15
Status : Hors ligne

Re: [..] Modifier registre distant avec authentification (Ru

#12

Message par davzell »

Ben la commande fonction correctement si je lance le script d'un compte administrateur.

Par Contre depuis un simple utilisateur ça ne passe pas. Donc je pense que c'est au niveau du runas qu'il y'a quelque chose qui ne va pas
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Modifier registre distant avec authentification (Ru

#13

Message par jguinch »

Essai d'enlever @SW_HIDE pour voir ce que la commande de retourne.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
davzell
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 26 sept. 2013 14:15
Status : Hors ligne

Re: [..] Modifier registre distant avec authentification (Ru

#14

Message par davzell »

j'ai essayé et la fenêtre de CMD ne s'ouvre même pas

si je lance en session admin c'est ok la clef est ajouté et la fenêtre cmd reste ouverte
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Modifier registre distant avec authentification (Ru

#15

Message par jguinch »

Tu es sûr de tes valeurs $username, $domain, $password ?
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
davzell
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 26 sept. 2013 14:15
Status : Hors ligne

Re: [..] Modifier registre distant avec authentification (Ru

#16

Message par davzell »

oui je suis sur et même en supposant qu'ils soient faux, je devrais avoir la fenêtre dos qui reste affiché me disant "accès refusé" comme quand je fais le test sans mettre d'identifiants non ?
davzell
Niveau 5
Niveau 5
Messages : 105
Enregistré le : jeu. 26 sept. 2013 14:15
Status : Hors ligne

Re: [..] Modifier registre distant avec authentification (Ru

#17

Message par davzell »

bon j'avais réussi a me débrouiller pour la commande et je rencontre un problème un peu différent maintenant.

j'ai fais ce code pour récupérer le chemin d'une appli dans le registre distant d'un poste

Code : Tout sélectionner

$path = RegRead("\\" & $NomPC & "\HKLM\SYSTEM\CurrentControlSet\Services\path", "ImagePath")
         $var = _StringBetween($path, '\', 'w')
           MsgBox(0, '', $var[0])
ca marche correctement sauf pour les postes ou il faut que je m'authentifie

j'ai donc voulu passer par la commande reg query au lieu de regread qui fonctionne

Code : Tout sélectionner

$path = RunAs($user, $Domain, $mdpPC, 0, @ComSpec & " /k reg query  \\" & $NomPC & "\HKLM\SYSTEM\CurrentControlSet\Services\uvnc_service /v ImagePath")
par contre est ce qu'il y a un moyen de récupérer ce qu'il y a dans ma fenêtre dos pour le placer dans une variable et l'utiliser dans le reste du script ?

merci
Répondre