Vous n'êtes pas identifié(e).
Pages : 1
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
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
Hello,
Alors :
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 :
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
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
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
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn
Hors ligne
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 )
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
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 ...
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
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
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
@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
Hors ligne
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
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
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
Et pour ne laisser aucun doute j'ai fait un cat du script suivi d'un ls du répertoire /media
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
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
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
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
il y a une version 0.99.5-0+nmu1 de chntpw dans la boite à outils.
qui marche avec windows 7 normalement.
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
cd /media/<premier truc que * va trouver/ ...
Enfin voila
`/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
@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
Hors ligne
Pages : 1