Version française
For the english version, click here.
Warning : the english text you'll find following this link might
sound a bit frenchy :-) .
NwQuota est un petit utilitaire Win32 tournant dans la taskbar,
permettant de mesurer régulièrement la quantité
d'espace disque disponible sur un lecteur réseau mappé
sur un serveur Novell. En cas de dépassement de certains
seuils, l'icône devient animé et prévient ainsi
l'utilisateur de prendre les mesures adéquates. Il permet
également d'afficher une fenêtre qui présente les
informations de quota de manière compréhensible par le
commun des mortels (par opposition à ndir /spa). Il
peut gérer aussi bien les limitations imposées au
répertoire que les limitations de volume.
Ce logiciel est ditribué selon la licence Freeware GPL,.
Aucun support ne sera effectué par l'auteur.
1.52
1.0 , février 2000 : Version de base
1.1, mars 2000 : Fonctionalités ajoutées :
Une option permet de faire
afficher la fenêtre d'information détaillée dès
que le seuil haut est franchi.
C'est fonctionalité est
activée en mettant la 5ème option de la ligne de
commande à 'y'.
P.ex nwquota H:\ 300 75 95 N Y 0 0
L'utilisateur peut désactiver l'affichage automatique de
la fenêtre à l'aide d'une case à cocher.
La fenêtre d'information détaillée contient maintenant une ligne signalant à l'utilisateur l'état (ok, seuil1, seuil2) de son quota.
NwQuota peut centraliser les alarms auprès d'un PC tournant un petit programme Java.
Le "tooltip" affiche maintenant en plus la quantité de Mo libre.
1.2, juillet 2000 :
Lorsqu'un espace terminait les paramêtre de la ligne de commande, NwQuota en concluait à une erreur et démarrait avec les paramêtres par défaut. Corrigé.
Lorsque NwQuota est démarré depuis un login script Novell, la fenêtre système "SYSTRAY" n'existe pas encore et cela provoque une erreur. Corrigé : NwQuota vérifie l'existence de cette fenêtre avant de poursuivre. Si elle n'existe toujours pas après 1 mn, il quitte.
Si le drive mappé ou le chemin UNC surveillé contenait des répertoires de plus de 8 caractères, NwQuota affichait un '?' sous Win9x : Corrigé.
Suppression de l'optimisation du code pour maximiser la vitesse : cela pouvait générer des "Access violation" dans certains cas.
Traduction en néerlandais.
1.21, juillet 2000:
Comportement différent sous WinNT et Win9x lorsque le répertoire contenait des noms longs : Corrigé.
1.3, oct 2000
Ajout de l'affichage des valeurs NDS "Account balance" pour le support de PCounter.
Ajout d'hyperlink lançant directement Netscape.
1.4, 19.10.2001
Si on utilise des valeurs différentes pour le paramètre indiquant quel chemin scanner, NwQuota peut-être lancé à plusieurs exemplaires, ce qui permet de surveiller plusieurs lecteurs réseaux.
Le quota de répertoire (sous la mention "Home Directory") tient compte maintenant des restrictions faites sur les répertoires parents.
1.41 : 22.10.2001
Le calcul du pourcentage libre était faux dans certains cas de restrictions complexes.
NwQuota ne prenait pas le focus correctement dans certains cas.
Présentation changée (correction orthographe, ...)
1.42 : 29.10.2001
Le calcul du pourcentage libre était faux dans certains cas de restrictions complexes.
1.43 : 15.11.2001
Les seuils peuvent être spécifiés en utilisant des valeures absolues OU relatives.
1.5 : 5.6.2002
Mise à jour vers la version 1.45 de la classe CTrayNotifyIcon
Ajout dans la doc d'une recommandation de ne pas lancer nwquota.exe depuis un lecteur réseau.
nwquota.exe est maintenant lié dynamiquement, d'où un exécutable plus petit (~80k) mais une dépendance sur les dll MFC (mfc42.dll). Cela ne devrait pas poser de problème, cette dll étant présente normalement sur toutes les version de Windows récentes.
options de compilation mise sur "defaut" et non plus "minimize size", ce qui semblait provoquer des plantées de nwquota sur certaines versions de windows (???).
1.51 : 9.9.2002 :
Traduction en tchèque.
Changement de licence : passage à une licence de type "GPL anti-mines".
1.52 : 16.10.2003 :
Changement de licence : retour à GPL simple, car personne n'a deigné verser de l'argent à Handicap International.
Nettoyer un peu le code.
Migrer les paramêtres de la ligne de commande vers un fichier .ini
Serveur : NW4.11 / SP6a / SP8a, IPX + NW5.1 / SP3 / IP et/ou IPX
Client :
Windows 95 / 98 : clients 2.2 à 3.2
Windows NT4.0 : clients 4.6 et 4.7
Windows 2000 : client 4.7
Windows XP
(english users : don't worry, nwquota.exe will show english dialogs if you are running an non french/german/dutch version of Windows)
La barre des tâches
Les divers icônes de la
barre des tâches
Le tooltip
La fenêtre d'information
détaillée
La centralisation des alames
<TO_FILL!!!>
nwquota.exe
nwquota H:\ 300 75 95 % N Y 129.194.34.5 48000
^
^ ^ ^ ^ ^ ^
^ ^
Param #
1 2 3 4 5 6 7
8 9
Paramêtre |
Description |
1 |
Lecteur réseau que NwQuota doit surveiller. Il doit évidemment pointer sur un mapping Novell, faute de quoi, NwQuota affichera un point d'interrogation. |
2 |
Délai en seconde entre deux interrogation du serveur par NwQuota. La valeur par défaut de 5 mn (300s) donne de bons résultats. |
3 |
Seuil bas : Une fois que la place occupée par les donnée sur le lecteur à surveiller atteint ce seuil, NwQuota affiche un signal d'avertissement à l'utilisateur. A partir de la version 1.43, ce seuil peut désigner selon la valeur du paramêtre 5 un pourcentage ou une valeur absolue en Mb. |
4 |
Seuil haut en pourcent : idem seuil bas, mais il s'agit cette fois du seuil à partir duquel NwQuota affiche un message de danger. |
5 |
Ce paramêtre spécifie si les seuils définit dans les paramêtres 3 et 4 sont relatifs ou absolus :
|
6 |
<Y|N> :
|
7 |
<Y|N> :
|
8 |
Adresse IP où reporter les alarmes :
|
9 |
Port IP où reporter les alarmes :
|
Lancé sans paramêtres, NwQuota s'initialise comme si il était lancé avec les paramêtres suivant : nwquota H:\ 300 75 95 N N 0 0
nwquota.exe
NwQuota démarre
avec les valeur par défaut : il restera dans le systray,
scanant le H:\ toutes les 5 mn, en utilisant 75% et 95% comme seuil.
Il ne s'exprimera quand changeant l'aspect de l'icône dans le
systray, sans afficher spontanément la fenêtre
détaillée lors le second seuil est franchi.
nwquota.exe L:\ 300 80 95 % N Y
207.46.131.130 48000
NwQuota scannera le lecteur L:\ toutes les
5mn. Lorsque le seuil haut sera franchi, il affichera une fenêtre
indiquant à l'utilisateur l'état de son quota et
enverra un alerte vers la machine d'adresse IP 207.46.131.130 sur le
port 48000
nwquota H:\ 300 75 95 % Y N 0 0
NwQuota démarre, scan le H:\ affiche la fenêtre
d'information détaillée et quitte lorsque
l'utilisateur cliquer sur 'ok'.
nwquota \\serveur\volume\dir 300 75 95 % Y N 0 0
nwquota H:\ 300 15 5 A N N 0 0
NwQuota scan H:\ toutes
les 5 mn. Le premier seuil sera franchi lorsqu'il reste moins de
15Mb d'espace libre, puis le second ("danger - rouge")
sera franchi lorsqu'il ne reste plus que 5 Mb.
nwquota L:\
Nombre de
paramêtre est insuffisant, nwquota utilisera les même
paramêtres par défaut que si il était lancé
avec NwQuota.exe sans paramêtre.
nwquota.exe L:\ 300 80 95 % N Y 207.46 48000
Adresse IP
incorrect, NwQuota démarrera quand même mais ne
reportera rien au PC distant.
Si vous avez des problèmes pour que NwQuota prenne en compte les paramêtres de démarrage, essayer de tapper la ligne de commande qu'avec des majuscules.
Lorsque NwQuota est lancé avec les options de report
d'alarmes, il envoit un packet de type UDP vers l'adresse IP de
cible. Il suffit de faire tourner un petit logiciel serveur
implémenté en Java, ce qui permet de garder un trace
des utilisateurs arrivant dangereusement proche de leur quota.
Note de dernière minute : Une version exécutable (Win95/98/NT) sans machine virtuelle Java est maintenant disponible dans le répertoire daemon\bin de l'archive. Attention, le fichier dll inclu (snjrt11.dll) doit être inclus dans le même répertoire que l'exécutable.
Avoir un PC/Station Unix/Mac tournant une machine virtuelle Java
et possédant une adresse IP.
Lui Copier NwQuotaD.class qui
se trouve dans le répertoire 'daemon' de l'archive de NwQuota,
ou recompiler NwQuotaD.java
java NwQuotaD NoPort <Y|N>
<optionel : filtre>
^ ^
^
param #
1 2
3
Paramêtre |
Description |
1 |
Numéro de port : celui-ci doit correspondre avec l'option numéro 9 de NwQuota.exe |
2 |
Reporter les alertes Danger seulement ? |
3 |
Option : Filtre. Le filtre ne fait pas de différence
entre les majuscules et minuscules. Example : |
Les alarmes apparaîtront à la console et seront
inscrite dans un fichier nwquotalog.txt du répertoire
en cours.
Le fichier nwquotalog.txt pourra ensuite facilement
être importer dans Excel afin de faciliter la consultation des
données.
java NwQuotaD 48000 Y +di.administ.bastions.unige
java NwQuotaD 48000 Y -etudiants
java NwQuotaD 48000 N
Plusieurs utilisateurs se sont inquiétés de savoir si NwQuota n'allait pas générer trop de traffic si il est installé sur de nombreux PC. L'utilisation d'un analyseur de protocol nous donne les résultats suivants :
A chaque double-click sur l'icône ou à chaque période de mesure (par défaut : 5mn), le traffic suivant est généré
Connection en "pure-IP" :
Paquets unicast émis : 18. Taille totale : 1522 octets.
Paquets unicast reçus: 14. Taille totale : 1183 octets.
Le tout prenant (dans ma configuration) 240ms. On constate donc
que l'impact est négligeable.
Il es recommandé
de lancer nwquota.exe depuis un lecteur local ! En effet, lorsque
l'icône de nwquota clignote, ceci génèrera pas
mal de traffic réseau si nwquota.exe est sur un lecteur
réseau. En effet, à chaque clignotement, les ressources
graphiques de l'icône sont chargées depuis l'exécutable.
Ce programme est distribué sous licence GPL, veuillez donc lire attentivement : http://www.linux-france.org/article/these/gpl.html.
Ne pas utiliser l'optimisation de vitesse du code, cela peut provoquer des plantées du programme.
Il y a deux versions des ressources, anglaises et françaises, que vous pourrez adapter pour répondre à vos besoins. Attention, il semble que les deux versions sont inclues dans l'exécutable : pour les sélectionner "Paramêtres > Paramêtre régionaux > Français" ou "Paramêtres > Paramêtre régionaux > Français", c'est pourquoi un seul exécutable est inclus dans la distribution.
Environnement : Visual C++ 6.0 english Service Pack 3
Librairies :
Novell NDK for C (dépendances à inclure : calwin32.lib clxwin32.lib)
CTrayNotifyIcon v1.4 class. (http://indigo.ie/~pjn/)
CToken class (case@dcs.kcl.ac.uk)
Classes principales :
CMainFrame
CTrayApp
Le fichier zip contenant la présente documentation, les sources et les exécutables, se trouvent sur http://www.unige.ch/~burdetj/nwquota/nwquota.zip
Si vous voulez accéder directement à l'exécutable : http://www.unige.ch/~burdetj/nwquota/bin/nwquota.exe
Si vous voulez accéder directement à l'exécutable ne contenant que les ressources en langue anglaise : http://www.unige.ch/~burdetj/nwquota/bin/nwquota.eng.exe
L'exécutable contient les langues suivantes :
français
anglais
allemand
néerlandais
tchèque
Si les programme s'affiche dans la mauvaise langue, assurez-vous que vous avez bien sélectionné la langue désirée dans les paramêtres internationaux du paneau de configuration de Windows.
pjn@indigo.ie pour sa classe CTrayNotifyIcon.
case@dcs.kcl.ac.uk pour sa classe CToken.
Bert Schinkel pour sa traduction allemande.
Ard Blenke pour sa traduction néerlandaise.
Terry Broad, pour son debugage d'un problème de traffic réseau.
David Krotil pour sa traduction tchèque.
Pour me contacter : jean-francois.burdet@adm.unige.ch.
NwQuota is a small Win32 systray utility (distributed under GPL), wich provides a simple way to monitor space restrictions on any Novell Netware mapped drive. When the network drive steps some pre-defined thresholds, the systray icons changes from "OK-Green" to "Warning-Yellow", then after passing a second threshold it becomes "Danger-Red". It can also display the directory and/or volume restrictions in a nice windows using progress bar, wich makes the result undertandable by anyone (wich is not the case with ndir /spa ).
This software is distributed under the Freeware GPL terms.
1.52
1.0 , february 2000 : First release.
1.1, march 2000 : Added functions :
One command line option can be
set to force NwQuota to show detailed quota information windows as
soon as the high threshold is steped.
This function is switched
on by command ligne arg #5
P.ex nwquota H:\ 300 75 95 N Y 0 0
The user can disable the auto detailed window show feature
using a check box. This setting will be remembered as long as
NwQuota is running.
The detailed information windows has now a text line telling the user in wich state (ok, threshold1, threshold2) his quota is.
NwQuota can now report alarms to a server running a small Java daemon (provided in the zip archive)
The tooltip now also display the amount of Mo free
1.2, juillet 2000 :
When a space was added at the end of the command line parameters, NwQuota switched to the defaults. Solved.
When NwQuota was launched before the SysTray windows is created (i.e during login script) NwQuota did crashed. Solved.
Win9x users reported that NwQuota switch to "error mode" (icon with an '?') when home directory path contains directories with more than 8 chars. Solved.
Speed optimization caused "Access violation" sometimes. Now code is optimized for size only.
Dutch translation added.
1.21, juillet 2000:
NwQuota behavior was different under WinNT and Win9x when watched directory contenait long name : Solved.
1.3, oct 2000
Added : Display of NDS user attribute "Account balance", this is very usefull when using printing auditing software like PCounter wich stores user print account in this attribute.
Added : Hyperlink to web page that user can click to find help. (U. Of Geneva NwQuota custom version only : if you want to adapt this for you, please use VisualC++ editor and recompile !)
1.4, 19.10.2001
More than one drive can now be monitored :
Example :
nwquota I:\ 300 75 95 N N 0 0
nwquota H:\ 300 75 95 N N 0 0
Directory restriction now is calculated including restriction on parents directory.
1.41 : 22.10.2001
Disk percentage showed incorrect value in some cases : solved.
Minor cosmetic changes (typos ...)
NwQuota detailed window was losing focus some time : solved.
1.42 : 29.10.2001 :
Disk percentage showed incorrect value in some cases : solved.
1.43 : 15.11.2001
Threshold can now be also specified using absolute values
1.5 : 5.6.2002
Upgrading third party class CTrayNotifyIcon to version 1.45
Documentation add : "do not run nwquota.exe from a network drive"
nwquota.exe is now linked using option "Use MFC in shared DLL". Resulting exe is now smaller (~80k) but mfc42.dll needs to be on the running PC.
Compilation optimization is now "default" instead of "minimize size". The later seemed to make some crashes when nwquota was running on some versions of windows (???).
1.51 : 22.8.2002
Czech translation added.
License changed from GPL to "GPL against mines"
1.52 : 16.10.2003 :
Licence changed back to GPL since no donation at all to Handicap International was recorded.
No support at all will be provided by the author.
Code cleaning
Migrate command line parameters to an .ini file.
Server : NW4.11 / SP6a / SP8a, IPX / NW5.1 SP3 IP/IPX
Client :
Windows 95 / 98 : clients 2.2 to 3.2
Windows NT4.0 : clients 4.6 and 4.7
Windows 2000 : client 4.7
Windows XP
See the french part of this document. English users, don't worry, NwQuota will show english dialogs if you are running a non french/dutch/german version of windows.
nwquota.exe
nwquota H:\ 300 75 95 % N Y 129.194.34.5 48000
^
^ ^ ^ ^ ^ ^
^ ^
Param #
1 2 3 4 5 6 7
8 9
Parameter |
Description |
1 |
Network drive to watch. Have to be mapped on a Netware server. Can be an UNC path. |
2 |
Delay between two quota scans in seconds. 300s (5 mn) is a nice value. |
3 |
Low threshold: When the user fill out its home directory with more than this threshold, NwQuota switch to "warning mode" |
4 |
High threshold: When the user fill out its home directory with more than this threshold, NwQuota switch to "Danger mode" |
5 |
Specifies wheter thresholds defined in params #3 and #4 are percentage or absolute values in Mb.
|
6 |
<Y|N> :
|
7 |
<Y|N> :
|
8 |
IP where to report alarms :
|
9 |
IP UDP port where to report alarms :
|
Launched without parameters, NwQuota runs like it were launched with : nwquota H:\ 300 75 95 N N 0 0
nwquota.exe
nwquota.exe L:\ 300 80 95 % N Y 207.46.131.130 48000
nwquota H:\ 300 75 95 % Y N 0 0
nwquota H:\ 300 15 5 A N N 0 0
"Warning - yellow"
threshold is stepped when less than 15Mb of free space is left, then
"Danger - red" threshold is stepped when less than 5Mb is
left.
nwquota L:\
nwquota.exe L:\ 300 80 95 N Y 207.46 48000
If you have problem to make NwQuota reading the command line parameters, try to make sure you typed the command in FULL UPERCASE.
When NwQuota.exe is launched using correct value for its
parameters #8 and #9, small UDP messages are sent to the target
computer.
The target computer should run a small Java daemon
(look into the daemon directory of the nwquota zip archive) :
NwQuotaD
Last minute : A Win32 exe is now available in the daemon\bin directory wich can be run without a Java virtual machine. Please note that the snjrt11.dll (included) needs to be in the same directory or in the search path.
You must have a Java 2 (or Java 1.1)
virtual machine (or Java Runtime environment) set up on the computer
on wich you want to run the daemon.
java NwQuotaD NoPort
<Y|N> <optionel : filtre>
^ ^
^
param #
1 2
3
Parameter |
Description |
1 |
Port number : Must match with the option #9 of NwQuota.exe |
2 |
Report only "danger" type alert ? |
3 |
Option : Filter The filter in NOT case sensitive. Example
: |
Alarms will be reported on Java console screen and appended into
the nwquotalog.txt file in the current directory.
The
nwquotalog.txt then can be imported in Excel to make data reading
easier.
java NwQuotaD 48000 Y +di.administ.bastions.unige
java NwQuotaD 48000 Y -ETUDIANTS
java NwQuotaD 48000 N
Some of you fellow Internet users were cautious about bandwith needed by NwQuota, especially in the case were NwQuota is running on a lot of PCs. Running LanAnalyzer gave me the following data :
Every time a measure is made by NwQuota (every 5 mn or the value set in param #2 / every time a double-click is made on the icon), following traffic appened :
Pure IP client connection :
Unicast packets sent from client : 18. Total size : 1522 bytes.
Unicast packets received from server : 14. Total size : 1183 bytes.
The whole measure took (at least in my config) 240ms.
We see that NwQuota needs a very few network ressources ...
I do recommend to run nwquota.exe from a local drive : when running from a network drive, nwquota causes a lot of traffic when indicator is not green, that is because each time the icon is blinking (every 0.5 s), the icon ressource is reloaded from nwquota.exe ...
This software is ditributed under the GPL licence, please read carefully : http://www.gnu.org/copyleft/gpl.html
Do not turn "Speed optimization" on : this could cause the code to crash.
There is some different language ressource included in the project. You can change them to meet you needs. They are all included in nwquota.exe, to select the english one, be sure to have to regional settings set on "english" , that's why there is only one .exe included into the distribution.
IDE : Visual C++ 6.0 english Service Pack 3
Libs :
Novell NDK for C (dépendances à inclure : calwin32.lib clxwin32.lib)
CTrayNotifyIcon v1.4 class. (http://indigo.ie/~pjn/)
CToken class (case@dcs.kcl.ac.uk for its)
Main Classes :
CMainFrame
CTrayApp
The zip file containing this html document, the sources and binaries, can be downloaded following this link : http://www.unige.ch/~burdetj/nwquota/nwquota.zip
If you want to get the exe without all the stuff : http://www.unige.ch/~burdetj/nwquota/bin/nwquota.exe
If you want to get the exe with english only dialogs : http://www.unige.ch/~burdetj/nwquota/bin/nwquota.eng.exe
NwQuota.exe supports display into the following languages :
french
english
german
dutch
czech
If you want NwQuota displaying dialogs in another language, be sur to check the locale you have selected in "Regional Setting" in the Windows Control Panel.
pjn@indigo.ie pour sa classe CTrayNotifyIcon.
case@dcs.kcl.ac.uk pour sa classe CToken.
Bert Schinkel for its german translation.
Ard Blenke for its dutch translation.
Terry Broad, for his high network traffic debuging.
David Krotil for its czech translation.
To contact the author : jean-francois.burdet@adm.unige.ch.