mikael2235 Posté(e) le 4 août 2010 Auteur Posté(e) le 4 août 2010 si tu as des lecteurs pointant sur le syno, il y aura un message d'erreur si la cible n'est pas accessible. Oui tout 0 Citer
Pim Posté(e) le 4 août 2010 Posté(e) le 4 août 2010 Bonjour, Cela ne fait pas partie des attributions du Syno. A toi de développer un petit script VBS qui teste la connexion et affiche une MsgBox au milieu de l'écran ! Ça peut être utile... Je verrais à l'occasion, quand j'aurais le temps, et l'envie... Bonne soirée. 0 Citer
cricx Posté(e) le 5 août 2010 Posté(e) le 5 août 2010 Je pense que c'est plutot cette solution que je cherche !!! Mais le VBS .... http://claudiosoft.online.fr/frmsgbox.html 0 Citer
Pim Posté(e) le 5 août 2010 Posté(e) le 5 août 2010 (modifié) Mais comment que je suis trop gentil Voici ton code VBS : Dim v_IP Dim v_ping_cmd, v_ping, v_etat, v_icon v_IP = "192.168.1.10" Set WshShell = CreateObject ("Wscript.shell" ) v_ping_cmd = "cmd /c ping.exe -n 1 " & v_IP & " | find /I " & CHR(34) & "Impossible" & CHR(34) v_ping = WshShell.Run(v_ping_cmd, 0, TRUE) Select Case v_ping Case 0 : v_etat = "hors ligne" v_icon = "16" Case 1 : v_etat = "en ligne" v_icon = "64" Case Else v_etat = "### ERREUR DU SCRIPT ###" v_icon = 16 End Select ' MsgBox "v_ping_cmd = " & v_ping_cmd, 64, "DEBUG" Msgbox "Le NAS à l'adresse " & v_IP & " est actuellement " & v_etat, v_icon, "Test de connectivité au NAS" Tu n'as plus qu'à copier cela dans un fichier texte dont tu renommeras l'extension en VBS. Change bien sur l'IP de ta machine à la troisième ligne v_IP = " x.x.x.x". Tu mets ça dans ton répertoire de démarage et ça roule ! Je viens de tester et ça fonctionne avec une icone d'information quand c'est bon et une croix rouge quand c'est caca. EDIT : étrangement en fait j'ai oublié de tester un IP KO, et ça ne marche pas je postasse mon erreur et je reviens ^^ EDIT2 : C'est fixé ! Modifié le 5 août 2010 par Pim 0 Citer
CaptainIgloo Posté(e) le 6 août 2010 Posté(e) le 6 août 2010 En tant que puriste du scripting WSH, je proposerai un ping WMI plutôt qu'un shell ... Le résultat sera le même mais c'est plus propre :-)) POUR EXEMPLE 0 Citer
mikael2235 Posté(e) le 7 août 2010 Auteur Posté(e) le 7 août 2010 (modifié) Mais comment que je suis trop gentil Voici ton code VBS : EDIT2 : C'est fixé ! Salut Pimusu, et les autres. Merci pour ton code, il fonctionne parfaitement. Est-ce qu'il est possible de tester la connection à distance, par ftp par exemple ? Et si dans le script, il trouve le Syno éteint, alors il teste par FTP et renvoie un message "accessible uniquement par ftp", et sinon, le SYNO est déconnecté. Merci Je viens de tester avec le même script en remplacant l'adresse ip par ; mon domaine.com:5000. Il est me répond qu'il est bien connecté (normal il l'est vraiment). Mais quand je fais un ping via cmd sur cette même adresse. ça ne répond pas. bizarre ! Modifié le 7 août 2010 par mikael2235 0 Citer
mikael2235 Posté(e) le 7 août 2010 Auteur Posté(e) le 7 août 2010 J'ai modifié comme ceci. Mais il me met tout le temps "... ACCESSIBLE UNIQUEMENT PAR FTP", même en local. Quelque chose dans mes conditions ne doit pas lui plaire. Dim v_IP Dim v_ping_cmd, v_ping, v_etat, v_icon v_IP = "192.168.0.2" Set WshShell = CreateObject ("Wscript.shell" ) v_ping_cmd = "cmd /c ping.exe -n 1 " & v_IP & " | find /I " & CHR(34) & "Impossible" & CHR(34) v_ping = WshShell.Run(v_ping_cmd, 0, TRUE) Select Case v_ping Case 0 : v_etat = "déconnecté du réseau local" v_icon = "16" Case 1 : v_etat = "connecté au réseau local" v_icon = "64" Case Else v_etat = "### ERREUR DU SCRIPT ###" v_icon = 16 End Select ' MsgBox "v_ping_cmd = " & v_ping_cmd, 64, "DEBUG" If Case1 Then Msgbox "Le Serveur SYNOLOGY à l'adresse " & v_IP & " est actuellement " & v_etat, v_icon, "Test de connectivité au NAS" Else Dim v_IP2 Dim v_ping_cmd2, v_ping2, v_etat2, v_icon2 v_IP2 = "mondomaine.com:5000" Set WshShell = CreateObject ("Wscript.shell" ) v_ping_cmd2 = "cmd /c ping.exe -n 1 " & v_IP2 & " | find /I " & CHR(34) & "Impossible" & CHR(34) v_ping2 = WshShell.Run(v_ping_cmd2, 0, TRUE) Select Case v_ping2 Case 0 : v_etat2 = "déconnecté du réseau distant" v_icon2 = "16" Case 1 : v_etat2 = "connecté au réseau distant, mais ACCESSIBLE UNIQUEMENT PAR FTP" v_icon2 = "64" Case Else v_etat2 = "### ERREUR DU SCRIPT ###" v_icon2 = 16 End Select ' MsgBox "v_ping_cmd2 = " & v_ping_cmd2, 64, "DEBUG" End If If Case1 Then Msgbox "Le Serveur SYNOLOGY à l'adresse " & v_IP2 & " est actuellement " & v_etat2, v_icon2, "Test de connectivité au NAS" Else Msgbox "Le Serveur SYNOLOGY à l'adresse " & v_IP2 & " est actuellement " & v_etat2, v_icon2, "Test de connectivité au NAS" End If Merci pour votre aide. 0 Citer
Pim Posté(e) le 7 août 2010 Posté(e) le 7 août 2010 Salut Pimusu, et les autres. Merci pour ton code, il fonctionne parfaitement. De rien. Est-ce qu'il est possible de tester la connection à distance, par ftp par exemple ? Et pour cela tu veux tester quoi ? Qu'un compte se connecte bien ? (avoir les infos d'un compte en clair dans le code c'est moche !) Juste tester que le port 21 est ouvert ? (connexion en français, connection en anglais ) Et si dans le script, il trouve le Syno éteint, alors il teste par FTP et renvoie un message "accessible uniquement par ftp", et sinon, le SYNO est déconnecté. Je ne vois pas comment, tout en ayant le syno éteint, on pourrait avoir le service FTP opérationnel ! Je viens de tester avec le même script en remplacant l'adresse ip par ; mon domaine.com:5000. Il est me répond qu'il est bien connecté (normal il l'est vraiment). Mais quand je fais un ping via cmd sur cette même adresse. ça ne répond pas. bizarre ! Le "PING" ne gère pas les ports il me semble -> je confirme, PING n'utilise pas de protocole nécessitant un port donc il ne les gère pas. J'ai essayé de bricoler ceci, mais ma 1ere condition ne doit pas être bonne ! Et il me met toujours connecté au réseau local, alors que je ne suis pas chez moi. Merci C'est même pas du bricolage là, c'est du vandalisme ! Me dit pas que tu as mis tout ça dans un même fichier ? Ensuite, c'est quoi ça ? If Case1 Then Msgbox "Le Serveur SYNOLOGY à l'adresse " & v_IP & " est actuellement " & v_etat, v_icon, "Test de connectivité au NAS" Else Msgbox "Le Serveur SYNOLOGY à l'adresse " & v_IP & " est actuellement " & v_etat, v_icon, "Test de connectivité au NAS" End If "Si Case1 (variable qui ne correspond à rien) alors faire un message sinon, faire le même message." Aucun intérêt T'as voulu faire quoi ? Arg et je n'avais pas vu le If Case1 Then Msgbox "Le Serveur SYNOLOGY à l'adresse " & v_IP & " est actuellement " & v_etat, v_icon, "Test de connectivité au NAS" Else ... End IF A mon avis avant de te lancer dans la modif' de script à l'arrache, choppe toi un site pou débutant en VBS et essaie de comprendre les instructions utilisées. Là c'est grillé que tu ne comprends rien au déroulement du code (même si je ne l'ai pas commenté il est pas trop dur je pense) et donc forcément, quand on ne pige pas, on fait tout de travers ^^ Et pour finir faudrait indenter et commenter ce que tu fais même si je n'ai pas montré l'exemple : Dim v_IP ' Déclaration des variables... Dim v_ping_cmd, v_ping, v_etat, v_icon '...suite et fin v_IP = "192.168.1.10" ' Définition de l'adresse IP de la machine à tester Set WshShell = CreateObject ("Wscript.shell" ) ' Création de l'objet Shell v_ping_cmd = "cmd /c ping.exe -n 1 " & v_IP & " | find /I " & CHR(34) & "Impossible" & CHR(34) ' commande de test v_ping = WshShell.Run(v_ping_cmd, 0, TRUE) ' exécution de la commande Select Case v_ping ' Traitement des différents cas du ping Case 0 : ' si le string "Impossible" est détecté dans la réponse du ping v_etat = "hors ligne" v_icon = "16" Case 1 : ' si il ne l'est pas v_etat = "en ligne" v_icon = "64" Case Else ' si autre v_etat = "### ERREUR DU SCRIPT ###" v_icon = 16 End Select ' Fin du traitement des cas du ping ' MsgBox "v_ping_cmd = " & v_ping_cmd, 64, "DEBUG" ' message de débeug à commenter uen fois terminé Msgbox "Le NAS à l'adresse " & v_IP & " est actuellement " & v_etat, v_icon, "Test de connectivité au NAS" ' Message affiché à l'utilisateur Allez allez, on se met au boulot là ! 0 Citer
Pim Posté(e) le 7 août 2010 Posté(e) le 7 août 2010 En tant que puriste du scripting WSH, je proposerai un ping WMI plut 0 Citer
Pim Posté(e) le 7 août 2010 Posté(e) le 7 août 2010 Ok sorry pour le vandalisme ! Ben c'est normal, je ne te l'ai pas reproché ^^ On casse toujours un objet pour savoir comment il fonctionne la première fois ^^ Ensuite on arrive à le démonter et à le remonter. Et enfin on en fabrique un soi-même ! Tiens bon ! PS : rien à voir, elle est bien ta camIP ? 0 Citer
mikael2235 Posté(e) le 7 août 2010 Auteur Posté(e) le 7 août 2010 (modifié) Re Pimusu, Ce matin je n'avais pas le temps de répondre à ton message. Alors je vais le faire maintenant et mettre des numéros plutôt que de re-citer les messages. 1°/ Je voudrais simplement tester que le Synology est sous-tension. Après qu'un compte se connecte, bon, si il est en marche alors le compte se connectera où alors il y a un autre problème (coté administratif) 2°/ = n°1 Tout à fait d'accord avec toi, c'est donc pour ça que je veux juste tester qu'il est accessible (sous-tension) 3°/ Pour le PING, si il ne gère pas les ports comment peut-on faire, parce que si je mets mondomaine.com, alors il va me dire si mon routeur est connecté. 4°/ Excuse moi, mais j'étais pressé ce matin, et j'ai fais ça vite fais... Trop peut-être !!! C'est vrai que c'est pas mon métier, donc je me débrouille comme je peux. Je fais du VBA, du PHP, du CSS, mais en apprenant par moi-même, et c'est donc pas facile, je m'aide des forums comme je peux. Et je suppose que mes codes en général ne sont pas trés propre et mal indenté. Mais généralement avec plus ou moins de temps, j'arrive à les faire fonctionner. Sinon si, c'est dans le même fichier. et après réflexion et avec tes remarques : ben mon code est complètement con... 5°/ End IF , problème de syntaxe. (d'ou mes nombreuses erreurs en php... ) 6°/ Pour le code, j'ai jamais fais de VBS. ça ressemble beaucoup au VBA ! Je pensais que Case1 était la réponse du ping, mais en fait c'est "v_etat" Il aurait donc fallu que je mette If v_etat="en ligne" Then MsgBox (blablabla) .... Par contre, je ne vois pas quale est le lien entre la réponse du Ping, et v_etat ou v_icon ? PS °/ Pour la caméra, c'est la Heden VisionCam avec wifi, je l'ai payé environ euros. Je n'ai jamais reussi à faire fonctionner le wifi, je ne pense pas être une bille en informatique pourtant, ou alors c'est la cam qui à un problème. Avec l'interface web de la cam, on peut la faire tourner, gérer les comptes admin, visiteur, et donc la possibilité ou non de faire tourner la cam. La résolution n'est pas super, mais à ce prix là j'en demande pas mieux, on voit quand même trés bien ! La vision nocturne infra-rouge est parfaite, et on voit bien, ça fait une lumière plutot verte//blanche mais c'est bien. Avec le Syno Ds210j, La possibilité d'enregistrer par detection de mvt ou en continu, avec gestion du planning est interessante. C'est dommage que l'on ne puisse pas la faire tourner dans des positions prédéfinies comme prévu. Mais avec cette cam ça ne doit pas être compatible. Si tu ou vous avez d'autres questions, n'hésitez pas à me demander. Je peux aussi faire un tuto avec photos et captures d'écran mais dans quelle section ? Modifié le 7 août 2010 par mikael2235 0 Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.