user@linuxtrack:~ $ python -c 'print("Soyez les bienvenus !")'

Vous n'êtes pas identifié(e).

#1 04-03-2015 22:59:31

ToF62
Membre

aide sur script pour automatisation de tache

bonsoir a tous

j'aurez besoin d'un coup de pouce

J'aimerai listé le contenu de mon dossier media, ca j'arrive : ls /media/
le contenu du dossier media, le declaré en variable. ca j'arrive :liste=(/media/*);select choix in "${liste[@]}"; do break; done
Par contre des que je veu le mettre dans un script plus rien de marche
je le fait avec VIM

[== Indéfini ==]
#!/bin/sh
fct_menu ()
{ 
liste=(/media/*);select choix in "${liste[@]}"; do break; done
cd /media/$choix/Windows/System32/config#chntpw -l SAM
echo -n "Nom :"
read Nom
cd /media/$choix/Windows/System32/config#chntpw -u $nom SAM
}
fct_menu 

De ou vient mon erreur SVP

Merci d'avance

Le pourquoi de se script automatisé l'effacement d'un mot passe sur windows quand j'aide mes amies,

Hors ligne

#2 05-03-2015 07:34:39

IceF0x
#! Gourou Linux

Re : aide sur script pour automatisation de tache

déjà il y a un espace entre fct_menu et () que tu dois supprimer, ensuite le one liner dans un script n'est pas conseillé pour la clarté de lecture.
Je ne peux pas tester ce matin ton script pour vérifier le reste mais je regarderai selon mon emploi du temps.
sauf si d'autres lecteurs du forum trouvent une soluce.


Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

#3 05-03-2015 11:05:36

notfound
Membre

Re : aide sur script pour automatisation de tache

Hello,

Alors :

IceF0x a écrit :

déjà il y a un espace entre fct_menu et () que tu dois supprimer

Non, pas forcément, une fonction peut se déclarer ainsi. function(){} ou function (){} ou encore function name(){} (mais la dernière n'est pas standard)

Ensuite :

IceF0x a écrit :

ensuite le one liner dans un script n'est pas conseillé pour la clarté de lecture.

Ca je suis complétement d'accord sur ce point smile

Concernant le script, tu mets un shebang de /bin/sh mais tu utilises des trucs de BASH. Change le shebang
Ensuite, tu fais un read Nom et tu utilises $nom en place de $Nom.
Ensuite, c'est quoi ça 'cd /media/$choix/Windows/System32/config#chntpw -l SAM'  ? Ca veut rien dire. Tu vas dans un PATH puis -l SAM ? Explique ce que tu veux faire, c'est flou.

Le script devrait ressembler à ça :

[== Indéfini ==]
#!/bin/bash

fct_menu (){ 
    select choix in /media/*; do
        break
    done
    cd /media/"${choix}"/Windows/System32/config ; chntpw -l SAM      # Je pense ?
    read -p "Nom : " nom
    cd /media/"${choix}"/Windows/System32/config ; chntpw -u "$nom" SAM     # Je pense aussi ?
}
fct_menu 

En gros.

Dernière modification par notfound (05-03-2015 11:11:57)

Hors ligne

#4 05-03-2015 11:24:14

penthium2
Modérateur

Re : aide sur script pour automatisation de tache

pourquoi faire une fonction quand le script est si cour ?

pourquoi mettre ca sur une ligne quand tu peux le mettre sur deux  ?:

#!/bin/bash
select choix in /media/*
    do
        break
    done

cd /media/"${choix}"/Windows/System32/config 
chntpw -l SAM      
read -p "Nom : " nom
cd /media/"${choix}"/Windows/System32/config
chntpw -u "$nom" SAM

vi est mon ami pour la vie
Viperr
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn

Hors ligne

#5 05-03-2015 11:58:49

ToF62
Membre

Re : aide sur script pour automatisation de tache

alors le but de ce script est de :
Pouvoir effacé le mot de passe d'un session windows a partir de mon live usb kali
avec la commande chntpw
c'est pour cela que je doit listé le repertoire /media car d'un disque dur a un autre le nom du disque dur change (normal smile )
les données SAM est habituellement dans le répertoire / media / nom du disque / Windows / System32 / config


chntpw -l SAM                                >>> pour affiché les comptes utilisateur

chntpw -u "nom utilisateur" SAM    >>>  pour modifier les parametres

Voila notfound  ce que j'essaye de faire

Hors ligne

#6 05-03-2015 12:05:34

notfound
Membre

Re : aide sur script pour automatisation de tache

viperr a écrit :

pourquoi faire une fonction quand le script est si cour ?

Parce que c'est peut-être qu'un bout de son script ?
Puis la taille du script n'est pas un argument ...

viperr a écrit :

pourquoi mettre ca sur une ligne quand tu peux le mettre sur deux  ?

Pour la clarté, vu que y'a un cd.

Tes remarques n'apportent guère ceci dit :-)


@ToF62 :

Ok ok, c'est bien ce à quoi j'avais pensé. As-tu essayé le script que je t'ai corrigé ?
Ca devrait fonctionner  ;-)

Hors ligne

#7 05-03-2015 12:29:44

ToF62
Membre

Re : aide sur script pour automatisation de tache

oui cela fonctionne j'ai du modifié juste un truc

[== Indéfini ==]
#!/bin/bash
select choix in /media/*
    do
        break
    done

cd /media/"${choix}"/Windows/System32/config 
chntpw -l SAM      
read -p "Nom : " nom
cd /media/"${choix}"/Windows/System32/config
chntpw -u "$nom" SAM

par

#!/bin/bash

fct_menu (){ 
    select choix in /media/*; do
        break
    done
    cd "${choix}"/Windows/System32/config ; chntpw -l SAM      # Je pense ?
    read -p "Nom : " nom
    cd "${choix}"/Windows/System32/config ; chntpw -u "$nom" SAM     # Je pense aussi ?
}
fct_menu 

Merci beaucoup de votre aide

Hors ligne

#8 05-03-2015 14:54:08

IceF0x
#! Gourou Linux

Re : aide sur script pour automatisation de tache

pourquoi pas directement

#!/bin/bash

cd /media/*/Windows/system32/config/
chntpwn -l SAM
read -p "Nom de la session: " SessionName
chntpwn -u $SessionName SAM

@Notfound j'ai toujours cru que le () devait être collé au nom de la fonction, autant pour moi.


Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

#9 05-03-2015 17:42:17

notfound
Membre

Re : aide sur script pour automatisation de tache

@IceF0x : Pas de soucis, on ne peut pas tout savoir sur tout ^^

Par contre, tu as raison pour ne mettre qu'un seul cd si le PATH reste le même, mais ta cmd ne marchera pas :

cd /media/*/Windows/system32/config

Car '*' ça va prendre le premier truc dans /media/ puis c'est tout. Du coup ça va faire un

cd /media/<premier truc que * va trouver/...

Enfin voila smile

Hors ligne

#10 05-03-2015 18:02:20

WangXiangzhai
Membre

Re : aide sur script pour automatisation de tache

faut peut être vérifier que chntpw de kali live cd fonctionne !

à mes derniers testes, il marchait pas en version 0.99.6-3kali3 avec windows 7.

seule la version 0.99.5-0nmu1 marchait.


PC: HP-pavilion a6227.fr | wifi: Awus036H et HWGUSB2-54 | CG: NVIDIA geforce 8400 GS | OS: Debian-8.1.0-i386 Xfce | EN TESTE kali-linux-openbox-rolling-i386.iso (KaliBang), bento-openbox-14.04.3-i386.iso et Viperr8_i686.iso

Hors ligne

#11 05-03-2015 19:24:51

IceF0x
#! Gourou Linux

Re : aide sur script pour automatisation de tache

notfound a écrit :

Car '*' ça va prendre le premier truc dans /media/ puis c'est tout. Du coup ça va faire un

cd /media/<premier truc que * va trouver/...

Enfin voila smile

J'ai vérifier avec un live DVD de kali sur un OS Windows avec une clé USB branchée et je peut te dire que c'est faux, il vas bien vérifier que le chemin est /media/*/ suivi par Windows et pas le premier répertoire, sinon la réponse aurait été chez moi no such file or directory.

Le seul risque est d'avoir plusieurs dossiers dans /media qui sont eux même suivit par un dossier nommé Windows.

La preuve en image

1425576843_capture_d_ecran_-_05032015_-_18_32_58.png

Et pour ne laisser aucun doute j'ai fait un cat du script suivi d'un ls du répertoire /media

1425576882_capture_d_ecran_-_05032015_-_18_33_35.png


Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

#12 05-03-2015 19:42:19

ToF62
Membre

Re : aide sur script pour automatisation de tache

WangXiangzhai tu as raison j'ai essayé sur un windows 7 avec une version
chntpw version 0.99.6 ca ne marche pas (juste effacé le password) meme pire ca masque directement utilisateur sur lequel je fait les essais, je vais approfondir cela, je vous tien au courant

Pour info chntpw: change password of a user in a NT/2k/XP/2k3/Vista SAM file

Dernière modification par ToF62 (05-03-2015 19:43:42)

Hors ligne

#13 05-03-2015 19:56:10

IceF0x
#! Gourou Linux

Re : aide sur script pour automatisation de tache

Pour seven j'utilise hirens boot il y a un outil beaucoup plus efficace pour seven en GUI mais plus rapide.


Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

#14 05-03-2015 20:17:20

ToF62
Membre

Re : aide sur script pour automatisation de tache

Merci pour info Icefox
j'ai vu aussi  kon boot la derniere version de celui ci et payant http://www.piotrbania.com/all/kon-boot/ pour tout windows aparament

Hors ligne

#15 06-03-2015 00:11:48

WangXiangzhai
Membre

Re : aide sur script pour automatisation de tache

il y a une version 0.99.5-0+nmu1 de chntpw dans la boite à outils.

qui marche avec windows 7 normalement.

1425593404.png

https://doc.ubuntu-fr.org/boite-a-outils


PC: HP-pavilion a6227.fr | wifi: Awus036H et HWGUSB2-54 | CG: NVIDIA geforce 8400 GS | OS: Debian-8.1.0-i386 Xfce | EN TESTE kali-linux-openbox-rolling-i386.iso (KaliBang), bento-openbox-14.04.3-i386.iso et Viperr8_i686.iso

Hors ligne

#16 06-03-2015 09:28:41

Dam's
Membre

Re : aide sur script pour automatisation de tache

notfound a écrit :
cd /media/<premier truc que * va trouver/ ...

Enfin voila smile

`/media/*/Windows/system32/config` va être développé par  la liste de tous les fichiers qui match

Dernière modification par Dam's (06-03-2015 09:31:29)

Hors ligne

#17 06-03-2015 12:16:31

notfound
Membre

Re : aide sur script pour automatisation de tache

@IceF0x : Oui bien sur, si y'a un repetoire qui match */Windows/etc... ça va fonctionner, mais si c'est pas le cas ou si y'en a plusieurs, ça va merder.
Donc autant coder proprement dès le début et laisser le choix à l'utilisateur.
Enfin après, libre à vous de scripter salement  tongue

Hors ligne

Pied de page des forums