[R] Insérer le résultat d'une variable entre guillemets

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
gabinhocity
Niveau 2
Niveau 2
Messages : 18
Enregistré le : jeu. 04 sept. 2014 09:45
Status : Hors ligne

[R] Insérer le résultat d'une variable entre guillemets

#1

Message par gabinhocity »

Bonjour à tout le monde,
Je suis entrain de faire un script qui va me permettre de changer le nom de compte utilisateur et ajoute le mot de passe en fonction de ma liste dans la base de donnée sous Windows 8.
Mes commandes sont les suivantes (je vous passe les détails de ma base de données avec les connexions requêtes qui fonctionnent bien)

Func modifier()


_SQLite_Query($bdd, 'SELECT Nom,Prenom,Login,Mdp FROM profs where Id_Unique = ' & '"' & $Valeur_Selectionnee & '"', $hQuery)
While (_SQLite_FetchData($hQuery, $aRow) = $SQLITE_OK)
$Nom = $aRow[0]
$Prenom = $aRow[1]
$Login = $aRow[2]
$Mdp = $aRow[3]

WEnd


Local $iText = GUICtrlRead(GUICtrlRead($List_profs))

$COMPTE = StringSplit($iText, "|", 0)
$Id_Unique = $COMPTE[1]
$Nom = $COMPTE[2]
$Prenom = $COMPTE[3]
$Login = $COMPTE[4]
$Mdp = $COMPTE[5]


Run("wmic useraccount where name='Ancien' rename " & $Login)
MsgBox(1, "", "nom :" & $Nom & " Prénom :" & $Prenom & "Mot de passe :" & $Mdp) ;verifier les infos envoyées

$FullName = $aRow[0]&" "&$aRow[1]

Run('NET USER ' & $Login & ' ' & $Mdp & ' /fullname:' & '"' & $FullName & '"')
MsgBox(1, "", 'NET USER ' & $Login & ' ' & $Mdp & ' /fullname:' & '"' & $FullName & '"');verifier les infos envoyées


EndFunc ;==>modifier


Mon problème se situe au niveau de fullname de la 2eme commande run net user. Le champ envoyé est vide parce que le fullname doit être entre guillemet et je galère à trouver comment mettre le resultat de ma variable $fullname alors $nom et $prenom me retourne bien la valeur attendue.

Merci d'avance
Modifié en dernier par gabinhocity le mar. 30 sept. 2014 13:46, modifié 1 fois.
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [..]Inserer le resultant d'une variable entre les guille

#2

Message par matwachich »

Les règles de présentation!!! :evil:

Pour votre problème, il faut toujours essayer de bien raisonner :

Code : Tout sélectionner

; écrire la commande
net user login mdp /fullname: "fullname"

; puis la transformer en string
$sCmd = [color=#FF0000]'[/color]net user login mdp /fullname: "fullname"[color=#FF0000]'[/color]

; et enfin, ajouter les variables
$sCmd = 'net user [color=#FF0000]' & $sLogin & ' ' & $sMdp & '[/color] /fullname: "[color=#FF0000]' & $sFullname & '[/color]"'
Quelques petits conseils quand à SQLite:
Au lieux d'ajouter un champ id_Unique, pourquoi ne pas directement utiliser le champ par défaut rowid (qui est fait pour ça)?
Quand vous ajouter des données dans la base, penser à utiliser _SQLite_Escape
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
gabinhocity
Niveau 2
Niveau 2
Messages : 18
Enregistré le : jeu. 04 sept. 2014 09:45
Status : Hors ligne

Re: [..]Inserer le resultant d'une variable entre les guille

#3

Message par gabinhocity »

Merci pour ta réponse.
Je ne rajoute rien dans la Bd je prends juste des infos dessus pour changer le nom de compte et le mot de passe de l'utilisateur.

Tout fonctionne bien mais c'est seulement au niveau du Fullname que ca bug. le nom sort bien et le prenom aussi individuellement.
Mais je veux que le full n'aime soit de type en sortie :
net user login mdp /fullname: "nom prenom"

sauf que même en mettant ca :
$sCmd = 'net user ' & $sLogin & ' ' & $sMdp & ' /fullname: "' & $sFullname & '"'

Je n'ai rien dans le fullname par contre le logine et Mdp ca marche
Faco
Niveau 4
Niveau 4
Messages : 80
Enregistré le : lun. 29 juil. 2013 18:09
Status : Hors ligne

Re: [..] Insérer le résultat d'une variable entre guillemets

#4

Message par Faco »

Bonjour,

Utilise $nom et $prenom pour faire ton fullname alors, au lieu de $aRow[0] et $aRow[1].

et tu peux peut être tenter :

$FullName = '"' & $aRow[0] & " " & $aRow[1] & '"'
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Insérer le résultat d'une variable entre guillemets

#5

Message par jguinch »

Tu peux aussi te passer d'une commande externe telle que "net user", en passant par un UDF.
Celui-là est très bien : http://www.autoitscript.com/forum/topic ... count-udf/

Cela dit, je ne vois pas pour quelle raison ton code ne marche pas.
Quel est le résultat de la command "net user" ?
► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
gabinhocity
Niveau 2
Niveau 2
Messages : 18
Enregistré le : jeu. 04 sept. 2014 09:45
Status : Hors ligne

Re: [..] Insérer le résultat d'une variable entre guillemets

#6

Message par gabinhocity »

Merci à tous pour vos réponses mais apres des recherches j'ai reussi à ressoudre mon problème moi même.
C'est le Fullname qui me posait problème car son contenu devait être entre guillemet.
Pour ressourdre mon problème sur ma requête.

_SQLite_Query($bdd, 'SELECT Nom,Prenom,Login,Mdp, (Prenom ||" " ||Nom) AS fullname FROM profs where Id_Unique = ' & '"' & $Valeur_Selectionnee & '"', $hQuery)
While (_SQLite_FetchData($hQuery, $aRow) = $SQLITE_OK)

$COMPTE = StringSplit($iText, "|", 0)
$Id_Unique = $COMPTE[1]
$Nom = $COMPTE[2]
$Prenom = $COMPTE[3]
$Login = $COMPTE[4]
$Mdp = $COMPTE[5]
$FullName = $COMPTE[6]

Donc a partir de se concat il me sort le nom et le prenom directement et je n'ai qu'a mettre dans le net user

Run('NET USER ' & $Login & ' ' & $Mdp & ' /fullname:' & '"' & $FullName & '"')

et la ca fonctionne
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] Insérer le résultat d'une variable entre guillemets

#7

Message par jchd »

Un _SQLite_QuerySingleRow serait plus simple.
Eviter l'usage des *Query + boucle(s) en règle générale.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
gabinhocity
Niveau 2
Niveau 2
Messages : 18
Enregistré le : jeu. 04 sept. 2014 09:45
Status : Hors ligne

Re: [R] Insérer le résultat d'une variable entre guillemets

#8

Message par gabinhocity »

Merci du conseil
Répondre