Synology-Forum.nl

OS Specifieke ondersteuning => Windows => Topic gestart door: boze vogel op 04 juni 2014, 15:05:10

Titel: Het command-script kan mijn nas niet pingen
Bericht door: boze vogel op 04 juni 2014, 15:05:10
Beste allemaal,

Afgelopen week heb ik een nieuwe laptop gekocht. Op mijn vaste computer met Windows 7 heb ik het bekende command-script voor het mappen van NAS netwerkdrives draaien en dat werkt perfect. Dit bestandje heb ik daarom gekopieerd en op mijn laptop gezet en het vreemde is dat dit script mijn nas niet kan pingen. Via een gewone dos-box kan ik wel mijn nas pingen, zie bijlage 1, maar via het dos-script niet, zie bijlage 2. Iemand een idee?

NAS: Synology DS 212+
OS: Windows 8.1

Bij voorbaat dank.
Titel: Re: Het command-script kan mijn nas niet pingen
Bericht door: peeweesyn op 04 juni 2014, 15:17:28
Vreemd, als een ping opdracht de destination niet kan pingen komt er gewoonlijk geen melding 'waiting for connection' , maar 'destination host unreachable'   ?

Start je het script vanuit dezelfde dosbox als de handmatige ping?  Misschien het script als Administrator uitvoeren?
Titel: Re: Het command-script kan mijn nas niet pingen
Bericht door: boze vogel op 04 juni 2014, 15:30:49
Beste Peeweesyn,

Bijlage 1 is vanuit een normale, handmatige dos-prompt en bijlage 2 is vanuit het script dat meedraait bij het opstarten, zie http://www.synology-forum.nl/windows/wachten-met-netwerk-akties-tot-verbinding-met-nas-ok-is/ (http://www.synology-forum.nl/windows/wachten-met-netwerk-akties-tot-verbinding-met-nas-ok-is/)

Groeten
Titel: Re: Het command-script kan mijn nas niet pingen
Bericht door: Briolet op 04 juni 2014, 15:38:22
Je gebruikt niet het IP, maar de DNS naam om te pingen. Kan het zijn dat die bij het opstarten nog niet gedefinieerd is?
Titel: Re: Het command-script kan mijn nas niet pingen
Bericht door: Ben(V) op 04 juni 2014, 15:43:56
Beste Peeweesyn,

Bijlage 1 is vanuit een normale, handmatige dos-prompt en bijlage 2 is vanuit het script dat meedraait bij het opstarten, zie http://www.synology-forum.nl/windows/wachten-met-netwerk-akties-tot-verbinding-met-nas-ok-is/ (http://www.synology-forum.nl/windows/wachten-met-netwerk-akties-tot-verbinding-met-nas-ok-is/)

Groeten

Je gebruikt in ieder geval niet het script uit deze post, daar staat nergens "waiting for connection" in.
Misschien moet je het het script hier even posten.
Titel: Re: Het command-script kan mijn nas niet pingen
Bericht door: boze vogel op 04 juni 2014, 15:53:12
Je gebruikt niet het IP, maar de DNS naam om te pingen. Kan het zijn dat die bij het opstarten nog niet gedefinieerd is?

Beste Briolet,

Ik heb nogmaals handmatig gepingd maar nu met het ip-adres van mijn nas: 10.0.0.2. Ziet er volgens mij goed uit.

Groeten.
Titel: Re: Het command-script kan mijn nas niet pingen
Bericht door: boze vogel op 04 juni 2014, 16:03:08
Beste Peeweesyn,

Bijlage 1 is vanuit een normale, handmatige dos-prompt en bijlage 2 is vanuit het script dat meedraait bij het opstarten, zie http://www.synology-forum.nl/windows/wachten-met-netwerk-akties-tot-verbinding-met-nas-ok-is/ (http://www.synology-forum.nl/windows/wachten-met-netwerk-akties-tot-verbinding-met-nas-ok-is/)

Groeten

Je gebruikt in ieder geval niet het script uit deze post, daar staat nergens "waiting for connection" in.
Misschien moet je het het script hier even posten.

Beste Ben(V),

Ik gebruik dit script:

@ECHO OFF
REM Edit by Wizjos 9/3/2013
REM !---- Command Script that waits until the network connection to a (local) network resource has been
REM !---- established, and only then mounts specified network locations as mapped drives.
REM !---- Useful in case setting up the network connection might take long following startup.
REM !---- This might e.g. apply to WiFi connections
REM !---- Script verified for WinXP (English version)

REM !---- Define the NAS IP-address or network name (e.g. "192.168.1.5" or "Diskstation"), but use -NO- quotes (")
REM !---- IP-address should always work; network name only when client and NAS are in the same Workgroup/Domain
SET nas_ip=10.0.0.2

REM !---- Use this section if NAS-username and/or -password differs from Windows-username and/or -password
REM !---- Omit this section ("REM" all lines) if Windows and NAS user-name and -password are identical
SET nas_usr=admin
REM !---- Use the next line to be prompted for the NAS-user password. Preferred solution, safe
REM SET /p nas_pwd=Please provide password for remote user %nas_usr% on \\%nas_ip%: ?
REM !---- Use the next line to put the NAS-user password in this file. Non-preferred, unsafe
SET nas_pwd=XXXXXXX

REM !---- Modify the following variables according to need; value always between 1 and 254 (incl)
SET /a seconds_between_pings=3
SET /a max_attempts=90
SET /a seconds_of_end_message=10
SET /a min_good_pings=3

REM !---- Use the next line if you want to delete the links to ALL mapped network drives
NET USE * /DELETE
REM !---- Use the next line(s) (and modify drive-letters) if you want to delete specific mapped network drives
REM NET USE K: /DELETE
REM NET USE L: /DELETE

SET /a attempts=1
SET /a good_pings=0
SET display=Waiting for connection to %nas_ip% .
REM !--- Mind the white-space ( ) behind the last period (.) above !

:try_again
CLS
ECHO %display%
REM !--- The following line serves as a "wait" statement
PING -n %seconds_between_pings% -w 1 %nas_ip% >NUL
REM !--- You might (?) need to change "Reply from" below for non-English Windows versions
PING -n 1 -w 200 %nas_ip% | FIND "Antwoord van %nas_ip%" >NUL
IF %ERRORLEVEL% EQU 0 (SET /a good_pings+=1)
IF %good_pings% EQU %min_good_pings% GOTO :conn_established
SET display=%display:. =.. %
SET /a attempts+=1
IF %attempts% LEQ %max_attempts% GOTO :try_again

ECHO.
ECHO Connection to %nas_ip% failed to establish within reasonable time
ECHO.
ECHO Unable to map network drive(s) to %nas_ip%
ECHO.
GOTO :almost_oef

:conn_established
ECHO.
ECHO Connection to %nas_ip% established
ECHO.
ECHO Now mapping network drive(s)

IF N%nas_usr%==N (SET userdata="") ELSE (SET userdata="/USER:%nas_usr% %nas_pwd% ")
rem also OK for XP: IF defined nas_usr (SET userdata="/USER:%nas_usr% %nas_pwd% ") ELSE (SET userdata="")
rem not OK for XP: IF EXIST %%nas_usr%% (SET userdata="/USER:%nas_usr% %nas_pwd% ") ELSE (SET userdata="")
REM !---- add line(s), change drive-letter (e.g. K:) and NAS folder-name (e.g. nas_folder1) according to need
NET USE U: \\%nas_ip%\downloads %userdata:"=%/PERSISTENT:NO
NET USE V: \\%nas_ip%\Video %userdata:"=%/PERSISTENT:NO
NET USE W: \\%nas_ip%\Photo %userdata:"=%/PERSISTENT:NO
NET USE X: \\%nas_ip%\music %userdata:"=%/PERSISTENT:NO
NET USE Y: \\%nas_ip%"\iPad Films" %userdata:"=%/PERSISTENT:NO
NET USE Z: \\%nas_ip%\Jukebox %userdata:"=%/PERSISTENT:NO
REM NET USE L: \\%nas_ip%\nas_folder2 %userdata:"=%/PERSISTENT:NO

:almost_oef
PING -n %seconds_of_end_message% -w 1 %nas_ip% >NUL

Dit script heeft Wizjos gemaakt, zie http://www.synology-forum.nl/windows/niet-alle-netwerkverbindingen-kunnen-worden-hersteld/ (http://www.synology-forum.nl/windows/niet-alle-netwerkverbindingen-kunnen-worden-hersteld/)
Titel: Re: Het command-script kan mijn nas niet pingen
Bericht door: Ben(V) op 04 juni 2014, 16:10:29
Heb je soms op deze laptop een Engelse versie van windows draaien?
Het script test op een antwoord van het ping commando en zoekt dan naar een Nederlandse tekst.
Als je een Engelse windows hebt werkt dat niet.

Misschien moet je eens in de eerste regel van het script even het "echo off" veranderen in "REM echo off", dan kun je zien waar het mis gaat.
Titel: Re: Het command-script kan mijn nas niet pingen
Bericht door: boze vogel op 04 juni 2014, 16:27:50
Heb je soms op deze laptop een Engelse versie van windows draaien?
Het script test op een antwoord van het ping commando en zoekt dan naar een Nederlandse tekst.
Als je een Engelse windows hebt werkt dat niet.

Misschien moet je eens in de eerste regel van het script even het "echo off" veranderen in "REM echo off", dan kun je zien waar het mis gaat.

Windows is Nederlands.

Zoals gevraagd, heb ik het script aangepast. Ik heb het geprobeerd met "@REM ECHO OFF" en met "REM ECHO OFF". Beide keren met dit resultaat:
Titel: Re: Het command-script kan mijn nas niet pingen
Bericht door: Ben(V) op 04 juni 2014, 18:44:10
Toch staat er in je eerste schermprintje de tekst:

Reply from 10.0.0.2 en niet
Antwoord van 10.0.0.2

Je moet dus het script veranderen zodat hij op de Engelse tekst reageert
Zie dit stukje uit je script:

REM !--- You might (?) need to change "Reply from" below for non-English Windows versions
PING -n 1 -w 200 %nas_ip% | FIND "Antwoord van %nas_ip%" >NUL

Je moet dus dat "Antwoord van " veranderen in "Reply from "
(Denk om de spatie aan het eind)

Waarom jij bij een Nederlandse versie een Engelse tekst krijg weet ik niet, zal wel iets met Language instellingen te maken hebben of met een "code Page"
Titel: Re: Het command-script kan mijn nas niet pingen
Bericht door: boze vogel op 05 juni 2014, 08:37:19
Beste Ben,

Zoals jij aangaf, heb ik het stukje tekst aangepast en het is opgelost. Dank voor je hulp, dit had ik zelf nooit kunnen ontdekken.

En hoe het zit met de taal: geen idee. Het meeste is in het Nederlands, zie bijlage, maar ik kom ook onderdelen in het Engels tegen. Maar het belangrijkste is dat het is opgelost.

Nogmaals vele malen dank hiervoor.

Groeten.
Titel: Re: Het command-script kan mijn nas niet pingen
Bericht door: Plerry op 05 juni 2014, 09:32:42
Zoals eerder al eens aangegeven zou je in plaats van "Reply from" of "Antwoord van"
ook kunnen testen op "TTL=" Dat is in ieder geval taal-onafhankelijk.
In de meeste gevallen, zeker een thuissituatie, zou dat probleemloos moeten werken.
Titel: Re: Het command-script kan mijn nas niet pingen
Bericht door: Ben(V) op 05 juni 2014, 14:09:31
Dat werkt niet want dat script zoekt dus op "Reply From 10.0.0.2" in dit geval.
Je zou dan ook het ipadres uit die regel moeten halen.

het zou dan moeten worden:
PING -n 1 -w 200 %nas_ip% | FIND "TTL" >NUL
Titel: Re: Het command-script kan mijn nas niet pingen
Bericht door: Plerry op 06 juni 2014, 13:14:23
Dat werkt niet want dat script zoekt dus op "Reply From 10.0.0.2" in dit geval.
Je zou dan ook het ipadres uit die regel moeten halen ...
Helemaal correct!
Zo bedoelde ik het uiteraard ook, maar had het niet zo opgeschreven.  :oops:

Ik zou overigens de "="achter "TTL" handhaven.
"TTL" is een wel meer gebruikte term (ook voor andere zaken dan time-to-live);
"TTL="wordt (zover ik weet) uitsluitend gebruikt in combinatie met het ping-command.