Auteur Topic: Wachten met netwerk-akties tot verbinding met NAS OK is  (gelezen 22115 keer)

Offline wizjos

  • Administrator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 123
  • -Ontvangen: 181
  • Berichten: 1.996
Wachten met netwerk-akties tot verbinding met NAS OK is
« Gepost op: 28 oktober 2010, 17:02:03 »
Het blijkt een in verschillende vormen regelmatig terugkerend probleem dat het
(zeker via een WiFi verbinding) lang kan duren voordat de netwerkverbinding naar je NAS
(of een andere netwerkresource) tot stand komt, terwijl diverse programma's al proberen
van de NAS gebruik te maken.

Plerry heeft daarvoor enige tijd geleden een command-script geschreven voor het mappen van NAS netwerkdrives
waarin herhaaldelijk naar je NAS wordt gepingt, totdat dat een aantal malen succesvol is geweest,
en pas daarna d.m.v. van "net use" commando's de gewenste netwerkdrives mapt. (origineel bericht: viewtopic.php?f=70&t=4839)
Tijd om dat eens een ereplaatsje te geven.

Sla onderstaande code op in een bestand met de extensie ".cmd", verander naar behoefte de drive-letters
en folder-namen en REM of un-REM naar behoefte en sla het op in de Windows startup-folder.
Wijzig (indien relevant) in de regel "SET nas_usr=NasUserName" de "NasUserName" in de gewenste user-name op de NAS.
Denk uiteraard ook om het IP-adres (SET nas_ip=) en het eventuele password (SET nas_pwd=).

@ECHO OFF
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=192.168.1.6
rem SET nas_ip=Diskstation


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=NasUserName
REM !---- Use the next line to be prompted for the NAS-user password. Preferred solution, safe
SET /p nas_pwd=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
rem SET nas_pwd=NasPassword

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
rem 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 127.0.0.1 >NUL
REM !--- You might (?) need to change "Reply from" below for non-English Windows versions
PING -n 1 -w 200 %nas_ip% | FIND "Reply from %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 K: \%nas_ip%nas_folder1 %userdata:"=%/PERSISTENT:NO
NET USE L: \%nas_ip%nas_folder2 %userdata:"=%/PERSISTENT:NO

:almost_oef
PING -n %seconds_of_end_message% -w 1 127.0.0.1 >NUL
Deze code wordt verstrekt "as is".
Uiteraard kan het gebruikte wacht-principe ook worden gebruikt om andere programma's dan netwerkmappings pas op
te starten als de netwerkverbinding tot stand is gekomen.
Vervang hiertoe de sectie waarin de netwerkdrives middels "net use" worden gemapt door het commando om
de gewenste applicatie op te starten.
Wizjos.


DS409+    4 x WD10EADS DSM 4.2-3243       [TEST]
DS214play 1 x WD20EARX DSM 6.1.4-15217-3  [PROD]
DS1513+   5 x WD80EFZX DSM 6.1.4-15217-5  [PROD]
RT1900ac               SRM 1.1.6-6931-1   [PROD]


Is RAID hetzelfde als een backup?
Goeie schijven voor je NAS? Neem Western Digital!

Offline Gido

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 8
  • Berichten: 11
Re: Wachten met netwerk-akties tot verbinding met NAS OK is
« Reactie #1 Gepost op: 11 juli 2011, 22:54:10 »
Je kan dat ook met een policy beleid doen en een vb scriptje.

Dim objNetwork
Set objNetwork = CreateObject("WScript.Network")
If Reachable("DiskStation") Then
objNetwork.MapNetworkDrive "Z:", "\DiskStationdownloads"
Else
with CreateObject("wscript.shell")
rc = .run("net use * /delete /yes", 0, True)
end with
End If
Function Reachable(strComputer)
wmiQuery = "Select * From Win32_PingStatus Where Address = '" & strComputer & "'"
Set objWMIService = GetObject("winmgmts:\.rootcimv2")
Set objPing = objWMIService.ExecQuery(wmiQuery)
For Each objStatus In objPing
If IsNull(objStatus.StatusCode) Or objStatus.Statuscode<>0 Then
Reachable = False
Else
Reachable = True
End If
Next
End Function

Belangrijk is :

If Reachable("DiskStation") Then
objNetwork.MapNetworkDrive "Z:", "\DiskStationdownloads"

Pas de naam DiskStation aan op de naam van je NAS en uiteraard is Z: de drive letter en \DiskStationdownloads het netwerk path. Je kan uiteraard objNetwork.MapNetworkDrive bijmaken voor meer drive letters en netwerk paden.

Copieer scriptje bijvoorbeeld als opstarten.vbs naar Windows/System32

Ga naar start/uitvoeren en typ in gpedit.msc en druk op enter. Ga naar "Gebruikersconfiguratie" dan "Beheersjablonen" dan "Alle instellingen" zoek nu rechts "Deze programma's na gebruikersaanmelding starten" (dubbel click op die regel).

zie screenshots :





Als je NAS er niet is zal windows doorvliegen (zeker Window 7), is je NAS er wel dan zal hij deze netjes mee nemen tijdens het opstarten. Je netwerk (draad of draadloos) is dan al lang geïnitialiseerd.

Gido.

Offline Plerry

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 17
  • -Ontvangen: 289
  • Berichten: 1.504
  • Tom Poes, verzin een list ...
Re: Wachten met netwerk-akties tot verbinding met NAS OK is
« Reactie #2 Gepost op: 12 juli 2011, 13:30:04 »
@Gido:
Tenzij ik iets mis, lijkt het erop dat jouw vb script slechts kijkt of de bewuste
netwerkresource beschikbaar is.
* Zo ja, dan wordt de netwerkdrive gemount
* Zo niet, dan worden alle netwerkdrives verwijderd
Er wordt, naar het zich laat aanzien, dus niet gewacht tot de netwerkresource (eindelijk ...) beschikbaar is.
Citaat van: "Gido"
...Je netwerk (draad of draadloos) is dan al lang geïnitialiseerd.
Met Windows 7 is dat mogelijk het geval, maar met XP of Vista voor WiFi bijna zeker niet.
Daar kan het tot enkele minuten duren voor eindelijk WiFi (incl bijbehorende driver) aktief is.
En daar zat nu net het probleem.
Zeker met een laptop van het werk, waarop de IT afdeling eerst een schier eindeloze reeks aan services laat opstarten kan het beschikbaar zijn van WiFi vaak excessief lang duren ... :( .
Maar, uiteraard zou je met een aanpassing in je vb-script ook daar die wachtfunctie kunnen toevoegen.
 
Citaat van: "Gido"
Je kan dat ook met een policy beleid doen en een vb scriptje.
...Ga naar start/uitvoeren en typ in gpedit.msc en druk op enter. ...
Of je dit middels policy kan doen hangt af van de Windows versie die je hebt (bij bijv. een "Home" versie niet) en,
bij bijv. een laptop van het werk, van de bevoegdheden die de systeembeheerder je heeft toegekend.
Als alternatief voor het gebruik van de policy kan je het script bestand ook in de Startup folder zetten.

Plerry
There are only 10 kinds of people: ... those who understand binary, and those who don't.

Offline Gido

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 8
  • Berichten: 11
Re: Wachten met netwerk-akties tot verbinding met NAS OK is
« Reactie #3 Gepost op: 12 juli 2011, 14:35:41 »
Citaat
Er wordt, naar het zich laat aanzien, dus niet gewacht tot de netwerkresource (eindelijk ...) beschikbaar is

Tegen de tijd dat Windows zo ver is deze policy uit te voeren moet het netwerk draad of draadloos beschikbaar zijn, als dat niet zo is zit er wel een erg slechte WiFi kaart in de pc (notebook). Alle andere programma's worden van te voren gestart dus maakt niet uit wat je op de pc hebt staan.

Ik gebruik altijd Windows 7 Pro of Ultimate dus inderdaad de policy editor is niet aanwezig in de home versies, daar sta ik helaas niet altijd bij stil.

Gido.

Martijn85

  • Gast
Re: Wachten met netwerk-akties tot verbinding met NAS OK is
« Reactie #4 Gepost op: 21 september 2011, 08:51:46 »
Citaat van: "Plerry"
Met Windows 7 is dat mogelijk het geval, maar met XP of Vista voor WiFi bijna zeker niet.
Daar kan het tot enkele minuten duren voor eindelijk WiFi (incl bijbehorende driver) aktief is.
En daar zat nu net het probleem.

Dit kun je oplossen door het script nog niet gelijk uit te laten voeren bij het opstarten.

Voeg dit toe in je VBScript (bovenaan), de tijd is in milliseconden:

WScript.Sleep 15000
Citaat van: "Gido"
Citaat
Ik gebruik altijd Windows 7 Pro of Ultimate dus inderdaad de policy editor is niet aanwezig in de home versies, daar sta ik helaas niet altijd bij stil.

Voor de de mensen die een Home editie hebben van Windows kunnen het heel makkelijk laten opstarten door het script te kopiëren naar:

Windows XP: C:Documents and Settings<username>Menu StartProgramma'sOpstarten
Windows Vista & 7: C:Users<username>AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup

Dit kun je doen bij elke versie van Windows, hierdoor heb je de gpedit.msc niet nodig. Ook een beetje overbodig voor de thuis gebruikers :)

Offline Plerry

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 17
  • -Ontvangen: 289
  • Berichten: 1.504
  • Tom Poes, verzin een list ...
Re: Wachten met netwerk-akties tot verbinding met NAS OK is
« Reactie #5 Gepost op: 21 september 2011, 11:03:16 »
Citaat van: "Martijn85"
...Dit kun je oplossen door het script nog niet gelijk uit te laten voeren bij het opstarten.
Voeg dit toe in je VBScript (bovenaan), de tijd is in milliseconden:
WScript.Sleep 15000...
Klopt, mits die tijd maar altijd groter is dan de tijd die het duurt om de verbinding met je NAS (of sowieso je netwerk) tot stand te brengen.
En daar zat/zit nu net het probleem, vooral in geval van de combinatie van XP en WiFi.
XP stamt nog uit de tijd van vóórdat WiFi populair werd. Wat betreft de volgorde van opstarten hangt de WiFi interface en het laden van de bijbehorende drivers aan de achterste mem. Voeg daar voor je werk-laptop nog een IT afdeling aan toe die een schier eindeloze reeks aan services en taken laat opstarten, en je zit aan een tijd van (ongelogen!) ruim 5 minuten totdat je WiFi netwerkverbinding eindelijk tot stand komt, en dan pas gemeten vanaf het moment dat je sowieso pas iets kan beginnen te doen. Maar, ook zonder een IT afdeling die de boel erger maakt, duurt het in XP doorgaans zeer veel langer dan 15 seconden voor WiFi aktief en verbonden is.
De essentie van mijn batch-script is dat je frequent (bijv. elke 5 seconden) controleert of je netwerkverbinding al tot stand is gekomen, en zodra dat het geval blijkt je netwerkdrives mount.
Je hoeft dan dus niet langer te wachten dan noodzakelijk. En bij een wachttijd van vele minuten is dat belangrijk ...
Ik doe dat in een batch-script, maar ongetwijfeld is zoiets ook in een VB-script te maken.

Citaat van: "Martijn85"
...Voor de de mensen die een Home editie hebben van Windows kunnen het heel makkelijk laten opstarten door het script te kopiëren naar:
Windows XP: C:Documents and Settings<username>Menu StartProgramma'sOpstarten
Windows Vista & 7: C:Users<username>AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup   ...
Moet het script voor alle gebruikers gelden, dan kan je voor XP <username> vervangen door All Users:
Windows XP: C:Documents and SettingsAll UsersMenu StartProgramma'sOpstarten
Voor Vista & 7 zal iets vergelijkbaars gelden.

Plerry
There are only 10 kinds of people: ... those who understand binary, and those who don't.

Offline riji

  • Bedankjes
  • -Gegeven: 48
  • -Ontvangen: 2
  • Berichten: 200
Re: Wachten met netwerk-akties tot verbinding met NAS OK is
« Reactie #6 Gepost op: 26 september 2011, 12:13:21 »
@ Plerry,

Zou het programmaatje ook aanpasbaar zijn voor het probleem waar ik nu al maanden mee sukkel met mijn DS411+

" error 64 Specified Network Name is no longer available "

Ik gebruik SpeedCommander (maar met WindowsExplorer is het eender) en bij het kopiëren of verplaatsen
van bestanden van mijn PC (W7-ultimate ENG) naar mijn NAS loop ik regelmatig tegen deze fout aan.

De opdracht begint vlot maar stopt dan (en SpeedCommander "hangt") en dan moet ik een hele tijd
wachten tot de foutmelding verschijnt.

Zelf heb ik altijd gedacht dat de fout met mijn WD-EARS schijven te maken had met RAID5,
omdat de fout bijna altijd optreedt nadat er lange tijd niet meer naar de NAS geschreven is.
Ik heb tevergeefs geprobeerd om mijn hibernate-tijd te verhogen.
Ik had met dezelfde netwerkapparaten de fout niet met mijn 207+

Ik heb tevergeefs hulp gevraagd aan Synology-support, ondanks dat ze beslist hun best deden.

Zelf had ik gedacht dat bij de copy  opdracht de parameter
/z  (copies network files in restartable mode) soelaas zou kunnen brengen.

Zowel voor die aanpassing als voor een aanpassing aan uw opdracht weet ik niet
hoe ik dit specifiek moet uitvoeren voor het kopiëren/verplaatsen binnen SpeedCommander.
(Ik ben nog iemand uit het DOS-tijdperk)

Weet iemand dit? Ik sukkel nu al maanden met die fout.

Overweging: misschien zou het programma makkelijker aanpasbaar zijn op het niveau van het starten
van de globale toepassing (SpeedCommander), maar dan denk ik dat mijn NAS altijd zou moeten
actief zijn als ik mijn PC gebruik, wat nu lang niet altijd het geval is.

Offline Plerry

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 17
  • -Ontvangen: 289
  • Berichten: 1.504
  • Tom Poes, verzin een list ...
Re: Wachten met netwerk-akties tot verbinding met NAS OK is
« Reactie #7 Gepost op: 27 september 2011, 09:54:08 »
Citaat van: "riji"
@ Plerry,
Zou het programmaatje ook aanpasbaar zijn voor het probleem waar ik nu al maanden mee sukkel met mijn DS411+ ...
Het enige antwoord dat ik nu kan geven is: misschien  :mrgreen:

Je kan pas gericht werken aan de oplossing van een probleem als de oorzaak van het probleem bekend of achterhaald is. Aan de hand van je beschrijving wordt die oorzaak me vooralsnog niet duidelijk.
Denkbare oorzaken zijn o.a.
  • Hibernation van de HD(s) in je NAS
  • Het wegvallen of niet in stand houden van je netwerkverbinding naar je NAS.(bedraad of WiFI?
  • ...
Maar, het lijkt dus van belang dat eerst te achterhalen

Plerry
There are only 10 kinds of people: ... those who understand binary, and those who don't.

Offline riji

  • Bedankjes
  • -Gegeven: 48
  • -Ontvangen: 2
  • Berichten: 200
Re: Wachten met netwerk-akties tot verbinding met NAS OK is
« Reactie #8 Gepost op: 27 september 2011, 10:30:01 »
Dank voor dit vlugge antwoord.
Ik werk met een bedraad netwerk en ik heb tevergeefs geëxperimenteerd met hibernate instellingen.
Ik zie maar één oplossing meer (vooraleer ik nieuwe hardware koop): RAID5 opgeven en met 4 losse schijven werken.

Offline Plerry

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 17
  • -Ontvangen: 289
  • Berichten: 1.504
  • Tom Poes, verzin een list ...
Re: Wachten met netwerk-akties tot verbinding met NAS OK is
« Reactie #9 Gepost op: 27 september 2011, 13:12:55 »
Meestal blijkt de oorzaak iets triviaals. Maar helaas blijkt dat meestal pas achteraf ...  :(
Citaat van: "riji"
...Ik zie maar één oplossing meer (vooraleer ik nieuwe hardware koop): RAID5 opgeven en met 4 losse schijven werken.
Ik kan me nauwelijks indenken dat je hardware of het gebruik van Raid5 de oorzaak is van de problemen.
Waarschijnlijk een software setting, maar waar (PC of NAS) en welke dan ...
Heb je andere PCs/laptops waarmee het wel probleemloos werkt?

Plerry
There are only 10 kinds of people: ... those who understand binary, and those who don't.

Offline riji

  • Bedankjes
  • -Gegeven: 48
  • -Ontvangen: 2
  • Berichten: 200
Re: Wachten met netwerk-akties tot verbinding met NAS OK is
« Reactie #10 Gepost op: 27 september 2011, 13:43:50 »
Ook dit heb ik geprobeerd, nl. laptop van mijn vrouw, zelfde probleem.
Ik heb eigenlijk alles tevergeefs geprobeerd.
Ik had het probleem niet met mijn ds207+ met dezelfde netwerkuitrusting;
enkel gebruikte ik toen geen jumbo frames (9K).
Overigens zonder die jumbo frames brengt mijn 411+ er niets van terecht
wat transfersnelheid betreft.
Ik ben intussen bezig met 4 basic volumes te maken...

Offline riji

  • Bedankjes
  • -Gegeven: 48
  • -Ontvangen: 2
  • Berichten: 200
Re: Wachten met netwerk-akties tot verbinding met NAS OK is
« Reactie #11 Gepost op: 01 oktober 2011, 15:15:46 »
Ik ben herbegonnen met mijn ds411+ met 4 basic (eenvoudige) volumes ipv RAID5.
Ik heb intussen de typische situaties meegemaakt waarbij gewacht moet worden tot de syno klaar is,
maar in tegenstelling tot vroeger blijft fout 64 nu uit en wordt de schrijfbewerking na enige tijd uitgevoerd.
Ik denk dat ik eindelijk van die vervelende error 64 af ben.
Het probleem kon natuurlijk liggen aan een of andere software instelling, maar ik was voorheen al tevergeefs herbegonnen met windows en met de synology; daarom houd ik het op RAID5 in combinatie met de WD20EARS schijven.

Offline riji

  • Bedankjes
  • -Gegeven: 48
  • -Ontvangen: 2
  • Berichten: 200
Re: Wachten met netwerk-akties tot verbinding met NAS OK is
« Reactie #12 Gepost op: 07 oktober 2011, 10:48:51 »
Mijn hoop was ijdel: nog altijd error 64.
Misschien een nieuwe router (E4200 Linksys?) kopen om de D-Link switch te vervangen?

Offline Robert Koopman

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 272
  • -Ontvangen: 1802
  • Berichten: 10.985
    • http://www.dwvbb.nl
Re: Wachten met netwerk-akties tot verbinding met NAS OK is
« Reactie #13 Gepost op: 07 oktober 2011, 11:53:52 »
Ik heb die NAS met een raid5 configuratie én ook die router.
De genoemde problemen zijn mij totaal onbekend.
Maar D-Link is toch een goed merk, waarom zou het juist aan dat apparaat liggen?
Blijft een lastig probleem, waar zit precies de fout is moeilijk te achterhalen.
RS812+ : 3*WD60EFPX 6.2.4-25556 Update 7 SHR
RS814+ : 3*WD30EFRX 7.1.1-42962 Update 6 Btrfs

Offline riji

  • Bedankjes
  • -Gegeven: 48
  • -Ontvangen: 2
  • Berichten: 200
Re: Wachten met netwerk-akties tot verbinding met NAS OK is
« Reactie #14 Gepost op: 07 oktober 2011, 16:28:21 »
Ik denk nog altijd dat de syno niet vlug genoeg uit slaaptoestand komt.
Kent iemand soms een opdracht (eventueel met Putty) om dit (uit slaaptoestand halen) te realiseren?
Een andere vraag is in welke mate het schadelijk is om hibernate uit te zetten?


 

Updaten , of liever wachten?

Gestart door apekaBoard Synology DSM 5.1 en eerder

Reacties: 9
Gelezen: 3191
Laatste bericht 24 september 2008, 16:01:46
door jantjekontantje
212j of wachten op 213j?

Gestart door mrtn_88Board Aankoopadvies

Reacties: 0
Gelezen: 2219
Laatste bericht 31 december 2012, 14:13:05
door mrtn_88
Een ds418, ds918+ of wachten op de 1019+?

Gestart door melliemvdgBoard Aankoopadvies

Reacties: 8
Gelezen: 3171
Laatste bericht 07 februari 2019, 12:23:22
door ZwaaiHaai
VERPLAATST: Nieuwe NAS installeren of wachten op nieuwe provider

Gestart door BirdyBoard Aankoopadvies

Reacties: 0
Gelezen: 615
Laatste bericht 23 augustus 2023, 10:03:19
door Birdy
Ds412+ of ff wachten op de ds413

Gestart door JakesBoard Aankoopadvies

Reacties: 5
Gelezen: 3510
Laatste bericht 29 november 2012, 19:59:01
door hvb83